Need help reverse engineering Timex Store Demonstrator ROM file

Discussions about Sinclair ZX80 and ZX81 Hardware
Post Reply
jdfan1000
Posts: 81
Joined: Tue Aug 02, 2016 8:06 pm
Location: Buffalo, NY
Contact:

Need help reverse engineering Timex Store Demonstrator ROM file

Post by jdfan1000 »

Hi all,

Back in 82 or so, Timex made a merchandising kiosk that retailers could purchase. It included a TS1000 and a demonstration program on EPROM. You can watch the demo program on YouTube.

A year or so later, one could purchase just the EPROM demonstrator module from E. Arthur Brown.

Well... one these modules turned up recently. And the EPROM contents have been dumped. It's a BASIC program with machine code embedded in REM statements.

A couple of folks in the US and Portugal have tried to turn it into something that can load/run on an emulator but not with much success....

Help?

Thanks!
David
Attachments
StoreDemo.rom.zip
(3.93 KiB) Downloaded 125 times
My archive.org collection, containing many Timex/Sinclair related publications.

TimexSinclair.com, my website about Sinclair computers in the US.
jipock
Posts: 4
Joined: Thu May 06, 2021 11:17 pm

Re: Need help reverse engineering Timex Store Demonstrator ROM file

Post by jipock »

If someone would like for me to burn a different rom into a different eprom and plug it into the store demonstrator, just point me to the bin you would like burned.
User avatar
XavSnap
Posts: 1940
Joined: Sat May 10, 2008 4:23 pm
Location: 'Zx81 France' Fb group.

Re: Need help reverse engineering Timex Store Demonstrator ROM file

Post by XavSnap »

Hi,
I will have a look, but you also can redirect all RAND to the REMs...

P file was corrupt...
StoreDemo.p
(8.76 KiB) Downloaded 125 times

