Re: Need help reverse engineering Timex Store Demonstrator ROM file
Posted: Thu May 26, 2022 3:29 am
RECIPE seems to have a bug. If you enter "4" it doesn't work right
Discussion forums for users of the Sinclair 8-bit range of computers - ZX80, ZX81, ZX Spectrum, Z88, clones...
https://sinclairzxworld.com/
Code: Select all
---------------------------------------------------
$0000-$007C $FF all (255 decimal)
Corresponds to:
$4000-$407C System Variables
$007D-$1FE4 BASIC program
($407D is where a normal BASIC program resides)
$1FE5 $76 extra byte
$1FE6-$1FFF $FF all (filler/padding to fill out 8K)
---------------------------------------------------
EPROM contains a BASIC demonstration program that starts on power up.
https://www.timexsinclair.com/product/e ... onstrator/
EPROM demonstrators ... plug them onto the edge card connector of your TS1000 and then power up your computer. Instantly the program comes up running with some nifty graphics and human interactive computer excercises.
i was confused by that. Searching The ROM disassembly by Logan & O'Hara for 09DB shows:1024MAK wrote: ↑Sat Mar 05, 2022 10:07 am So the hardware replaces the pointer for where the BASIC program starts (the byte in the ZX81/TS1000 ROM at 0x09DB which is 0x40 is replaced with 0x20). Thus the BASIC ROM now looks for the BASIC program in the extra ROM at address 0x207D (8317) instead of in RAM at 0x407D (16509).[/b]
Code: Select all
CALL 09DB,LINE-ADDR
Code: Select all
09D8 LINE-ADDR PUSH HL
The demo came "built-in" to the TS 1000 merchandising display unit:David G wrote: ↑Wed May 25, 2022 1:53 am The StoreDemo BASIC program can be made to run on standard hardware, so I was thinking of why it was put into a ROM package. This is my speculation:
* no need for a cassette tape to load the program
* no need for RAM packs
This make it fairly easy for a store manager to set up. If the power goes out, the program is still in ROM. Just start it back up.
About RAM usage, the program needs less than 1K RAM for the display file. And it needs RAM for the BASIC variables, the stack and other WORKSPACE use. I'm sure it will run with the standard built-in 2K that all Timex/Sinclair TS1000 had
Code: Select all
-----------------------------------
* 000 0K (where the ZX81 ROM lives)
* 001 8K
* 010 16K (where the RAM starts)
* 011 24K
* 100 32K
* 101 40K
* 111 48K
-----------------------------------