Archive for June, 2015


Gunfright Disassembly scaled 45pc Screen Shot 2015-06-10 at 10.38.44 am

Here is a disassembly of Gunfright for zasm assembler which will assemble to a .tap file

gunfright-zasm.zip

The Skoolkit html output for the resulting .tap file can be found here.

There are also some BBEdit Applescripts in the archive folder that I use to convert the Hex Dump and Disassembler output from ZX Preview into source code that can be assembled in zasm as well as a hex dump perl script that I use to ensure that the disassembled source has not introduced errors into the .tap file compared to the original hex dump code.

zasm assembler is available here

Advertisements

ZEsarUX.app sp rom zx basic asynchronous scheduling test scaled 45pc Screen Shot 2015-06-09 at 1.28.32 pm

SP ROM ZX BASIC Demo featuring Asynchronous Scheduling using the .RUN command

SP ROM ZX BASIC Demo featuring Asynchronous Scheduling using the .RUN command.

A BASIC text file of the above is available here and an executable .p file compiled using zxtext2p is available here.

A version of the BASIC text file using labels is available here.

An Applescript BBEdit script to compile a text file to a .p file using zxtext2p can be found here.

Optionally add the –cpuspeed option in the ZEsarUX Emulator config file to reduce screen flicker when running the demo.

$ pico ~/.zesaruxrc
--zoom 4
--cpuspeed 400
# Set CPU speed in percentage

Please ensure you have the latest version of the SP ROM binary .rom file from the post below before running the above program.

Please see post below for details of how to load and run SP ROM Extended BASIC programs.

If you update a previously loaded .p file and want to re-run

Type

NEW
LOAD ""
RAND USR 8195
RUN

To re-run the program

ZEsarUX.app aszmic sp rom BASIC HRTC Test scaled 45pc Screen Shot 2015-06-08 at 12.38.17 pm

SP ROM ZX BASIC HRTC Test Program Output

SP ROM ZX BASIC Demo featuring the HiRes Text Control Language (HRTC) functions.

A BASIC text file of the above is available here and an executable .p file compiled using zxtext2p is available here.

Please ensure you have the latest version of the SP ROM binary .rom file from the post below before running the above program.

An Applescript BBEdit script to compile a text file to a .p file using zxtext2p can be found here.

Please see post below for details of how to load and run SP ROM Extended BASIC programs.

If you update a previously loaded .p file and want to re-run

Type

NEW
LOAD ""
RAND USR 8195
RUN

To re-run the program

ZEsarUX.app aszmic sp rom hires test load binary h 6600 after reset scaled 45pc Screen Shot 2015-05-30 at 2.14.06 pm

Screen dump after loading binary to $6600 and typing “this is a test of aszmic sp rom”

SP ROM programs can also be run in ZX ASZMIC debug mode Uncomment the –romfile option in the ZEsarUX Emulator config file to enable ASZMIC E07 ROM

$ pico ~/.zesaruxrc
--machine ZX81
--romfile alternaterom_aszmice07.rom
# Select custom ROM file

Leave other config file options (see post below for full config file) as they are.

A .zip file for the above example containing the .asm source with accompanying .lis listing file as well as a .bin object file is available here.

This is based on the example program in the ASZMIC SP ROM Manual pp16-17.

Launch ZEsarUX Emulator app and type

F5->Debugging->Load Binary Block (F5 e o for manual shortcut keys)

Select zx-aszmic-sp-rom-hires-test.bin

4000h

0 (for all)

This will load the .bin file as a binary file at 16384 ($4000) in the ZX ASZMIC memory map

Type

H :6600

to run Type  “this is a test of aszmic sp rom” to see text appear on the screen Press Shift-A to exit

Running ZX81 BASIC programs that use the SP ROM Extended commands can be achieved via the ZEsarUX Emulator for OS X, Linux and Windows

ZEsarUX Emulator is available here.

Install from the .dmg file (OS X)

Copy the SP ROM .ROM file sp-rom.rom (see Xcode Project in Disassembly post below) to

/Path/To/ZEsarUX-3.0/zesarux.app/Contents/Resources/alternaterom_sp_rom.rom

Edit ZEsarUX Emulator config file