Code: Select all

    5  REM [HEX:\
21,97,40,22,0E,40,2B,22,\
0C,40,06,19,36,76,23,10,\
FB,22,10,40,CD,9A,14,C9,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00 ]
   10  REM [HEX:\
2A,07,00,00,00,00,00,87,\
04,83,02,85,06,81,01,86,\
05,82,03,84,07,80,00,00,\
00,00,2A,0C,40,23,01,8C,\
01,3A,8D,40,FE,01,20,06,\
00,ED,4A,22,0E,40,21,8E,\
40,7E,A7,17,17,D8,17,16,\
00,CB,12,5F,21,00,1E,19,\
0E,04,06,04,56,23,5E,23,\
E5,AF,CB,12,17,CB,12,17,\
CB,13,17,CB,13,17,21,22,\
21,85,6F,7E,2A,0E,40,77,\
23,22,0E,40,10,E3,D5,11,\
1D,00,19,22,0E,40,D1,E1,\
0D,20,CF,11,80,FF,2A,0E,\
40,19,22,0E,40,7E,C9,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00 ]
   11  REM [HEX:\
08,08,08,08,08,08,08,08,\
08,08,08,08,08,08,08,08,\
08,08,08,08,08,08,08,00,\
00,08,08,08,08,08,08,08,\
08,08,08,08,08,08,08,08,\
08,08,08,08,08,08,08,08,\
08,08,08,08,08,08,00,00,\
00,08,08,08,08,08,08,08,\
08,08,08,08,08,08,08,08,\
08,08,08,08,08,08,08,08,\
08,08,08,08,08,00,00,00,\
00,08,08,08,08,08,08,08,\
08,08,08,08,08,08,08,08,\
08,08,08,08,08,08,08,08,\
08,08,08,08,00,00,00,00,\
00,08,08,08,08,08,08,08,\
08,08,08,08,08,08,08,08,\
08,08,08,08,08,08,08,08,\
08,08,08,00,00,00,00,00,\
00,08,80,08,08,08,08,08,\
08,08,08,08,08,08,80,80,\
80,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,80,80,08,08,08,08,08,\
08,08,08,08,08,80,80,80,\
80,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,08,80,08,08,08,08,08,\
00,00,00,00,00,00,00,00,\
00,00,00,00,28,34,31,3A,\
32,27,2E,26,00,00,00,00,\
00,08,08,08,08,08,08,08,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,08,80,08,08,08,08,08,\
80,80,80,80,00,00,00,00,\
00,80,80,80,80,80,80,80,\
80,80,80,80,80,80,80,80,\
00,80,80,08,08,08,08,08,\
08,08,80,80,80,80,80,80,\
80,80,80,80,80,80,80,80,\
80,80,80,80,80,80,80,80,\
80,08,80,08,08,08,08,08,\
08,08,08,08,08,08,08,08,\
08,80,80,80,80,80,80,80,\
80,80,80,80,80,80,80,80,\
08,08,08,08,08,0E,16,2A,\
0C,40,23,11,21,00,06,20,\
22,7D,40,36,08,23,05,20,\
FA,2A,7D,40,ED,5A,0D,20,\
ED,C9,B4,5C,D4,46,1E,00,\
CE,5B,00,2A,87,40,ED,5B,\
89,40,ED,4B,8B,40,ED,B0,\
C9,22,2A,0C,40,23,ED,4B,\
7F,40,ED,4A,3A,81,40,22,\
89,40,2A,83,40,22,87,40,\
2A,85,40,22,8B,40,E5,C5,\
D5,CD,52,23,D1,C1,E1,3D,\
FE,00,C8,2A,85,40,22,8B,\
40,2A,89,40,11,21,00,ED,\
5A,22,89,40,2A,87,40,11,\
20,00,ED,5A,22,87,40,18,\
D5,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,C6,00,09,00,D3,\
45,20,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00 ]
   12  REM [HEX:\
00,00,21,A3,00,22,7F,40,\
21,0C,00,22,81,40,21,AF,\
21,22,83,40,21,01,00,22,\
85,40,06,1C,C5,CD,61,23,\
2A,7F,40,2B,22,7F,40,2A,\
85,40,23,22,85,40,C1,3E,\
FA,0E,01,0D,20,FD,3D,20,\
F8,05,20,E0,06,03,C5,2A,\
7F,40,2B,22,7F,40,CD,61,\
23,C1,3E,FA,0E,64,0D,20,\
FD,3D,20,F8,05,20,E7,06,\
1B,C5,2A,83,40,23,22,83,\
40,2A,85,40,2B,22,85,40,\
CD,61,23,C1,3E,FA,0E,01,\
0D,20,FD,3D,20,F8,05,20,\
E0,C9,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00 ]              
   13  REM [HEX:\
00,80,80,80,80,80,80,80,\
80,80,80,80,80,80,80,80,\
80,80,80,80,80,80,80,80,\
80,80,80,80,80,80,80,80,\
80,80,08,08,08,08,08,80,\
08,08,08,08,80,80,00,80,\
00,00,00,00,80,00,00,00,\
00,80,00,00,00,00,80,80,\
80,80,80,80,08,80,80,80,\
08,80,80,80,80,80,00,80,\
00,80,80,00,80,00,80,80,\
00,80,00,80,80,00,80,80,\
80,80,80,80,08,80,80,80,\
08,08,08,08,80,80,00,80,\
00,80,80,00,80,00,80,80,\
00,80,00,80,80,00,80,80,\
80,80,80,80,08,80,80,80,\
80,80,80,08,80,80,00,80,\
00,80,80,00,80,00,80,80,\
00,80,00,80,80,00,80,80,\
80,80,80,80,08,80,80,80,\
08,08,08,08,80,80,00,80,\
00,00,00,00,80,00,00,00,\
00,80,00,00,00,00,80,80,\
80,80,80,80,80,80,80,80,\
80,80,80,80,80,80,80,80,\
80,80,80,80,80,80,80,80,\
80,80,80,80,80,80,80,80,\
80,B9,AD,AA,80,B5,B4,BC,\
AA,B7,80,AE,B8,80,BC,AE,\
B9,AD,AE,B3,80,BE,B4,BA,\
B7,80,B7,AA,A6,A8,AD,80,\
80,80,80,80,80,80,80,80,\
80,80,80,80,80,80,80,80,\
80,80,80,80,80,80,80,80,\
80,80,80,80,80,80,80,00,\
00,00,00,00,00,00,00,06,\
0F,21,D5,00,22,7F,40,21,\
09,00,22,81,40,21,7C,26,\
22,83,40,21,02,00,22,85,\
40,C5,CD,61,23,2A,83,40,\
2B,22,83,40,2A,7F,40,2B,\
22,7F,40,2A,85,40,23,23,\
22,85,40,C1,3E,FA,0E,01,\
0D,20,FD,3D,20,F8,05,20,\
D8,C9,00,21,00,00,22,7F,\
40,21,12,00,22,81,40,21,\
CD,28,22,83,40,21,20,00,\
22,85,40,CD,61,23,C9,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00 ]
     
   14  REM [HEX:\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,80,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,A6,B5,B7,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,1F,21,1C,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,08,08,08,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,80,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,08,08,08,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,1F,1C,1C,00,00,00,\
00,00,AB,AA,A7,00,00,00,\
00,00,08,08,08,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,80,00,00,00,00,00,\
00,00,08,08,08,00,00,00,\
00,00,08,08,08,00,00,00,\
00,00,AF,BA,B3,00,00,00,\
00,00,1E,21,1C,00,00,00,\
00,00,08,08,08,00,B2,A6,\
B7,00,08,08,08,00,00,00,\
00,00,08,08,08,00,00,00,\
00,00,80,00,00,00,AF,A6,\
B3,00,08,08,08,00,08,08,\
08,00,08,08,08,00,00,00,\
00,00,08,08,08,00,00,00,\
00,00,1E,1C,1C,00,08,08,\
08,00,08,08,08,00,08,08,\
08,00,08,08,08,00,00,00,\
00,00,08,08,08,00,00,00,\
00,00,80,00,00,00,08,08,\
08,00,08,08,08,00,08,08,\
08,00,08,08,08,00,00,00,\
00,00,08,08,08,00,00,00,\
00,00,1D,21,1C,00,08,08,\
08,00,08,08,08,00,08,08,\
08,00,08,08,08,00,B2,A6,\
BE,00,08,08,08,00,00,00,\
00,00,80,00,00,00,08,08,\
08,00,08,08,08,00,08,08,\
08,00,08,08,08,00,08,08,\
08,00,08,08,08,00,00,00,\
00,00,1D,1C,1C,00,08,08,\
08,00,08,08,08,00,08,08,\
08,00,08,08,08,00,08,08,\
08,00,08,08,08,00,00,00,\
00,00,80,00,00,00,08,08,\
08,00,08,08,08,00,08,08,\
08,00,08,08,08,00,08,08,\
08,00,08,08,08,00,00,00,\
00,00,1C,21,1C,00,08,08,\
08,00,08,08,08,00,08,08,\
08,00,08,08,08,00,08,08,\
08,00,08,08,08,00,00,00,\
00,00,80,00,00,00,08,08,\
08,00,08,08,08,00,08,08,\
08,00,08,08,08,00,08,08,\
08,00,08,08,08,00,00,00,\
00,00,80,80,80,80,80,80,\
80,80,80,80,80,80,80,80,\
80,80,80,80,80,80,80,80,\
80,80,80,80,80,80,80,80,\
00,00,00,00,2F,26,33,16,\
2F,3A,33,00,1D,25,24,1E,\
00,38,26,31,2A,38,00,29,\
26,39,26,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,\
00 ]

   15 FAST 
   16 LET A=USR 8322
   17 POKE 16388,00
   18 POKE 16389,128
   19 CLS 
   20 SLOW 
   21 GOTO 100
   22 FOR N=18483 TO 19082
   24 POKE N,0
   26 NEXT N
   28 STOP 

  100  REM "DEMO"
  101 SLOW 
  102 GOSUB 500
  105 LET C1=USR 9004
  106 LET C1=USR 10132
  107 FOR N=1 TO 50
  108 NEXT N
  109 CLS 
  110 PRINT "HELLO, I AM THE"
  115 PRINT "timex/SINCLAIR 1000."
  120 PRINT 
  130 PRINT "I AM BROUGHT TO YOU BY TIMEX."
  140 PRINT 
  150 GOSUB 1000
  160 GOSUB 2000
  170 GOSUB 3000
  190 GOSUB 5000
  195 GOSUB 6000
  200 CLEAR 
  500  REM
  510 LET A$="®®®®º..<TIMEX PRESENTS ..THE timex SINCLAIR 1000>               "
  522 FOR X=0 TO 20
  530 PRINT AT X,0;"–––––––––––––––––––––––––––––––"
  532 NEXT X
  534 FOR X=2 TO 18
  536 PRINT AT X,7;"³³³³³³³³³³³³³³³³³"
  538 NEXT X
  540 FOR X=0 TO 20
  542 PRINT AT X,0;"³"
  544 PRINT AT X,30;"³"
  546 NEXT X
  550 PRINT AT 0,0;"³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³"
  552 PRINT AT 20,0;"³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³"
  554 FOR X=4 TO 6
  556 PRINT AT X,9;"             "
  558 NEXT X
  560 FOR Y=7 TO 17
  562 PRINT AT Y,14;"   "
  564 NEXT Y
  566 PRINT AT 17,13;"     "
  568 PRINT AT 14,13;"timex"
  570 LET Y=21
  572 LET B$=""
  574 FOR X=1 TO LEN A$
  576 LET B$=A$( TO X)
  578 IF Y=9 THEN LET B$=A$(X-12 TO LEN B$)
  582 PRINT AT 5,Y;B$
  585 IF Y>9 THEN LET Y=Y-1
  593 FOR N=1 TO 3
  596 PRINT AT 21,0;"TRY ME --- PRESS ANY NUMBER KEY"
  598 NEXT N
  602 PRINT AT 21,0;"                               "
  605 IF INKEY$<>"" THEN GOTO 103
  610 NEXT X
  620 GOTO 570
  630 RETURN 
  999 GOTO 100

# REM **** GET NAME ****
 1000  REM [HEX:\
D8,D8,00,2C,2A,39,00,33,\
26,32,2A,00,D8,D8 ]

 1100 PRINT "WHAT IS YOUR FIRST NAME ?"
 1110 PRINT 
 1120 PRINT "TYPE IT IN AND THEN"
 1130 PRINT "PRESS THE ENTER KEY."
 1140 INPUT A$
 1150 PRINT 
 1151 PRINT AT 10,0;"IS ";A$;" YOUR CORRECT NAME ?"
 1152 PRINT AT 12,0;"PRESS Y FOR YES"
 1153 PRINT "PRESS N FOR NO"
 1154 PRINT "THEN PRESS ENTER"
 1155 INPUT Y$
 1156 IF Y$="Y" THEN GOTO 1160
 1157 PRINT AT 18,0;"LETS TRY AGAIN--ENTER YOUR NAME"
 1158 PRINT "THEN PRESS ENTER"
 1159 INPUT A$
 1160 CLS 
 1162 PRINT AT 6,0;"A WARM WELCOME TO...."
 1164 LET K=LEN A$
 1166 IF K>7 THEN LET K=7
 1168 FOR N=1 TO K
 1170 LET B$=A$(N TO N)
 1172 POKE 16526,CODE B$
 1174 POKE 16525,N
 1176 LET C1=USR 8502
 1178 NEXT N
 1187 FOR N=1 TO 50
 1189 NEXT N
 1190 CLS 
 1200 RETURN 