$ pico ~/.zesaruxrc
--machine ZX81
#--romfile alternaterom_aszmice07.rom
# Select custom ROM file (commented out for now)
--zoom 4
--zx8081mem 16
# Emulate 1,2,...16 kb of memory on ZX80/ZX81
--zx8081ram8K2000
# Emulate 8K RAM in 2000H for ZX80/ZX81
--zx8081ram16K8000
# Emulate 16K RAM in 8000H for ZX80/ZX81
--zx8081ram16KC000 
# Emulate 16K RAM in C000H for ZX80/ZX81
--noautoload
# No autoload tape file on Spectrum (and ZX80/ZX81)
--smartloadpath "/Path/To/SP-ROM/Source/Files/"
--realvideo
--wrx
# Enable WRX mode on on ZX80/ZX81 (v3.0 and later)
--loadbinary ../Resources/alternaterom_sp_rom.rom 2000h 0
# Load binary file "file" at address "addr" with length "len" (v3.0 and later). Set len to 0 to load the entire file in memory (F5 e then o for manual shortcut)
--loadbinarypath "/Path/To/SP-ROM/Source/Files/"
# Select initial Load Binary path (v3.0 and later)

# :dbolli:20150704 17:05:18 Updated config file options for ZEsarUX v3.0

p17 of the SP ROM Manual has a sample BASIC program

ZEsarUX.app aszmic sp rom load binary manual p17 small Screen Shot 2015-06-05 at 4.51.41 pm

Sample program from p17 of SP ROM Manual

A BASIC text file of the above is available here and an executable .p file compiled using zxtext2p is available here.

An Applescript BBEdit script to compile a text file to a .p file using zxtext2p can be found here.

Launch ZEsarUX Emulator app and type

F5->Smart Load

Select .p file

 Type

POKE 16389,102
NEW

This will lower RAMTOP to $6600 to allow room for the HiRes display file

Type

LOAD ""
RAND USR 8195

ZEsarUX.app aszmic sp rom load binary RAND USR 8195 scaled 45pc Screen Shot 2015-05-30 at 10.59.32 am

Comprocsys copyright Banner appears after RAND USR 8195

You should see the Comprocsys copyright Banner appear

Press Enter

You should see the BASIC listing appear with the Extended BASIC commands

ZEsarUX.app aszmic sp rom load binary RAND USR 8195 Enter BASIC scaled 45pc Screen Shot 2015-05-30 at 11.06.23 am

ZX81 BASIC Listing with SP ROM Extended commands being edited

This can be edited as required or re-LOADed from the .p file

Type

RUN

ZEsarUX.app aszmic sp rom load binary RAND USR 8195 RUN BASIC scaled 45pc Screen Shot 2015-05-30 at 11.16.26 am

SP ROM BASIC Program executed via RUN command

You should see the HiRes display being updated as above

The SP ROM by Comprocsys Ltd was an add-on card for the ZX81 that provided 256 x 192 bitmapped graphics, reading and writing of EPROMs and communication with peripherals through a Zilog 8255 PIA chip. It could be used in conjunction with the Comprocsys ASZMIC ROM or without (via ZX81 BASIC commands).

Comprocsys ExternalCard Advert 1

Comprocsys External Card Advert

I have created a disassembly of the SP ROM from a scanned printout of a disassembly I created from the ZX81 to an Epson Dot Matrix printer in 1985.

It is available as a .zip file here which contains the binary sp-rom.rom file as well as the .asm source file and an Xcode project file.

(.zip file updated 2016-08-17)

ZX81 SP ROM Disassembly scaled 45pc Screen Shot 2015-06-05 at 4.07.28 pm

ZX81 SP ROM Disassembly Xcode Project

The original manual has been scanned and is available as a .PDF file here.

SP ROM User Manual scaled 45pc Screen Shot 2015-06-05 at 4.02.59 pm

SP ROM User Manual

Original scanned printouts from 1985 disassembly are available as a series of searchable .PDF files here.

SP ROM Disassembly Scanned Printouts Page 1 scaled 45pc cropped Screen Shot 2015-06-05 at 3.50.02 pm

SP ROM Disassembly Scanned Printouts

zasm assembler can be found here.

See article Assembling Z80 Assembler .zasm source files with BBEdit and Zasm Z80 Assembler below for more information.