# REM **** MATH GAMES1 ****
 2000  REM [HEX:\
D8,D8,00,32,26,39,2D,00,\
2C,26,32,2A,38,1D,00,D8,\
D8 ]

 2100 PRINT "OK ";A$;","
 2110 PRINT "NOW TO TEST YOUR MATH SKILLS."
 2120 PRINT 
 2130 LET B=INT (RND*20)+10
 2140 LET C=INT (RND*20)+10
 2150 LET D=B+C
 2160 PRINT "HOW MUCH IS---->";B
 2170 PRINT "              + ";C
 2180 PRINT "                ¸¸"
 2185 PRINT AT 6,0;"ENTER ANSWER THEN PRESS ENTER"
 2190 INPUT E
 2200 PRINT AT 6,0;"                ";E;"             "
 2210 IF E<>D THEN GOTO 2280
 2220 PRINT 
 2230 PRINT "**VERY GOOD** ";D;" IS correct."
 2270 RETURN 
 2280 PRINT 
 2290 PRINT "I AM SORRY ";A$;","
 2300 PRINT E;" IS THE WRONG ANSWER."
 2310 FOR N=1 TO 25
 2320 NEXT N
 2330 PRINT 
 2340 PRINT "THE ANSWER IS ";D;"."
 2345 LET E=D
 2350 FOR N=1 TO 25
 2360 NEXT N
 2399 RETURN 

# REM **** MATH GAMES2 ****
 3000  REM [HEX:\
D8,D8,00,32,26,39,2D,00,\
2C,26,32,2A,38,1E,00,D8,\
D8 ]

 3190 LET D=E
 3200 PRINT 
 3220 PRINT 
 3230 PRINT "NOW WATCH WHAT ELSE I CAN DO."
 3240 FOR N=1 TO 25
 3250 NEXT N
 3260 PRINT 
 3270 PRINT "THE SIN OF ";D;" IS ";SIN (D/180*PI)
 3280 PRINT "THE COS OF ";D;" IS ";COS (D/180*PI)
 3290 PRINT "THE TAN OF ";D;" IS ";TAN (D/180*PI)
 3300 IF D<0 THEN GOTO 3320
 3310 PRINT "THE SQR OF ";D;" IS ";SQR ABS D
 3320 PRINT 
 3330 PRINT "I AM A TRIGONOMETRY WIZARD."
 3340 FOR N=1 TO 50
 3350 NEXT N
 3360 CLS 
 3370 RETURN 

# REM **** GRAPHICS2 ****
 5000  REM [HEX:\
D8,D8,00,2C,37,26,35,2D,\
2E,28,38,1E,00,D8,D8 ]

 5100 CLS 
 5110 PRINT AT 4,0;"WITH THE TS1000...."
 5112 PRINT 
 5114 PRINT "THE power IS WITHIN YOUR reach"
 5116 PRINT AT 8,0;"WITH THAT power YOU...."
 5118 PRINT "COULD LEARN TO GUIDE THE..."
 5120 FOR N=1 TO 50
 5130 NEXT N
 5181  REM
 5182 LET K$="SHUTTLE"
 5184 FOR N=1 TO 7
 5186 LET B$=K$(N TO N)
 5188 POKE 16526,CODE B$
 5190 POKE 16525,N
 5192 LET C1=USR 8502
 5193 NEXT N
 5194 PRINT 
 5195 PRINT AT 17,0;"WHERE COMPUTERS PERFORM A KEY"
 5196 PRINT "ROLE IN CONTROLLING THE WORLDS"
 5197 PRINT "FIRST RE-USEABLE SPACECRAFT ON  ITS 90 MINUTE ORBIT OF THE EARTH"
 5198 FOR N=1 TO 100
 5199 NEXT N
 5200 LET C1=USR 9004
 5210 LET C1=USR 9232
 5310 LET C1=USR 9004
 5320 LET C1=USR 10132
 5325 FOR N=1 TO 50
 5330 NEXT N
 5790 CLS 
 5792 PRINT AT 5,0;"THE TS1000 CAN BE USED FOR"
 5794 PRINT "GRAPHICALLY DISPLAYING YOUR DATA"
 5796 PRINT AT 9,2;"FOR EXAMPLE-- A BAR GRAPH"
 5798 FOR N=1 TO 80
 5799 NEXT N
 5800 LET C1=USR 10200
 5815 FOR N=1 TO 75
 5820 NEXT N
 5830 LET C1=USR 10132
 5840 FOR N=1 TO 30
 5845 NEXT N
 5999 RETURN 

# REM **** RECIPE ****
 6000  REM [HEX:\
D8,D8,00,37,2A,28,2E,35,\
2A,00,D8,D8 ]

 6100 LET X=4
 6105 CLS 
 6110 PRINT "** timex RECIPE GENERATOR **"
 6120 PRINT 
 6130 PRINT "**** STUFFED CHICKEN ****"
 6140 PRINT 
 6150 PRINT 3*X/4;" LB(S). WHOLE CHICKEN"
 6160 PRINT 1*X/4;" LB(S). FRESH SPINACH"
 6170 PRINT 1/2*X/4;" CUP(S) RICOTTA CHEESE"
 6180 PRINT 1/2*X/4;" CUP(S) PARMESAN CHEESE"
 6190 PRINT 1*X/4;" EGG YOLK(S)"
 6200 PRINT 1/2*X/4;" TEASPOON(S) SEASONING"
 6210 PRINT 1/2*X/4;" TEASPOON(S) PAPRIKA"
 6220 PRINT 
 6230 PRINT "*************************"
 6240 PRINT 
 6250 PRINT "THIS WILL SERVE ";X
 6255 IF X<>4 THEN GOTO 6360
 6257 PRINT 
 6260 PRINT "HOW MANY WOULD YOU SERVE ?"
 6265 PRINT "ENTER ANSWER AND PRESS ENTER"
 6270 INPUT X
 6280 PRINT X
 6290 IF X<>4 THEN GOTO 6105
 6300 PRINT "THIS RECIPE IS FOR 4"
 6310 PRINT "PLEASE TRY AGAIN"
 6320 FOR N=1 TO 10
 6330 NEXT N
 6340 CLS 
 6350 GOTO 6260
 6360 PRINT 
 6370 PRINT "MEAL PLANNING ON YOUR TS1000----ITS EASY"
 6372 FOR N=1 TO 75
 6374 NEXT N
 6376 LET C1=USR 9004
 6378 LET C1=USR 10132
 6385 PRINT AT 20,2;"THANK YOU ";A$
 6387 FOR N=1 TO 75
 6390 NEXT N
 6400 CLS 
 6410 RETURN 
 9000 STOP 
 9010 INPUT X
 9020 LET D$=""
 9030 IF D$="" THEN INPUT D$
 9040 IF D$="S" THEN STOP 
 9050 POKE X,16*CODE D$+CODE D$(2)-476
 9055 PRINT X;" ";D$
 9060 LET X=X+1
 9070 LET D$=D$(3 TO )
 9080 GOTO 9030
 9100 INPUT A
 9110 INPUT B
 9120 PRINT A;" ";B
 9130 POKE A,B
 9140 LET A=A+1
 9150 GOTO 9110
 9200 FOR N=18700 TO 18994 STEP 32
 9205 POKE N+1,8
 9207 POKE N+2,8
 9210 POKE N,8
 9230 NEXT N
The hardware card seem to redirect the RAM memory $4000 to the offset $2000.

EDIT:
TODO...
Load "StoreDemo.rom" to the $2000 offset.
Load "StoreDemo.P"
Type rum.
But the TS1000 screen erase the Basic RAM... You had to delete all USR 10132.
May be caused by the VARS location moved to the card memory...
Xavier ...on the Facebook groupe : "Zx81 France"(fr)
superfo
Posts: 74
Joined: Wed Jul 08, 2009 9:12 am

Re: Need help reverse engineering Timex Store Demonstrator ROM file

Post by superfo »

Someone from this forum reverse engineer long time ago
Attachments
ts1000 demo board.JPG
User avatar
1024MAK
Posts: 5103
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: Need help reverse engineering Timex Store Demonstrator ROM file

Post by 1024MAK »

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).

Mark
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp

:!: Standby alert :!:
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :!:
Looking forward to summer later in the year.
jdfan1000
Posts: 81
Joined: Tue Aug 02, 2016 8:06 pm
Location: Buffalo, NY
Contact:

Re: Need help reverse engineering Timex Store Demonstrator ROM file

Post by jdfan1000 »

Wow, that’s fantastic! You guys are awesome :)
My archive.org collection, containing many Timex/Sinclair related publications.

TimexSinclair.com, my website about Sinclair computers in the US.
Encarnado
Posts: 2
Joined: Sat Mar 05, 2022 7:22 pm
Contact:

Re: Need help reverse engineering Timex Store Demonstrator ROM file

Post by Encarnado »

Still, is it possible to do a tape version without the need of the ROM?
Timex Computer World
jojo
Posts: 129
Joined: Mon Mar 16, 2020 5:25 pm

Re: Need help reverse engineering Timex Store Demonstrator ROM file

Post by jojo »

let's hope someone does make a replacement pcb for this
Zx81-16k exp.- Spectrum 48 - Spectrum 128- Interface 1 - DIVide - Zx flashcard- Zx printer - Ram turbo-Velleman interface system-Currah microspeech -Ql - 512k exp.- Ql printer - Cst floppy interf.- Double 3.5 floppy- Minerva - Qimi-and much more .
User avatar
mrtinb
Posts: 1906
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

Re: Need help reverse engineering Timex Store Demonstrator ROM file

Post by mrtinb »

I guess the Basic would run fine on address $4000, and the ML has to be copied to RAM at adresss $2000. Shouldn’t this solve the problem?
Martin
https://zx.rtin.be
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube
Encarnado
Posts: 2
Joined: Sat Mar 05, 2022 7:22 pm
Contact:

Re: Need help reverse engineering Timex Store Demonstrator ROM file

Post by Encarnado »

mrtinb wrote: Sun Mar 06, 2022 11:22 am I guess the Basic would run fine on address $4000, and the ML has to be copied to RAM at adresss $2000. Shouldn’t this solve the problem?
I tryed it but when I change the addresses on BASIC it simply crashes. The machine code is on the REM statements but I don't know if any (probably) of it addresses the ROM.
Timex Computer World
Post Reply