Top 10k strings from HC2K-shadowROM.rtf
in <root> / doc / technical / RoelofKoning / HC2K-shadowROM.zip /
Back to the directory listing
19 C9 RET \par 15 A7 AND A \par 11 C0 RET NZ \par 8 \cf1\b\par 7 23 INC HL \par 6 \pard\nowidctlpar\tx994\tx2414\par 5 ;----------\par 5 E1 POP HL \par 5 AF XOR A \par 4 \pard\nowidctlpar ----|----\par 4 ;---------------------------------------------------------------------\cf0\b0\par 4 FB EI \par 4 E5 PUSH HL \par 4 DDE5 PUSH IX \par 4 DD7E0B LD A,(IX+11) \par 4 19 ADD HL,DE \par 3 \pard\nowidctlpar\par 3 \cf1 ;cont\cf0\par 3 ;-----\par 3 ;-------\par 3 ;---------\par 3 ----|----\par 3 F3 DI \par 3 B7 OR A \par 3 B5 OR L \par 3 7C LD A,H \par 3 5F LD E,A \par 3 47 LD B,A \par 3 37 SCF \par 3 2B DEC HL \par 3 1F RRA \par 2 \cf1\b ;NEW!!!!!!!!!!!\cf0\b0\par 2 \cf0\b0\par 2 ?????????\cf0\b0\par 2 ;new channel\par 2 ;=====\par 2 ;2 x called\par 2 ;-----------------------------------------------------\par 2 ;-----------------------------------------------------------------\par 2 F5 PUSH AF \par 2 F1 POP AF \par 2 E7 RST 20h \par 2 DD7E14 LD A,(IX+20) \par 2 DD7714 LD (IX+20),A \par 2 DD340E INC (IX+14) \par 2 DD2B DEC IX \par 2 DD23 INC IX \par 2 DD19 ADD IX,DE \par 2 DBF7 IN A,(247) \par 2 D5 PUSH DE \par 2 D3FE OUT (254),A \par 2 D3F7 OUT (247),A \par 2 D3F7 OUT (247),A ;network\par 2 D1 POP DE \par 2 CDE521 CALL \b 8677\b0 \par 2 CDE00B CALL 3040 \b ; BORD-REST\b0\par 2 C8 RET Z \par 2 C48422 CALL NZ,\b 8836\b0 \par 2 7B LD A,E \par 2 77 LD (HL),A \par 2 3E01 LD A,1 \par 2 3D DEC A \par 2 3ACE5C LD A,(23758) ;dest station\par 2 1E08 LD E,8 \par 2 1E01 LD E,1 \par 2 1C INC E \par 2 1600 LD D,0 \par 2 111500 LD DE,21 \par 2 0F RRCA \par 2 060E LD B,14 \par 2 0607 LD B,7 \par 2 011401 LD BC,276 \par 2 00 NOP \par 1 {\rtf1\ansi\ansicpg1252\deff0\deflang1033\deflangfe1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Courier New;}} 1 {\colortbl ;\red255\green0\blue0;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue0;} 1 published results are complete or even correct! \par 1 needs (which concentrates on disk access), so there is no guarantee that the \par 1 identifies BASIC as "\ul HC2000 ICE FELIX COMPUTER SA\ulnone " (extra 14446,22) and the\par 1 by Roelof Koning 2005/6. It's an ongoing job only ment to suit my personal \par 1 and a separate 16K IF1 ROM. The version that I downloaded from internet \par 1 \viewkind4\uc1\pard\nowidctlpar\lang2057\ul\b\f0\fs24 ICE Felix HC2000 - IF1\ulnone\b0\fs18 \cf1 7-1-2006\cf0 Please remove older versions. \par 1 \ul The Disk Routines use the RAM found on addr. 10240-11263!\ulnone\par 1 \tab\tab\tab\tab\tab ;valid hooks are 27-32 and 45-60\par 1 \tab\tab\tab\tab\tab ;\tab if no 'execute!\cf0\par 1 \tab\tab\tab\tab\tab ;\par 1 \tab\tab\tab\tab\tab ; OUT (C), (HL)10564\par 1 \tab\tab\tab MAINSTATU\b S port= \b0 133\par 1 \tab\tab DEFM "Wrong file typ"\tab\tab ;=22\par 1 \tab\tab DEFM "Writing to a 'read' fil"\tab ;=12\par 1 \tab\tab DEFM "Verification has faile"\tab ;=21\par 1 \tab\tab DEFM "Stream already ope"\tab\tab ;=11\par 1 \tab\tab DEFM "Reading a 'write' fil"\tab ;=13\par 1 \tab\tab DEFM "Nonsense in BASI"\tab\tab ;=0\par 1 \tab\tab DEFM "Missing station numbe"\tab ;=7\par 1 \tab\tab DEFM "Missing nam"\tab\tab\tab ;=6\par 1 \tab\tab DEFM "Missing drive numbe"\tab\tab ;=8\par 1 \tab\tab DEFM "Missing baud rat"\tab\tab ;=9\par 1 \tab\tab DEFM "MERGE erro"\tab\tab\tab ;=20\par 1 \tab\tab DEFM "Invalid stream numbe"\tab\tab ;=1\par 1 \tab\tab DEFM "Invalid station numbe"\tab ;=5\par 1 \tab\tab DEFM "Invalid nam"\tab\tab\tab ;=3\par 1 \tab\tab DEFM "Invalid drive numbe"\tab\tab ;=4\par 1 \tab\tab DEFM "Invalid device expressio"\tab ;=2\par 1 \tab\tab DEFM "Hook code erro"\tab\tab ;=18\par 1 \tab\tab DEFM "Header mismatch erro"\tab\tab ;=10\par 1 \tab\tab DEFM "File not foun"\tab\tab\tab ;=17\par 1 \tab\tab DEFM "File 'R/O"\tab\tab\tab ;=24\tab extra\par 1 \tab\tab DEFM "Disk ful"\tab\tab\tab ;=15\par 1 \tab\tab DEFM "Disk erro"\tab\tab\tab ;=16\par 1 \tab\tab DEFM "Disk 'write' protecte"\tab ;=14\par 1 \tab\tab DEFM "Disk 'R/O"\tab\tab\tab ;=23\tab extra tov IF1\par 1 \tab\tab DEFM "CODE erro"\tab\tab\tab ;=19\par 1 \tab F10E\tab ;3825\tab ;53 $35\tab - read seq. byte from file \b sector!\b0\par 1 \tab F10E\tab 3825\par 1 \tab E11D \tab ;7649\tab 2\tab open file\par 1 \tab D10D \tab 3537\tab\tab ;NEW ROUTINE HANDLING 'SERVICES'\par 1 \tab CD0D\tab ;3533\tab ;50 $32 - \cf3 HOOK-32\cf0 \tab (run a 'shadow' routine)\par 1 \tab CD0D \tab 3533\tab\tab ; \par 1 \tab C1 \tab POP BC \par 1 \tab BE01 \par 1 \tab AE22 \tab 8878\tab\tab ; CLOSE-N\par 1 \tab 9620\tab ;8342\tab ;48 $30\cf3 - WRITE-N\tab\tab\cf2 (send bit packet to network)\par 1 \tab 9620 \tab 8342\tab\tab ; WRITE-N\par 1 \tab 9121\tab 8593\tab\tab ; OPEN-N\par 1 \tab 820A \tab\par 1 \tab 6211\tab ;4450\tab ;59 $3B\tab - erase file on disk\par 1 \tab 6211\tab 4450\par 1 \tab 4B10\tab ;4171\tab ;56 $38 - \cf1\b CLEAR-D\cf0\b0 (\cf1\b remove 'D' channel) \cf2\b0 see hook#23 IF1\par 1 \tab 4B10\tab 4171\par 1 \tab 4015\tab ;5440\tab ;60 $3D\tab - open RS232 channel \par 1 \tab 3E0F\tab ;3902 \tab ;54 $36 - write seq. byte to file \b sector!\b0\par 1 \tab 3E0F \tab 3902\par 1 \tab 36 \tab \tab ;54\par 1 \tab 350B\tab ;2869\tab ;29 $1D - \cf3 BCHAN-IN\cf0 \tab (byte from RS232)\par 1 \tab 350B \tab 2869\tab\tab ; $1D - BCHAN-IN\par 1 \tab 251E \tab ;7717\tab 7\tab read sequential byte from file\par 1 \tab 2010\tab ;4128 \tab ;52 $34 - close a file on disk\par 1 \tab 2010\tab 4128\tab\tab ; \par 1 \tab 200E\tab ;3616\tab ;28 $1C - \cf3 CONS-OUT\cf0\tab\tab (print a char on screen)\par 1 \tab 200E\tab 3616\tab\tab ; $1C - CONS-OUT\par 1 \tab 1C1E\tab ;7708\tab 6\tab erase file\par 1 \tab 190F\tab 3865\tab ;out write byte to D\par 1 \tab 10\tab\tab ;16\par 1 \tab 10\tab ;\par 1 \tab 10 \tab \par 1 \tab 0E \tab \par 1 \tab 08 \tab \par 1 \tab 05 \tab \par 1 \tab 03\par 1 \pard\nowidctlpar\tx994\tx2414\tab \par 1 \pard\nowidctlpar\tx994\tx2414\cf1\b ;#0486 CAT-SYN \cf0\b0\par 1 \pard\nowidctlpar\tx994\tx2414\cf1\b ;#0000 MAIN-ROM \cf0\b0\par 1 \pard\nowidctlpar\tx994\tx2414\cf0 08170 01\tab\tab ;Drive type always 1\par 1 \pard\nowidctlpar\tx994\tx2414\b 05536\b0 CD1A17 \tab CALL 5914 ;do service 'C'\par 1 \pard\nowidctlpar\tx994\tx2414 06479 D5 \tab PUSH DE \par 1 \pard\nowidctlpar\tx994\tx2414 05896 23 \tab INC HL \par 1 \pard\nowidctlpar\tx994\tx2414 05408 210400 \tab LD HL,4 \par 1 \pard\nowidctlpar\tx994\tx2414 05379 FF RST #38 \par 1 \pard\nowidctlpar\tx994\tx2414 01302 \tab F7 \tab RST #30 \par 1 \pard\nowidctlpar\tx994\tx2414 01276 \tab CD3106 \tab CALL 1585 \par 1 \pard\nowidctlpar\tx994\tx2414 01262 \tab CD1B06 \tab CALL 1563 \par 1 \pard\nowidctlpar\tx994\tx1846\tx2840\cf0 05472 \tab 0D0E\tab ;3597\tab ;27 $1B - \cf3 CONS-IN \cf0 \tab (read a key)\par 1 \pard\nowidctlpar\tx2414 05377 18F2 \tab JR 05365 \par 1 \pard\nowidctlpar\cf1\b ;0559 CLR#-SYN\cf0\b0\par 1 \pard\nowidctlpar\cf1\b ;053D MOVE-SYN\cf0\b0\par 1 \pard\nowidctlpar\cf1\b ;0531 ERASE-SYN\cf0\b0\par 1 \pard\nowidctlpar\cf0 ;controller is equivalent to uPD765A(NEC), Z765A(Zilog), or 8272A(Intel).\par 1 \pard\nowidctlpar Decoding after sequential download\b :\b0 1,9,2,1\b 0\b0 ,3,11,4,\b 1\b0 2,5,13,6,\b 1\b0 4,7,15,8,\b 16,-9-\par 1 \pard\nowidctlpar ; -----------------------------------------\par 1 \pard\nowidctlpar 05750\tab DEFB #FF, etc.\par 1 \pard\nowidctlpar 05471 FF RST #38 \par 1 \pard\nowidctlpar 05391 FF RST #38 \par 1 \pard\nowidctlpar 01616 \tab DEFB #FF,#FF etc.\par 1 \pard\nowidctlpar ----|-----\par 1 \cf3\tab\cf2 AE22\tab ;8878\tab ;46 $2E\cf3 - CLOSE-N\tab\tab\cf2 (close network channel)\par 1 \cf3\tab\cf2 9121\tab ;8593\tab ;45 $2D\cf3 - OPEN-N\tab\tab\cf2 (open network channel)\par 1 \cf3 ;######################################################### begin of long sub! ##### \par 1 \cf3 07787\cf0 228629 \tab LD (10630),HL not used????\par 1 \cf3 ##########################################################################\par 1 \cf3 ############################################################# end of long sub!\cf0\par 1 \cf2\b 08192\b0 DD2A515C LD IX,(23633)\tab ;curr chan\par 1 \cf2 There appearently exist HC2000 that have a 32K EPROM holding BASIC and CP/M\par 1 \cf2 ;on entry BC holds the address of a parametertable, IY is pointing to that table.\cf3\par 1 \cf2 ;Also end of RAM!\par 1 \cf2 08169 DEFB #FF\cf1\par 1 \cf1\ul\b ;NO-FORMAT-M\cf0\ulnone\b0\par 1 \cf1\b0 Is this decoding seq. correct??????? sect 2 must be in 8th pos?????????\cf0\par 1 \cf1\b WRITE FDC DATA REGISTER (1x used)\cf0\b0\par 1 \cf1\b HOOK-#3B dec 59 erase file\par 1 \cf1\b For the first 3.5K:\cf0\b0 see Sinclair IF1 disassembly, the routines are 99% equal!\par 1 \cf1\b FORMAT "D"\par 1 \cf1\b ?????????\cf0\b0\par 1 \cf1\b ;write sector data\b0 called 1 x from 4938\cf0\par 1 \cf1\b ;write byte to D channel \cf0 = output addr 'd' chan\par 1 \cf1\b ;sub: Reclaim temp chans --- see #17B9 IF1 -------\cf0\b0\par 1 \cf1\b ;prepare new track number 1 x used (4890)\cf0\b0\par 1 \cf1\b ;insert default values from HL into new made 'room'\par 1 \cf1\b ;input from 'D' channel \par 1 \cf1\b ;fetch & store Present Cylinder nr (1x used)\cf0\b0\par 1 \cf1\b ;do a 'service', return channel offset\cf0\b0\par 1 \cf1\b ;do LOAD/VERIFY on D channel---------see 02577-----------------\cf0\b0\par 1 \cf1\b ;chan 'D" table\cf0\b0\par 1 \cf1\b ;\b0 adjust range\cf0\par 1 \cf1\b ;WRITE a COMMAND SEQUENCE to Floppy Controller (11x used)\par 1 \cf1\b ;WRITE A FILE TO 'D' CHANNEL \cf0\b0 ------ called 1x, by SAVE-M 02021 \par 1 \cf1\b ;Timing TABLE\cf0\b0\par 1 \cf1\b ;The space 05551 - 05896 is not used in all IF1 ROMs !!!!\par 1 \cf1\b ;Table\cf0\b0\par 1 \cf1\b ;TRACKSTORE drv 1 or 2 \b0 (10625 or 10626)\b (2x used)\par 1 \cf1\b ;TEST BREAK ?????\cf0\b0\par 1 \cf1\b ;TABLE of 24 SERVICE ROUTINE ADDRESSES \par 1 \cf1\b ;Set FDC timers, init\cf0\b0\par 1 \cf1\b ;SET TRACK\par 1 \cf1\b ;SERVICE ROUTINE 1 \cf2 select drive \cf0\b0\par 1 \cf1\b ;RESET DRIVE to trk 0\cf0\b0\par 1 \cf1\b ;READ sector data from FDC \par 1 \cf1\b ;READ FDC DATA REGISTER (1x used)\cf0\b0\par 1 \cf1\b ;PREPARE SEEK COMMAND C=15,B=3\cf0\b0 1x used! \b SEEK\b0\par 1 \cf1\b ;OP-M-C\cf0\b0\par 1 \cf1\b ;NOT-OP-M\cf0\b0\par 1 \cf1\b ;NOT-OP-B\cf0\b0\par 1 \cf1\b ;MOTOR OFF\cf0\b0\par 1 \cf1\b ;MAKE ROOM FOR CHANNEL\cf0\b0\par 1 \cf1\b ;INTERLEAVE TABLE\cf0\b0\par 1 \cf1\b ;HOOK-SERVICE ---- run a service routine\cf0\b0\par 1 \cf1\b ;HOOK-#3D dec 60 open a RS232 channel \cf0\b0\par 1 \cf1\b ;HOOK-#38 dec 56 remove 'D' channel \cf0\b0 see:#119F=IF1 \par 1 \cf1\b ;HOOK-#37 dec 55 MAKE 'D' channel -------------------------------- \cf0\b0\par 1 \cf1\b ;HOOK-#34 dec 52 close a file on disk\par 1 \cf1\b ;HOOK-#33 dec 51 Open a file on disk. If nonexisting then it is created\par 1 \cf1\b ;HOOK- CALPHY --- call a physical decice\cf0\b0\par 1 \cf1\b ;HOOK CREATE-NEW-VARS.\tab\tab \tab\tab ;this is done already on entry!\cf0\b0\par 1 \cf1\b ;FORMAT-D\cf0\b0\par 1 \cf1\b ;FORMAT-B-T\cf0\b0\par 1 \cf1\b ;DO SERVICE ROUTINES, nr in C\par 1 \cf1\b ;DEFAULT COMMAND TABLE-2\cf0\b0\par 1 \cf1\b ;09F7 CRT-NEW\cf0\b0\par 1 \cf1\b ;0663 # NREPORT-2\cf0\b0\par 1 \cf1\b ;052F NREPORT-C\cf0\b0\par 1 \cf1\b ;04ED OPEN-SYN\cf0\b0\par 1 \cf1\b ;--- sub from open-D-chan ---------\cf0\b0 see 01257\par 1 \cf1\b ;--- sub from CAT command see 1102 ------------------------------ \cf0\b0\par 1 \cf1\b ;#NREPORT-3\cf0\b0\par 1 \cf1\b ;#L09CB TST-TYPE\cf0\b0\par 1 \cf1\b ;#880 SA-BYTE\cf0 SUB -----------------\b0\par 1 \cf1\b ;#1EF5 KBD-TEST\cf0\b0\par 1 \cf1\b ;#1EF0 PRT-OUT\cf0\b0\par 1 \cf1\b ;#1EE0 CONSole-OUT\cf0\b0\par 1 \cf1\b ;#1ECD CONSole-IN\cf0\b0\par 1 \cf1\b ;#1E99 HOOK-TABLE really used! \cf2 (the copy from 3555!)\par 1 \cf1\b ;#1E99 HOOK-TAB not used! \cf2 CORRECT version at 5472\cf0\b0\par 1 \cf1\b ;#1E94 HOOK-32 ---- run a routine in shadow rom\cf0\b0\par 1 \cf1\b ;#1E77 CLR-ERR \cf2 there is no error, just a hook code\cf0\b0\par 1 \cf1\b ;#1E71 HOOK-CODE tested and adjusted\cf0\b0\par 1 \cf1\b ;#1D5B PR-NAME\cf0\b0\par 1 \cf1\b ;#1A82 REST-N-AD\cf0\b0\par 1 \cf1\b ;#18BC CL-CHK-N\cf0\b0\par 1 \cf1\b ;#18A8 CL-CHAN \cf0 close channel\b0\par 1 \cf1\b ;#1899 USE-R\cf0\b0\par 1 \cf1\b ;#188F CHECK-R\cf0\b0\par 1 \cf1\b ;#1883 CHECK-N\cf0\b0\par 1 \cf1\b ;#186A OP-CHAN\cf0\b0\par 1 \cf1\b ;#1859 OP-STRM\cf0\b0\par 1 \cf1\b ;#1832 MOVE-EOF\cf0\b0\par 1 \cf1\b ;#1827 MOVE-OUT\cf0\b0\par 1 \cf1\b ;#17F5 MOVE\cf0\b0\par 1 \cf1\b ;#1718 CLOSE --------------------------------------\cf0\b0\par 1 \cf1\b ;#1708 CLOSE-CH \cf0\b0\par 1 \cf1\b ;#0D98 INKEY$\cf0\b0\par 1 \cf1\b ;#0D7E IN-AG-RETurn --- differing---\cf0\b0\par 1 \cf1\b ;#0D5A CALL-INP \cf0 INPUT from CHAN\par 1 \cf1\b ;#0D4D BORD-REST\cf0\b0\par 1 \cf1\b ;#0D07 BCHAN-OUT\cf0\b0\par 1 \cf1\b ;#0C3A TCHAN-OUT\cf0\b0\par 1 \cf1\b ;#0BD8 BD-DELAY\cf0\b0\par 1 \cf1\b ;#0BAF READ-RS232\cf0\b0\par 1 \cf1\b ;#0B88 BCHAN-IN\cf0\b0\par 1 \cf1\b ;#0B7C B-INPUT\cf0\b0\par 1 \cf1\b ;#0B76 T-INPUT\cf0\b0\par 1 \cf1\b ;#0B6B TCHAN-DAT\cf0\b0\par 1 \cf1\b ;#0B62 TCHAN-IN\cf0\b0\par 1 \cf1\b ;#0B4E OP-RSCHAN\cf0\b0\par 1 \cf1\b ;#0B17 OP-RS-CH\cf0 (Open RS232 channel in chans-area)\b0\par 1 \cf1\b ;#0AF3 RS-CONSTANTS \cf0 table of RS232 constants\par 1 \cf1\b ;#0AE8 END-SET\cf0\b0\par 1 \cf1\b ;#0ACD SET-BAUD\cf0\b0\par 1 \cf1\b ;#0ACA NAME-RUN\cf0\b0\par 1 \cf1\b ;#0A99 LOAD-RUN\cf0\b0\par 1 \cf1\b ;#0A60 LV-ANY \cf0\b0 \b LOAD/VERIFY new\b0\par 1 \cf1\b ;#0A19 SET-PROG\cf0\b0\par 1 \cf1\b ;#09EC RCLM-OLD\cf0\b0\par 1 \cf1\b ;#09B9 LD-PROG\cf0\b0\par 1 \cf1\b ;#09A7 LD-PR-AR\cf0\b0\par 1 \cf1\b ;#0998 TST-MR-N \cf0\b0\par 1 \cf1\b ;#0977 NO-AUTOST\cf0\b0\par 1 \cf1\b ;#0945 LD-BLK-3 -- 5 !!!\cf0\b0\par 1 \cf1\b ;#0934 NREPORT-L\cf0\b0\par 1 \cf1\b ;#091D LD-BLOCK\cf0\b0\par 1 \cf1\b ;#0908 TST-MERGE\cf0\b0\par 1 \cf1\b ;#0906 NREPORT-N\cf0\b0\par 1 \cf1\b ;#08F6 TEST-TYPE\cf0\b0\par 1 \cf1\b ;#08DC LD-HEADER\cf0\b0 NEW!??????\par 1 \cf1\b ;#08DC LD-HEADER\cf0\b0\par 1 \cf1\b ;#08AC MERGE-SYN\cf0\b0\par 1 \cf1\b ;#08A2 VERIF-SYN\cf0\b0\par 1 \cf1\b ;#0898 LOAD-SYN\cf0\b0\par 1 \cf1\b ;#084F SA-HEADER\cf0\b0\par 1 \cf1\b ;#082F SAVE-SYN\cf0\b0\par 1 \cf1\b ;#0819 NUM-ARR\cf0\b0\par 1 \cf1\b ;#07F6 G-TYPE\cf0\b0\par 1 \cf1\b ;#07D2 DATA\cf0\b0\par 1 \cf1\b ;#0789 CODE\cf0\b0\par 1 \cf1\b ;#0771 SCREEN$\cf0\b0\par 1 \cf1\b ;#0753 PROG\cf0\b0\par 1 \cf1\b ;#0750 END-EXPT\cf0\b0\par 1 \cf1\b ;#073E LINE\cf0\b0\par 1 \cf1\b ;#073C OREP-1-2\cf0\b0\par 1 \cf1\b ;#0716 NO-NAME\cf0\b0\par 1 \cf1\b ;#0701 ; EXPT-PRMS\cf0\b0\par 1 \cf1\b ;#06B9 EXPT-EXP1 \cf0\b0 \par 1 \cf1\b ;#06B0 TEST-BAUD\cf0\b0\par 1 \cf1\b ;#06A3 EXPT-EXPR\cf0\b0\par 1 \cf1\b ;#06A1 NREPORT-8\cf0\b0\par 1 \cf1\b ;#069F NREPORT-6\cf0\b0\par 1 \cf1\b ;#068F TEST-STAT \cf2 test station number\cf0\b0\par 1 \cf1\b ;#0685 TEST-MNAM\cf0\b0\par 1 \cf1\b ;#0683 NREPORT-9\cf0\b0\par 1 \cf1\b ;#0681 NREPORT-5\cf0\b0\par 1 \cf1\b ;#064E EXPT-STRM\cf0\b0\par 1 \cf1\b ;#064C NREPORT-4\cf0\b0\par 1 \cf1\b ;#062F EXPT-NAME\cf0\b0\par 1 \cf1\b ;#061E EXPT-NUM\cf0\b0\par 1 \cf1\b ;#05F2 EXPT-SPEC\cf0\b0\par 1 \cf1\b ;#05E7 EXPT-STR\cf0\b0\par 1 \cf1\b ;#05DD RETAD-RUN\cf0\b0\par 1 \cf1\b ;#05C1 END1\cf0\b0\par 1 \cf1\b ;#05B7 ST-END\cf0\b0\par 1 \cf1\b ;#05B1 SEPARATOR\cf0\b0\par 1 \cf1\b ;#059F EX-D-STR\cf0\b0\par 1 \cf1\b ;#0559 CLS#-SYN\cf0\b0\par 1 \cf1\b ;#04D3 NOT-FOR-B\cf0\b0\par 1 \cf1\b ;#04B4 FORMAT-SYN\cf0\b0\par 1 \cf1\b ;#0494 MISSING-D\cf0\b0\par 1 \cf1\b ;#028 ROMERR-2\cf0\b0\par 1 \cf1\b ;#025F\cf0 Shadow ROM reports ------------------------------------------\b0\par 1 \cf1\b ;#0182 RCLN-NUM\cf0\b0\par 1 \cf1\b ;#011B RUNTIME\cf0\b0\par 1 \cf1\b ;#00FB COPYCHADD\cf0\b0\par 1 \cf1\b ;#00BC START-4 \cf2 The shadow ROM is paged in by an error or hook code\cf0\b0\par 1 \cf1\b ;#009E TEST-CODE \cf0\b0\par 1 \cf1\b ;#009A START-2\cf0\b0\par 1 \cf1\b ;#0081 CALBAS-2\cf0\b0\par 1 \cf1\b ;#0077 CHECK-SP\cf0\b0\par 1 \cf1\b ;#0068 ST-ERROR\cf0\b0\par 1 \cf1\b ;#0066 NMINT-SERV\cf0\b0\par 1 \cf1\b ;#004B2 0REPORT-1\cf0\b0\par 1 \cf1\b ;#0028 ROMERR\cf0\b0\par 1 \cf1\b ;#0020 SH-ERR\cf0\b0\par 1 \cf1\b ;#0010 CALBAS\cf0\b0\par 1 \cf1\b ;#0008 ST-SHADOW\cf0\b0\par 1 \cf1\b ;########### ?????????\cf0\b0\par 1 \cf1\b ;####### ?????\cf0\b0\par 1 \cf1\b ;###### ????\cf0\b0\par 1 \cf1\b ;# 0665 CHECK-M \cf2 (now'D'!)\b0\par 1 \cf1\b :#0018 CHKSYNTAX\cf0\b0\par 1 \cf1 SA-NET\cf0\par 1 \cf1 ;sub from OUT T-CHANnel, handle non-tokens, see 02947\cf0\par 1 \cf1 ;sub out-char\cf0\par 1 \cf1 ;service routine 1, part2 1x used \cf2\b set drive number\cf1\b0 \cf0\par 1 \cf1 ;now reset the drive\cf0\par 1 \cf1 ;in \b T-FURTHER\cf0\b0\par 1 \cf1 ;entry point\b wait for result phase\cf0\b0\par 1 \cf1 ;entry point only used by FORMAT\cf0\par 1 \cf1 ;entry point \par 1 \cf1 ;entry point \b motor on and strobe bit 0\cf0\b0\par 1 \cf1 ;build table of 64 at 10546 >>> \b format??\cf0\b0\par 1 \cf1 ;\b ---- spin up delay \cf0\b0\par 1 \cf1 ;WTKEY\cf0\par 1 \cf1 ;VR-DATA\cf0\par 1 \cf1 ;VR-BN\cf0\par 1 \cf1 ;This is the exit addr from services\cf0\par 1 \cf1 ;TST-SPACE\cf0\par 1 \cf1 ;TST-AGAIN\cf0\par 1 \cf1 ;TS-L-RS\cf0\par 1 \cf1 ;TS-L-NET\cf0\par 1 \cf1 ;TEST-SAVE\cf0\par 1 \cf1 ;TEST-NEXT\cf0\par 1 \cf1 ;TEST-DTR\cf0\par 1 \cf1 ;T-M-CODE\cf0\par 1 \cf1 ;SUB: TST-PLACE\cf0\par 1 \cf1 ;SER-OUT-L\cf0\par 1 \cf1 ;SER-IN\cf0\par 1 \cf1 ;SA-BLOCK\cf0\par 1 \cf1 ;SA-BLK-LP\cf0\par 1 \cf1 ;SA-B-END\cf0\par 1 \cf1 ;PAR-2\cf0\par 1 \cf1 ;PAR-1\cf0\par 1 \cf1 ;OUT-CODE\cf0\par 1 \cf1 ;OP-STREAM\cf0\par 1 \cf1 ;NXT-ENTRY\cf0\par 1 \cf1 ;NOT-NET\cf0\par 1 \cf1 ;NONSENSE\cf0\par 1 \cf1 ;NONS-BSC\cf0\par 1 \cf1 ;NO-READ\cf0\par 1 \cf1 ;NO-M-ARR\cf0\par 1 \cf1 ;MERGE-END\cf0\par 1 \cf1 ;M-AGAIN\cf0\par 1 \cf1 ;LVBN-END\cf0\par 1 \cf1 ;LV-BN-E\cf0\par 1 \cf1 ;LD-VF-MR\cf0\par 1 \cf1 ;LD-NO-PGM\cf0\par 1 \cf1 ;LD-HDR-2\cf0\par 1 \cf1 ;LD-HD-RS\cf0\par 1 \cf1 ;LD-HD-NET\cf0\par 1 \cf1 ;LD-DATA\cf0\par 1 \cf1 ;LD-BLK-5\cf0\par 1 \cf1 ;LD-BLK-4\cf0\par 1 \cf1 ;INKEY-RET\cf0\par 1 \cf1 ;IN BD-DELAY2\cf0\par 1 \cf1 ;I-AGAIN\cf0\par 1 \cf1 ;HD-LOOP\cf0\par 1 \cf1 ;ENDHERE\cf0\par 1 \cf1 ;END-RS-IN\cf0\par 1 \cf1 ;END-LD-PR\cf0\par 1 \cf1 ;END-DATA\cf0\par 1 \cf1 ;END-CODE\cf0\par 1 \cf1 ;DEFLT-0\cf0\par 1 \cf1 ;CHECK-M-2\cf0\par 1 \cf1 ;BD-DEL-3\cf0\par 1 \cf1 ;BD-DEL-1\cf0\par 1 \cf1 ;ALL-STRMS\cf0\par 1 \cf1 ;ALL-BYTES\cf0\par 1 \cf1 ;4985=exit-point!!!!!!!!!! see 4959, 5034 !\cf0\par 1 \cf1 ;---- poke side\cf0\par 1 \cf1 ;---- \b calc side & sector\cf0\b0\par 1 \cf1 ;--- sub from OPen-RS232 CHANnel see 2749 -----------------------\cf0\par 1 \cf1 ;--- sub from DEFAULT see 00468 ---------------------\cf0\par 1 \cf1 ;--- sub from CLOSE see 03414 ----------------------\cf0\par 1 \cf1 ;--- sub from 04363 --------------------------------------\cf0\par 1 \cf1 ;--- sub from 'erase' see 4450 -------------------\cf0\par 1 \cf1 ;--- see 4360 ---------------------------------\cf0\par 1 \cf1 ;--- from 4417 -- C=12 find current drive ----------------------\cf0\par 1 \cf1 ;--- find what?? see 5747 --------------------------\cf0\par 1 \cf1 ;--- enter here from 5398 ------- extension to DEFAULT ---------------\cf0\par 1 \cf1 ;#TEST-RET\cf0\par 1 \cf1 ; SAVE-M\cf0\par 1 \cf1 (16) deze is over !! \cf0 \par 1 \cf0\tab D10D\tab ;3537\tab ;57 $39 - NEW ROUTINE, HANDLING 'SERVICES' \par 1 \cf0\b0 04461 3AD65C \tab LD A,(23766) ;drive nr. \par 1 \cf0\b0 02706 D5 \tab PUSH DE \par 1 \cf0\b HC2000 \cf1 ===========================================\par 1 \cf0 ;---------------------------------------------------------------------\par 1 \cf0 07753 3A8529 \tab LD A,(10629) \par 1 \cf0 07739 CDC81E \tab CALL 7880 \par 1 \cf0 07723 CDC81E \tab CALL 7880 \par 1 \cf0 07717 CDC81E \tab CALL 7880 \par 1 \cf0 05957\b0 \tab D51D \tab ;7637\tab 0\tab intialize DOS\par 1 \cf0 05492 \tab 1F0E\tab ;3615\tab ;49 $31 - \cf3 CREATENEWVARS\cf0\tab (does RET, which is enough)\par 1 \cf0 04816 F5 \tab PUSH AF ;return to 'normal'\par 1 \cf0 04668\b0 218129 \tab LD HL,10625 \par 1 \cf0 03740\b0 CD6A0E \tab CALL 3690 \cf2 ;MAKE 'D' channel \cf0\par 1 \cf0 01509\tab 3AD95C \tab \par 1 \cf0 00521 FB \tab EI \par 1 \b0 Some HC2000 have a 2K RAM fitted, instead of 1K like the HC91's IF1. \par 1 \b0 10240 see 4531\tab\tab ;len 50\par 1 \b0 08803 43 LD B,E \par 1 \b0 08743 CDDA21 CALL \b 8666\b0 \par 1 \b0 08732 2E09 LD L,9 ;timing \par 1 \b0 08712 DBF7 IN A,(247) ;port\par 1 \b0 08666: ED5F LD A,R ;!!!!\par 1 \b0 08525 3ACE5C LD A,(23758) ;dest station\par 1 \b0 05622 CDF811 \tab CALL \b 4600\b0 ;write command seq. to fdc\par 1 \b0 01793 \tab 3200\par 1 \b0 11264 = 1K mirrorred RAM\par 1 \b Drive characteristics table, see 4566\par 1 \b Disk Routines are found at addr.3660-5912, physical disk appoach at addr.4773\par 1 \b ;sub, called from 02282, 03334, 03448\par 1 \b ;sub, called from 02214, set as input at 034xx \par 1 \b ;read RESULT into buffer 10618\cf0\par 1 \b ;called from SA-BYTES at 02199\b0\par 1 \b ;\cf1 CALPHY -- read/write from physical device >> floppy controller!\cf0\b0\par 1 \b ;\cf1 #026E FETCH-ERR\cf0 \b0 \b Fetch error number\b0 -----------------------------------------------------\par 1 \b ;\cf1 #023A\cf0 Default values for table holding new system variables\b0\par 1 \b ;\cf1 #0235 VAR-EXIST \cf0 -------------------------------------------------------------\b0\par 1 \b ;\cf1 #0224 DEFAULT\cf0 Initialize some new system variables---------------------\b0\par 1 \b ;\cf1 #00A5 START-3\cf0 Test request for channel\b0\par 1 \b ;\cf1 #0056 INT-SERV\cf0 Handle maskable interrupt\b0\par 1 \b ;WRITE-N send packet to network\b0\par 1 \b ;SYSTVARS in RAM\par 1 \b ;READ-N get a packet from network\par 1 \b ;HOOK-#36 dec 54 write sequential byte to disk file\b0\par 1 \b ;Get next character from line\b0\par 1 \b ;Fech command code from line -----------------------------\b0\par 1 \b ;CLOSE-N close network channel\b0\par 1 \b ;-----------------------------------------\b0\par 1 \b ;-------------------------------------------------------------------\b0\par 1 \b ;################################### start ##################################\par 1 \b :\cf1 #01F7 CRT-VARS\cf0 Create new system variables -----------------------------\b0\par 1 \b 0\b0 8230 DD7E0F LD A,(IX+15) \par 1 \b 08641\b0 0800 ;error addr \par 1 \b 08612\b0 21C121 LD HL,\b 8641\b0 \par 1 \b 08601\b0 110028 LD DE,10240 \par 1 \b 08593\b0 CD9E21 CALL \b 8606\b0 \par 1 \b 08204\b0 DD7E14 LD A,(IX+20) \par 1 \b 07953 \b0 ED432F2A \tab LD (10799),BC \par 1 \b 07922\b0 DD3600 \tab LD (IX+0),0 \par 1 \b 07910\b0 329A29 \tab LD (10650),A \par 1 \b 07905\b0 78 \tab LD A,B \par 1 \b 07880\b0 3EFF \tab LD A,255 \par 1 \b 07872\b0 DDE1 \tab POP IX \tab ;restore\par 1 \b 07844\b0 3AAB29 \tab LD A,(10667) \par 1 \b 07689\b0 CDBE19 \tab CALL 6590 \par 1 \b 07684\b0 CDC81E \tab CALL \b 7880\b0 \par 1 \b 07637\b0 AF \tab XOR A \par 1 \b 07626\b0 3A9329 \tab LD A,(10643) \par 1 \b 07599\b0 CD7B17 \tab CALL 6011 \par 1 \b 07541\b0 CDF218 \tab CALL 6386 \par 1 \b 07520\b0 B7 \tab OR A \par 1 \b 07482\b0 DD360EC0 \tab LD (IX+14),192 \par 1 \b 07477\b0 C1 \tab POP BC \par 1 \b 06786\b0 79 \tab LD A,C \par 1 \b 06778\b0 17 \tab RLA \par 1 \b 06755\b0 CD2E1F \tab CALL \b 7982\b0 \par 1 \b 06474\b0 07 \tab RLCA \tab\tab ;x2\par 1 \b 06370\b0 C3111F \tab JP 7953 \par 1 \b 06360\b0 ED4B8B29 \tab LD BC,(10635) \par 1 \b 06268\b0 17 \tab RLA \par 1 \b 06193\b0 4F \tab LD C,A \par 1 \b 06176\b0 0D \tab DEC C \par 1 \b 06120\b0 B1 \tab OR C \par 1 \b 06081\b0 DDE5 \tab PUSH IX \par 1 \b 06059\b0 2A9F29 \tab LD HL,(10655) \par 1 \b 06042\b0 3AA429 \tab LD A,(10660) \cf4 ;block number??\cf0\par 1 \b 06011\b0 2AAC29 \tab LD HL,(10668) ;holds addr of table\par 1 \b 05706\b0 010F03 \tab LD BC,783 ;B=3 C=15\tab\cf1\b Seek track\cf0\b0\par 1 \b 05696\b0 FDCB024E \tab BIT 1,(IY+2) ;normally NOT set (read 40 trk in 80 drv!)\par 1 \b 05687\b0 110000 \tab LD DE,0 \par 1 \b 05683\b0 FD7E03 \tab LD A,(IY+3) :TRACK WANTED !!!!! \par 1 \b 05670\b0 323E2A \tab LD (10814),A ;(=80)\par 1 \b 05668\b0 E1 \tab POP HL ;10817 (=0)\par 1 \b 05605\b0 7E \tab LD A,(HL) \par 1 \b 05595\b0 21402A \tab LD HL,10816 \par 1 \b 05581\b0 323D2A \tab LD (10813),A ;holds number of tracks (=80)\par 1 \b 05551\b0 FD7E03 \tab LD A,(IY+3) ;track???\par 1 \b 05360\b0 7A \tab LD A,D \par 1 \b 05297\b0 11C414 \tab LD DE,5316 \par 1 \b 05281\b0 FE16 \tab CP 22 \par 1 \b 05270\b0 D5 \tab PUSH DE \par 1 \b 05246\b0 FE06 \tab CP 6 \par 1 \b 05228\b0 FE0D \tab CP 13 \par 1 \b 05162\b0 DF \tab DEFB #DF \tab ;step rate & head unload time\par 1 \b 05137\b0 FD3504 \tab DEC (IY+4) \tab ;=2 nr of retries SIDEs???\par 1 \b 05077\b0 71 \tab LD (HL),C =iy+3\par 1 \b 05063\b0 213229 \tab LD HL,10546 \par 1 \b 05059\b0 FD360402 \tab LD (IY+4),2 \par 1 \b 05025\b0 FD7E03 \tab LD A,(IY+3) \tab ;track 0 now!!\par 1 \b 04982\b0 AF \tab XOR A \tab ;exit here from reset\par 1 \b 04929\b0 CDF811 \tab CALL \b 4600\b0 \tab ;write a command to fdc\par 1 \b 04918\b0 FD7E0B \tab LD A,(IY+11) \tab ;read/write\par 1 \b 04868\b0 21F01F \tab LD HL,\cf3\b 8176\cf0\b0 \tab ;interleave table \par 1 \b 04855\b0 0600 \tab LD B,0 \tab ;side 0, reset bit 2 = side\par 1 \b 04848\b0 3E0A \tab LD A,10 \par 1 \b 04818\b0 E601 \tab AND 1 ;keep drive\par 1 \b 04759\b0 \tab DB85 \tab IN A,(133) \tab ;FDC MAINSTATUS\par 1 \b 04741\b0 3A7229 \tab LD A,(10610) \tab ;drive number TASK FILE\par 1 \b 04730\b0 DB85 \tab IN A,(133) \tab ;FDC MAINSTATUS\par 1 \b 04717\b0 DB85 \tab IN A,(133) \tab ;FDC MAINSTATUS\par 1 \b 04715\b0 0E87 \tab LD C,135 \tab ;FDC DATA port\par 1 \b 04707\b0 FD7E0B \tab LD A,(IY+11) \tab ;read/write flag\par 1 \b 04694\b0 DB85 \tab IN A,(133) \tab ;FDC STATUS\par 1 \b 04681\b0 DB85 \tab IN A,(133) \tab ;FDC MAINSTATUS port\par 1 \b 04661\b0 0D \tab DEC C \par 1 \b 04659 \b0 0EDA \tab LD C,218 \tab ;WHY??\par 1 \b 04633\b0 010801 \tab LD BC,264 \tab ;\cf1\b SIS \cf0\b0 C=8, B=1 \cf1\b Sense Int. Status\cf0\b0\par 1 \b 04619\b0 327329 \tab LD (10611),A \tab ;TASK FILE track nr set track\par 1 \b 04603\b0 DB85 \tab IN A,(133) \tab ;STATUS\par 1 \b 04593\b0 DB87 \tab IN A,(135) \par 1 \b 04586\b0 D387 \tab OUT (135),A \par 1 \b 04513\b0 110028 \tab LD DE,10240\tab\tab\cf1 ;channel area\cf0\par 1 \b 04511\b0 E7 \tab RST #20 \tab\tab ;report error\par 1 \b 04482\b0 32352A \tab LD (10805),A \tab\tab ;retries??\par 1 \b 04434\b0 0E0E \tab LD C,14 \par 1 \b 04415\b0 0E0C \tab LD C,12 \par 1 \b 04402\b0 20 6B 62 79 74 65 73 \tab ;" kbytes" \par 1 \b 04392\b0 7E \tab LD A,(HL) \par 1 \b 04378 F9 \tab LD (SP),HL ;------------ entrypoint\b0\par 1 \b 04320\b0 3D\tab \tab DEC A\tab\tab ;number of entry\par 1 \b 04290\b0 DD5E09 \tab LD E,(IX+9) \par 1 \b 04270\b0 DD7E04 \tab LD A,(IX+4) \par 1 \b 04258\b0 DD7E00 \tab LD A,(IX+0) \par 1 \b 04245\b0 DD210028 \tab LD IX,10240 \par 1 \b 04232\b0 2A5F5C \tab LD HL,(23647) \par 1 \b 04226\b0 2A5F5C \tab LD HL,(23647) \par 1 \b 04219\b0 300B \tab JR NC,0\b 4232\b0 \par 1 \b 04201\b0 225F5C \tab LD (23647),HL \par 1 \b 04171\b0 DD4E09 \tab LD C,(IX+9) \tab ;channel length\par 1 \b 04168\b0 CD970F \tab CALL 3991 ;close the file\par 1 \b 04165\b0 CD3E0F \tab CALL 3902 ;write byte to disk file\par 1 \b 04125\b0 E1 \tab POP HL \par 1 \b 04095\b0 EB \tab EX DE,HL \par 1 \b 04072\b0 EB \tab EX DE,HL \par 1 \b 04067\b0 4B \tab LD C,E \par 1 \b 04057\b0 6B \tab LD L,E ;loop here\par 1 \b 04022\b0 CD040F \tab CALL \par 1 \b 04003\b0 110028 \tab LD DE,10240 \par 1 \b 03991\b0 CD040F \tab CALL 3844 \tab ;connected to write\par 1 \b 03988\b0 CD3E0F \tab CALL 3902 \tab ;write byte to disk file\par 1 \b 03976\b0 EDA0 \tab LDI ;write byte\par 1 \b 03902\b0 DD363100\tab LD (IX+49),0 \tab ;reset pointer into sector buffer\par 1 \b 03877\b0 DD5E30 \tab LD E,(IX+48) \tab ;sector buffer pointer\par 1 \b 03844\b0 DDE5 \tab PUSH IX \par 1 \b 03825\b0 CD040F \tab CALL \b 3844 \b0 ;point to data area in chan\par 1 \b 03793\b0 DD5E30 \tab LD E,(IX+48) \tab ;data buff pointer\par 1 \b 03743\b0 CD040F \tab CALL 3844 ;copy channeldata to RAM\par 1 \b 03696\b0 \tab 215F0E \tab LD HL,\b 3679 \b0 \tab ;'D' table start\par 1 \b 03690\b0\tab 013201 \tab LD BC,306\tab\tab ;length of chan 'D'\par 1 \b 03679\b0 \tab 0800 \tab ;error \par 1 \b 03667\b0 E5 \tab PUSH HL \par 1 \b 03648\b0 7E \tab LD A,(HL) \par 1 \b 03555 \b0\tab 0D0E\tab 3597\tab\tab ; $1B - CONS-IN\par 1 \b 03537\b0 ED5BED5C \tab LD DE,(23789) ;HD-11,\par 1 \b 03504\b0 FD3600FF \tab LD (IY+0),255 ;reset the error\par 1 \b 03494\b0 FE06 \tab CP 6 \par 1 \b 03492\b0 E7 \tab RST #20 ;report error\par 1 \b 03118\b0 E1 \tab POP HL \par 1 \b 03115\b0 E1 \tab POP HL \par 1 \b 03108\b0 FE0D \tab CP 13 \par 1 \b 02967\b0 060B \tab LD B,11 \par 1 \b 02964\b0 FE20 \tab CP 32 \par 1 \b 02947\b0 C34014 \tab JP \b 5184\b0 \tab ;handle non-tokens\par 1 \b 02771\b0 2A4F5C \tab LD HL,(23631) \par 1 \b 02691\b0 \tab C5 \tab PUSH BC \par 1 \b 02226\b0 C1 \tab POP BC \par 1 \b 02221\b0 CD350B \tab CALL 2869 \par 1 \b 02214\b0 CD0020 \tab CALL \b 8192\b0 \tab ;input routine\par 1 \b 02155\b0 0609 \tab LD B,9 ;header lrn\par 1 \b 02146\b0 CDFF05 \tab CALL 1535 \par 1 \b 01507\b0 \tab E7 \tab RST #20 ;report error\par 1 \b 01460\b0 \tab F7 \tab RST #30 \par 1 \b 01458\b0 \tab E7 \tab RST #20 ;report error\par 1 \b 00607\b0 \tab DEFB #80 \tab\tab\par 1 \b 00595\b0 \tab ED7B3D5C \tab LD SP,(23613) \tab ;\cf1 end-pr-ms 02AC\cf0\par 1 \b 00586 \b0\tab 7E \tab LD A,(HL) \tab\cf1 ;pr-rep-lp 029F\cf0\par 1 \b 00579 \b0\tab 7E \tab LD A,(HL) \par 1 \b 00539\b0\tab 210000 \tab LD HL,0 \tab\tab ;\cf1 fetch err #026E\cf0\par 1 \b 00497\b0 77 \tab LD (HL),A \tab ;fill block at HL with BC zeros\par 1 \b 00496\b0 AF \tab XOR A \par 1 \b 00407\b0 2A4F5C \tab LD HL,(23631) \par 1 \b 00327\b0 E1 \tab POP HL \tab ;\cf1 NXT-1\cf0\par 1 \b 00284\b0 FD560D \tab LD D,(IY+13) \tab\tab\par 1 \b 00279 \b0 D7 \tab RST #10 ;calbas\par 1 This extra 1K is not addressable without modifications on the circuit board! \par 1 The very incomplete analysis of the HC2000 Rom \cf2\b 190892T40H2S164\b0 d\cf0 isassembly \par 1 Thanks goes to Cristi Grecu for his research.\par 1 T\b0 his block of RAM memory is mirrorred at 11264, 14336 and 15360!\b\par 1 RAM = \tab\b 10240 -11263 (1K) \b0 \b\par 1 Probably designed for the CPM system, but Basic ROM does some shopping!\par 1 My HC2000 is fitted with a 64K EPROM that holds the following code:\par 1 Interleave table for 16 sectors a 256 : see 8176 \par 1 IF1 ROM as \b 221191T40H2S1.. \b0 at addr 9200. \par 1 HERE ANOTHER PART BEGINS, no calls to addresses <6000 !!!!\par 1 Floppy controller \tab DATA \b port= \b0 135\par 1 Code at 8192, rest of 8K block is empty.\par 1 Attention: the sides alternate!\par 1 ;used by save syn\par 1 ;used by many services, drive number is tested, table 10650 is build \par 1 ;sub, called from 02141,2282\par 1 ;see 3519 for routine\tab hooks\tab\tab\cf0\b0 ;valid hooks are 27-32 and 45-60\cf2\par 1 ;read/write\par 1 ;now it is execute phase!\cf0\par 1 ;now follow HC specific hook codes --------------------------------------------\par 1 ;not used??? --------------------\par 1 ;loop here\par 1 ;calculate with BC\par 1 ;\cf1\b SERVICE ROUTINE 9\tab \cf2 create file\cf0\b0\par 1 ;\cf1\b SERVICE ROUTINE 8\tab \cf2 seq. write to file\b0\par 1 ;\cf1\b SERVICE ROUTINE 7\tab \cf2 seq. read from file\b0\par 1 ;\cf1\b SERVICE ROUTINE 6 \cf2 erase file\cf0\b0\par 1 ;\cf1\b SERVICE ROUTINE 5 \cf2 unknown\cf0\b0\par 1 ;\cf1\b SERVICE ROUTINE 4 \cf2 search for (first) matching file name\cf0\b0\par 1 ;\cf1\b SERVICE ROUTINE 3 \cf2 close file\cf0\b0\par 1 ;\cf1\b SERVICE ROUTINE 23\tab \cf2 random write with 'fill'\cf0\b0\par 1 ;\cf1\b SERVICE ROUTINE 22\tab \cf2 deselect drives\cf0\b0\par 1 ;\cf1\b SERVICE ROUTINE 21 \cf2 point to addr for Random Acces\cf0\b0\par 1 ;\cf1\b SERVICE ROUTINE 20\tab \cf2 calculate file length\cf0\b0\par 1 ;\cf1\b SERVICE ROUTINE 2 \cf2 open file\cf0\b0\par 1 ;\cf1\b SERVICE ROUTINE 19\tab \cf2 random write\cf0\b0\par 1 ;\cf1\b SERVICE ROUTINE 18\tab \cf2 random read\cf0\b0\par 1 ;\cf1\b SERVICE ROUTINE 17\tab \cf2 find file attributes\cf0\b0\par 1 ;\cf1\b SERVICE ROUTINE 16\tab \cf2 find array for diskprotection (?)\cf0\b0\par 1 ;\cf1\b SERVICE ROUTINE 15 \cf2 soft protection for current drive\cf0\b0\par 1 ;\cf1\b SERVICE ROUTINE 14\tab \cf2 find assigned vector \b0 (allocated sector?)\cf0\par 1 ;\cf1\b SERVICE ROUTINE 13\tab \cf2 point to DMA transfer addr\cf0\b0\par 1 ;\cf1\b SERVICE ROUTINE 12\tab \cf2 find current drive\b0\par 1 ;\cf1\b SERVICE ROUTINE 11\tab \cf2 find login array\cf0\b0\par 1 ;\cf1\b SERVICE ROUTINE 10\tab \cf2 rename file\b0\par 1 ;\cf1\b SERVICE ROUTINE 0 \cf2 initialize DOS\cf0\b0\par 1 ;\cf1\b DO FORMAT\cf0\b0\par 1 ;\cf1\b #024D RES-VARS\cf0 Reset some variables -------\b0\par 1 ;\cf1\b #01AA CL-WORK \cf0\b0\par 1 ;\cf1\b #01A5 NXT-NUM\cf0\b0\par 1 ;\cf1 #0258 REP-MSG\cf0 Print shadow reports -------------------------------------------------------\par 1 ;\cf1 #01EC ERR-V\cf0 If the command is not in the table, jp to Vector\b0\par 1 ;WRITE\par 1 ;OPEN-N open the network channel\par 1 ;Note that hook #33 and #34 overlap the Sinclair hooks in the latest IF1-ROM!!!\par 1 ;NO-AUTO\par 1 ;LD HL,10813 1x used\cf0\b0\par 1 ;It looks as if the same info is repeated in \par 1 ;IX points to channel data, HL to data area \par 1 ;I assume there are different ROM versions\par 1 ;HOOK-#35 dec 53, read byte from disk file\par 1 ;Get byte from D channel \cf2 = input address in D table\par 1 ;DEFAULT COMMAND TABLE-1\cf0\b0\par 1 ;C holds command, B holds nr of data\cf0\b0\par 1 ;An instruction feth on this address in main ROM, pages IF in \par 1 ;=========\par 1 ;=========\b\par 1 ;=====================================\par 1 ;===== loop \par 1 ;2 x called --------------------\par 1 ;1 x called\par 1 ;-------\tab\par 1 ;--------\par 1 ;---------\cf1 \b fetch a header\b0 (load)\cf0\par 1 ;------------\par 1 ;-------------\par 1 ;--------------\par 1 ;---------------------------------------\b0\par 1 ;---------------------------------------------\b0\par 1 ;-----------------------------------------------\par 1 ;--------------------------------------------------\par 1 ;---------------------------------------------------\b0\par 1 ;---------------------------------------------------------------\cf0\b0 \par 1 ;------------------------------------------------------------------\cf1 \cf0\par 1 ;------------------------------------------------------------------\cf0\b0\par 1 ;------------------------------------------------------------------\b0\par 1 ;-------------------------------------------------------------------\cf0\b0\par 1 ;---------------------------------------------------------------------\par 1 ;-------------------------------------------------------------------------\par 1 ;-------------------------------------------------------------------------\cf0\b0\par 1 ;--------------------------------------------------------------------------\cf0\par 1 ;------------------------------------------------------------------------------\par 1 ;----------------------------------------------------------- \par 1 ;----------------------------------- \b0 in fact the error addresses are prepared\par 1 ;--------- \cf1\b MOTOR ON\cf0\b0\par 1 ;--------- 2 x called\tab\tab\tab\tab\cf4 ;try out !!!!\cf0\par 1 ;--------- 1 x called\par 1 ;------- exit\par 1 ;---- seek trak\par 1 ;#0B95 REC-BYTE\cf0\b0\par 1 ;#00E7 NREPORT-0\cf0\b0\par 1 ;#0000 RST-0\b0\par 1 ; THE 'RESTORE ADDRESS OF FILENAME' ROUTINE\par 1 ; -----------------------------------------\par 1 ; the sliding, dynamic areas.\par 1 ; bytes created.\par 1 ; by adjusting the extra system variables that point to filenames within\par 1 ; This subroutine performs a similar function to the Main ROM POINTERS routine\par 1 ; On entry HL points to the start of the New Room and BC holds the number of\par 1 : the buffer 10290 some 5/6 times, distance=59\par 1 49152-65535 CP/M in 2 identical 8K blocks\par 1 37 = DEC H\par 1 32768-49151 BASIC +extra 14446,276 (\cf3 "\cf2\ul HC2000 I.C.E. FELIX\cf3\ulnone "\cf0 ) \par 1 2x called\par 1 16384-32767\tab IF1 code 290791T40H2S16. (old version used by CPM\b ????\b0 )\par 1 11264 = new \b stack top\b0 during disk access\par 1 10817 ,, (1)\par 1 10816 see 5559 (1) (track?)\par 1 10814 = ,, ? (2?)\par 1 10813 = max. nr. of tracks on drive (1)\par 1 10808 see 4531\par 1 10806 ,,\par 1 10805 see 4461\par 1 10803 see 4531\par 1 10799 see 4461 (2)\par 1 10798 x (1)\par 1 10797 x (1)\par 1 10795 ,, (1)\par 1 10794 see 4461\par 1 10734 ,,\par 1 10674 ,,\par 1 10672 ,,\par 1 10670 ,,\par 1 10668 see 4531 (2) addr of table\par 1 10667 x (1)\par 1 10665 x (2)\par 1 10663 x (2)\par 1 10661 x (2)\par 1 10660 x (1)\par 1 10659 x (1)\par 1 10657 x (2)\par 1 10655 x (2)\par 1 10653 x (1)\par 1 10652 x (1)\par 1 10651 x (1)\par 1 10650 x (1)\par 1 10646 x (2) pointer to IX table?\par 1 10645 x (1)\par 1 10644 x (1)\par 1 10643 x (1)\par 1 10642 x (1)\par 1 10641 x (1)\par 1 10640 x (1)\par 1 10639 x (1)\par 1 10637 see 4531 (2) points to buff a 256?\par 1 10635 x (2) transfer addr?\par 1 10634 x (1) ,,\par 1 10633 x (1) drvnr?\par 1 10632 see 4531 (2) table pointer? \par 1 10631 x (1)\par 1 10630 x (1)\par 1 10629 x (1)\par 1 10627 = store SP during disk access (2)\par 1 10626 = store track drv1 (1)\par 1 10625 = store track drv0 (1)\par 1 10622 = ,, more result (3)\par 1 10621 = ,, more result (1)\par 1 10620 = ,, status2 (1)\par 1 10619 = ,, status1 (1)\par 1 10618 = RESULTFILE status0 (1)\par 1 10614 = ,, second part (4)\par 1 10613 = ,, sector ,, (1)\par 1 10612 = ,, side ,, (1)\par 1 10611 = ,, track ,, (1)\par 1 10610 = TASKFILE unit number (1)\par 1 10290 ,,\tab\tab\tab ;len 320\par 1 10240 Now follows space for RAM\par 1 10239\tab\tab DEFB \tab #0F\par 1 10224 \tab DEFM \tab "\cf1\b 190892T40H2S164\cf2\b0 "\tab ;identifier\par 1 10223\tab\tab DEFB \tab #FF\par 1 0\b 7582\b0 C9 \tab RET \par 1 0\b 4600\b0 217229 \tab LD HL,10610 \tab ;\cf1\b TASK FILE\cf0\b0 drive number \par 1 0\b 4085\b0 41 \tab LD B,C \par 1 0\b 3615\b0 \tab C9 \tab RET \par 1 08917\tab\tab DEFB \tab #FF, etc.\par 1 08916 C9 RET ;last\par 1 08891 3AC65C LD A,(23750) ;brd col\par 1 08878 CDCC21 CALL \b 8652\b0 \par 1 08848 10FE DJNZ \b 8848\b0 \par 1 08843 AF XOR A \par 1 08836 3E01 LD A,1 \par 1 08804 1E80 LD E,128 \par 1 08794 DBF7 IN A,(247) \par 1 08792 06FF LD B,255 \par 1 08789 10FE DJNZ \b 8789\b0 \par 1 08771 10FE DJNZ \b 8771 \b0 \par 1 08760 ED61 OUT (C),H \par 1 08739 10FE DJNZ\b 8739\b0 \par 1 08734 2D DEC L \par 1 08714 0F RRCA \par 1 08692 0680 LD B,128 \par 1 08689 21C201 LD HL,450 \par 1 08680 C5 PUSH BC \par 1 08677 CD8E0D CALL 3470 ;test break\par 1 08652 DD2A515C \par 1 08606 011401 LD BC,276 \par 1 08587 CD9E21 CALL \b 8606\b0 \par 1 08585 BF CP A \par 1 08571 3AD35C LD A,(23763) ;block len\par 1 08559 96 SUB (HL) \par 1 08493 2AD05C LD HL,(23760) ;netw block nr\par 1 08488 DD7E0B LD A,(IX+11) \par 1 08463 86 ADD A,(HL) \par 1 08448 21CE5C LD HL,23758 ;dest station \par 1 08442 1B DEC DE \par 1 08435 CD9620 CALL \b 8342\b0 ;WRITE-N\tab send packet to network\par 1 08425 E1 POP HL \par 1 08417 DD340D INC (IX+13) \par 1 08410 10FE DJNZ \b 8410\b0 \par 1 08382 CD2722 CALL \b 8743\b0 \par 1 08376 86 ADD A,(HL) \par 1 08361 86 ADD A,(HL) \par 1 08342 DD770F LD (IX+15),A \par 1 08318 CD8B22 CALL \b 8843\b0 \par 1 08307 DD7310 LD (IX+16),E \par 1 08293 DD5E10 LD E,(IX+16) \par 1 08279 DD2A515C LD IX,(23633) \tab ;curr chan\par 1 08267 DD7E0B LD A,(IX+11) \par 1 08241 CDF121 CALL \b 8689\b0 \par 1 08190 \tab 0E\par 1 08189 \tab 0C \tab \par 1 08188 \tab 0A \tab \par 1 08186 \tab 06\par 1 08185 \tab 04 \tab \par 1 08184 \tab 02 \tab \par 1 08183 \tab 0F \tab \par 1 08182 \tab 0D \tab \par 1 08181 \tab 0B \tab \par 1 08180 \tab 09 \tab\par 1 08179 \tab 07 \tab \par 1 08176 \tab 01\par 1 08174 F01F DEFW 8176 ;address of interleave table \par 1 08173 64 \tab ;spin up delay \tab (1/100 sec) \par 1 08002 DEFB #FF, etc\par 1 08001 C9 \tab RET \par 1 07998 32412A \tab LD (10817),A \par 1 07995 32402A \tab LD (10816),A \par 1 07992 328A29 \tab LD (10634),A \par 1 07991 C9 \tab RET \par 1 07990 E1 \tab POP HL \par 1 07989 9C \tab SBC A,H \par 1 07988 7A \tab LD A,D \par 1 07987 95 \tab SUB L \par 1 07986 7B \tab LD A,E \par 1 07983 CD1E1F \tab CALL 7966 \par 1 07982 E5 \tab PUSH HL \par 1 07981 C9 \tab RET \par 1 07980 E1 \tab POP HL \par 1 07979 9C \tab SBC A,H \par 1 07978 78 \tab LD A,B \par 1 07977 95 \tab SUB L \par 1 07976 79 \tab LD A,C \par 1 07973 CD1E1F \tab CALL 7966 \par 1 07972 E5 \tab PUSH HL \par 1 07971 C9 \tab RET \par 1 07970 29 \tab ADD HL,HL \par 1 07969 29 \tab ADD HL,HL \par 1 07966 2A3E2A \tab LD HL,(10814) \par 1 07963 C38211 \tab JP \cf3 4482 \cf0 ;something with sectors\par 1 07960 013E02 \tab LD BC,574 \par 1 07958 3E01 \tab LD A,1 \par 1 07957 C9 \tab RET \par 1 07952 C9 \tab RET \par 1 07949 322E2A \tab LD (10798),A \par 1 07948 79 \tab LD A,C \par 1 07947 C9 \tab RET \par 1 07944 322D2A \tab LD (10797),A \par 1 07943 79 \tab LD A,C \par 1 07942 C9 \tab RET \par 1 07939 322B2A \tab LD (10795),A \par 1 07938 2C \tab INC L \par 1 07937 D0 \tab RET NC \par 1 07935 FE02 \tab CP 2 \par 1 07934 79 \tab LD A,C \par 1 07932 2600 \tab LD H,0 \par 1 07931 C9 \tab RET \par 1 07928 322D2A \tab LD (10797),A \par 1 07927 AF \tab XOR A \par 1 07926 C9 \tab RET \par 1 07919 CDCA1D \tab CALL \b 7626\b0 \par 1 07916 329B29 \tab LD (10651),A \par 1 07913 DD7E00 \tab LD A,(IX+0) \par 1 07909 79 \tab LD A,C \tab ;else use C\par 1 07907 2001 \tab JR NZ,\b 7910\b0 \par 1 07906 04 \tab INC B \tab ;test 255\par 1 07904 04 \tab DEFB 4\tab\tab ;"Invalid drive number" \par 1 07903 E7 \tab RST #20 \tab ;report error\par 1 07901 2013 \tab JR NZ,\b 7922\b0 \tab ;Exit 'OK'\par 1 07900 90 \tab SUB B \par 1 07897 F2E11E \tab JP P,\b 7905\b0 \par 1 07896 4F \tab LD C,A \tab ;keep B only, 10629\par 1 07892 ED4B8429 \tab LD BC,(10628) ;LD B,(10629)\par 1 07889 329329 \tab LD (10643),A \par 1 07888 3D \tab DEC A \par 1 07885 DD7E00 \tab LD A,(IX+0) \par 1 07882 32AB29 \tab LD (10667),A \par 1 07879 C9 \tab RET \tab\par 1 07878 44 \tab LD B,H \par 1 07877 7D \tab LD A,L \par 1 07874 2A8629 \tab LD HL,(10630) \par 1 07869 CDCA1D \tab CALL 7626 \par 1 07866 329329 \tab LD (10643),A \par 1 07863 3A9A29 \tab LD A,(10650) \par 1 07860 DD7700 \tab LD (IX+0),A \par 1 07858 280C \tab JR Z,07872 \par 1 07857 B7 \tab OR A \par 1 07854 3A9B29 \tab LD A,(10651) \par 1 07850 DD360000 \tab LD (IX+0),0 \par 1 07848 2016 \tab JR NZ,0\b 7872\b0 \par 1 07847 3C \tab INC A \par 1 07843 C9 \tab RET \par 1 07840 CC041C \tab CALL Z,7172 \par 1 07837 CDEC1C \tab CALL 7404 \par 1 07835 0E00 \tab LD C,0 \par 1 07832 329229 \tab LD (10642),A \par 1 07830 3E01 \tab LD A,1 \par 1 07827 CDC81E \tab CALL 7880 \par 1 07826 C9 \tab RET \par 1 07823 328929 \tab LD (10633),A \par 1 07822 A3 \tab AND E \par 1 07819 3A8929 \tab LD A,(10633) \par 1 07816 328A29 \tab LD (10634),A \par 1 07815 A3 \tab AND E \par 1 07812 3A8A29 \tab LD A,(10634) \par 1 07811 5F \tab LD E,A \par 1 07810 2F \tab CPL \par 1 07809 7B \tab LD A,E \tab\tab ;this HEX must be checked \par 1 07806 C3661D \tab JP 7526 \par 1 07803 CDC81E \tab CALL 7880 \par 1 07800 C3521D \tab JP 7506 \par 1 07797 CDC81E \tab CALL 7880 \par 1 07794 C3491D \tab JP 7497 \par 1 07791 CDC81E \tab CALL 7880 \par 1 07790 C9 \tab RET \par 1 07784 C3B819 \tab JP 6584 \par 1 07781 CDC31A \tab CALL 6851 \par 1 07778 CDC81E \tab CALL 7880 \par 1 07776 18EA \tab JR 07756 \par 1 07773 3A8929 \tab LD A,(10633) \par 1 07770 C36B1E \tab JP 7787 \par 1 07769 23 \tab INC HL \par 1 07766 2AA729 \tab LD HL,(10663) \par 1 07763 C3D818 \tab JP 6360 \par 1 07759 ED538B29 \tab LD (10635),DE \par 1 07756 C37717 \tab JP 6007 \par 1 07751 1803 \tab JR 07756 \par 1 07748 3A8A29 \tab LD A,(10634) \par 1 07745 C3B819 \tab JP 6584 \par 1 07742 CDA21A \tab CALL 6818 \par 1 07736 C3511B \tab JP 6993 \par 1 07733 CDC81E \tab CALL 7880 \par 1 07729 DD360E00 \tab LD (IX+14),0 \par 1 07726 C3FF1B \tab JP 7167 \par 1 07720 C3C11B \tab JP 7105 \par 1 07714 C3B819 \tab JP 6584 \par 1 07711 CD301A \tab CALL 6704 \par 1 07708 CDC81E \tab CALL 7880 \par 1 07705 C3E518 \tab JP 6373 \par 1 07702 CDD119 \tab CALL 6609 \par 1 07699 CDC81E \tab CALL 7880 \par 1 07695 DD2A9629 \tab LD IX,(10646) \par 1 07692 C3E518 \tab JP 6373 \par 1 07687 0E0F \tab LD C,15 \par 1 07680 DD360E00 \tab LD (IX+14),0 \par 1 07678 2804 \tab JR Z,0\b 7684 \b0 \par 1 07676 FE3F \tab CP 63 \par 1 07673 DD7E0C \tab LD A,(IX+12) \par 1 07671 2810 \tab JR Z,0\b 7689\b0 \par 1 07669 FE3F \tab CP 63 \tab ;'?' wildcard ????for CAT ???\par 1 07668 7E \tab LD A,(HL) \par 1 07667 EB \tab EX DE,HL \par 1 07665 0E00 \tab LD C,0 \par 1 07662 C3FF1A \tab JP 6911 \par 1 07659 CDC81E \tab CALL 7880 \par 1 07656 C3D81A \tab JP 6872 \par 1 07653 CDC81E \tab CALL 7880 \par 1 07649 DD360E00\tab LD (IX+14),0 \par 1 07648 C9 \tab RET \par 1 07645 328529 \tab LD (10629),A \par 1 07644 3D \tab DEC A \par 1 07641 CD381F \tab CALL 7992 \par 1 07638 328929 \tab LD (10633),A \par 1 07635 18DA \tab JR 0\b 7599\b0 \par 1 07634 77 \tab LD (HL),A \par 1 07633 C8 \tab RET Z \par 1 07632 BE \tab CP (HL) \par 1 07629 218529 \tab LD HL,10629 \par 1 07623 C38219 \tab JP 6530 \par 1 07620 328A29 \tab LD (10634),A \par 1 07617 CDDA17 \tab CALL 6106 \par 1 07614 3A8A29 \tab LD A,(10634) \par 1 07613 D8 \tab RET C \par 1 07612 1F \tab RRA \par 1 07609 CD4B18 \tab CALL 6219 \par 1 07606 3A8A29 \tab LD A,(10634) \par 1 07605 47 \tab LD B,A \par 1 07602 3A8529 \tab LD A,(10629) \par 1 07598 C9 \tab RET \par 1 07595 DD7022 \tab LD (IX+34),B \par 1 07592 DD7121 \tab LD (IX+33),C\par 1 07589 CD5B1D \tab CALL 7515 ;division?\par 1 07586 DD460C \tab LD B,(IX+12) \par 1 07583 DD4E20 \tab LD C,(IX+32) \par 1 07580 18D7 \tab JR 0\b 7541\b0 \par 1 07577 CDD119 \tab CALL 6609 \par 1 07574 DD7121 \tab LD (IX+33),C \par 1 07571 DD7022 \tab LD (IX+34),B \par 1 07569 3806 \tab JR C,07577 \par 1 07566 DD9E22 \tab SBC A,(IX+34) \par 1 07565 78 \tab LD A,B \par 1 07562 DD9621 \tab SUB (IX+33) \par 1 07561 79 \tab LD A,C \par 1 07558 CD5B1D \tab CALL 7515 \par 1 07557 4E \tab LD C,(HL) \par 1 07556 23 \tab INC HL \par 1 07555 23 \tab INC HL \par 1 07554 23 \tab INC HL \par 1 07553 46 \tab LD B,(HL) \par 1 07552 19 \tab ADD HL,DE \par 1 07549 110C00 \tab LD DE,12 \par 1 07546 CD8618 \tab CALL 6278 \par 1 07544 2824 \tab JR Z,0\b 7582\b0 ;RET\par 1 07538 DD7723 \tab LD (IX+35),A \par 1 07535 DD7722 \tab LD (IX+34),A \par 1 07532 DD7721 \tab LD (IX+33),A \par 1 07531 AF \tab XOR A \par 1 07528 CDBE19 \tab CALL 6590 \par 1 07526 0E0C \tab LD C,12 \par 1 07525 C9 \tab RET \par 1 07523 CB19 \tab RR C \par 1 07521 CB18 \tab RR B \par 1 07519 04 \tab INC B \par 1 07517 3001 \tab JR NC,\b 07520\b0 \par 1 07515 CB21 \tab SLA C \par 1 07514 C9 \tab RET \par 1 07511 CC041C \tab CALL Z,7172 \par 1 07508 CDE81C \tab CALL 7400 \par 1 07506 0E00 \tab LD C,0 \par 1 07505 C9 \tab RET \par 1 07502 CCC61B \tab CALL Z,7110 \par 1 07499 CDE81C \tab CALL 7400 \par 1 07497 0EFF \tab LD C,255 \par 1 07496 C9 \tab RET \par 1 07492 DDCB0EFE\tab SET 7,(IX+14) \par 1 07491 B7 \tab OR A \par 1 07488 328629 \tab LD (10630),A \par 1 07487 7D \tab LD A,L \par 1 07486 C1 \tab POP BC \par 1 07479 C37717 \tab JP 6007 \par 1 07478 AF \tab XOR A \par 1 07475 2805 \tab JR Z,0\b 7482\b0 \par 1 07474 3C \tab INC A \par 1 07471 3A8629 \tab LD A,(10630) \par 1 07469 2E05 \tab LD L,5 \par 1 07466 CD511B \tab CALL 6993 \par 1 07464 2810 \tab JR Z,0\b 7482\b0 \par 1 07463 0C \tab INC C \par 1 07461 2E04 \tab LD L,4 \par 1 07460 C5 \tab PUSH BC \par 1 07459 C1 \tab POP BC \par 1 07457 2012 \tab JR NZ,0\b 7477\b0 \par 1 07456 3C \tab INC A \par 1 07453 3A8629 \tab LD A,(10630) \par 1 07450 CDD81A \tab CALL 6872 \par 1 07446 DD360E00 \tab LD (IX+14),0 \par 1 07443 DD710C \tab LD (IX+12),C \par 1 07441 2827 \tab JR Z,0\b 7482\b0 \par 1 07440 3C \tab INC A \par 1 07437 3A8629 \tab LD A,(10630) \par 1 07435 2E03 \tab LD L,3 \par 1 07434 C1 \tab POP BC \par 1 07433 D1 \tab POP DE \par 1 07430 CDFF1A \tab CALL 6911 \par 1 07429 D5 \tab PUSH DE \par 1 07428 C5 \tab PUSH BC \par 1 07427 4F \tab LD C,A \par 1 07425 2832 \tab JR Z,0\b 7477\b0 \par 1 07422 DDBE0C \tab CP (IX+12) \par 1 07420 E61F \tab AND 31 \par 1 07419 17 \tab RLA \par 1 07416 DD7E22 \tab LD A,(IX+34) \par 1 07415 17 \tab RLA \par 1 07411 DDCB20BE \tab RES 7,(IX+32) \par 1 07408 DD7720 \tab LD (IX+32),A \par 1 07405 DD7E21 \tab LD A,(IX+33) \par 1 07404 C5 \tab PUSH BC \par 1 07401 329229 \tab LD (10642),A \par 1 07400 AF \tab XOR A \par 1 07397 C32918 \tab JP 6185 \par 1 07395 3600 \tab LD (HL),0 \par 1 07392 329D29 \tab LD (10653),A \par 1 07391 3D \tab DEC A \par 1 07390 3D \tab DEC A \par 1 07388 2005 \tab JR NZ,07395 \par 1 07387 B7 \tab OR A \par 1 07386 7E \tab LD A,(HL) \par 1 07383 218629 \tab LD HL,10630 \par 1 07380 CD811B \tab CALL 7041 \par 1 07377 CD2918 \tab CALL 6185 \par 1 07375 2014 \tab JR NZ,07397 \par 1 07373 FE02 \tab CP 2 \par 1 07370 3A9229 \tab LD A,(10642) \par 1 07368 201B \tab JR NZ,07397 \par 1 07366 FE7E \tab CP 126 \par 1 07365 F1 \tab POP AF \par 1 07361 DDCB0EBE \tab RES 7,(IX+14) \par 1 07360 F5 \tab PUSH AF \par 1 07358 2006 \tab JR NZ,07366\par 1 07357 0D \tab DEC C \par 1 07356 0D \tab DEC C \par 1 07354 0E02 \tab LD C,2 \par 1 07353 34 \tab INC (HL) \par 1 07352 34 \tab INC (HL) \par 1 07351 77 \tab LD (HL),A \par 1 07349 3805 \tab JR C,07356 \par 1 07348 BE \tab CP (HL) \par 1 07345 219C29 \tab D HL,10652 \par 1 07342 3A9D29 \tab LD A,(10653) \par 1 07341 C1 \tab POP BC \par 1 07338 CD191F \tab CALL 7961 \par 1 07337 C5 \tab PUSH BC \par 1 07336 C1 \tab POP BC \par 1 07333 CDAB17 \tab CALL 6059 \par 1 07330 CDD818 \tab CALL 6360 \par 1 07327 229F29 \tab LD (10655),HL \par 1 07326 E1 \tab POP HL \par 1 07324 20E7 \tab JR NZ,07301 \par 1 07323 23 \tab INC HL \par 1 07322 23 \tab INC HL \par 1 07321 B8 \tab CP B \par 1 07320 A5 \tab AND L \par 1 07319 47 \tab LD B,A \par 1 07317 3E0F \tab LD A,15 \par 1 07315 0E00 \tab LD C,0 \par 1 07312 2A9F29 \tab LD HL,(10655) \par 1 07309 CD191F \tab CALL 7961 \par 1 07308 C1 \tab POP BC \par 1 07305 CDAB17 \tab CALL 6059 \par 1 07304 C5 \tab PUSH BC \par 1 07301 229F29 \tab LD (10655),HL \par 1 07299 0E02 \tab LD C,2 \par 1 07296 2AA129 \tab LD HL,(10657) \par 1 07293 CDDE18 \tab CALL 6366 \par 1 07291 EDB0 \tab LDIR \par 1 07288 01FF00 \tab LD BC,255 \par 1 07286 3600 \tab LD (HL),0 \par 1 07285 13 \tab INC DE \par 1 07284 5D \tab LD E,L \par 1 07283 54 \tab LD D,H ;make 256 zeros \par 1 07280 2A8D29 \tab LD HL,(10637) \par 1 07279 E5 \tab PUSH HL \par 1 07277 2036 \tab JR NZ,07333 \par 1 07276 3D \tab DEC A \par 1 07275 3D \tab DEC A \par 1 07274 79 \tab LD A,C \par 1 07273 C5 \tab PUSH BC \par 1 07272 C1 \tab POP BC \par 1 07270 203D \tab JR NZ,07333 \par 1 07269 3D \tab DEC A \par 1 07266 3A9229 \tab LD A,(10642) \par 1 07263 CDFD17 \tab CALL 6141 \par 1 07262 C5 \tab PUSH BC \par 1 07261 C0 \tab RET NZ \par 1 07260 B7 \tab OR A \par 1 07257 3A8629 \tab LD A,(10630) \par 1 07255 0E02 \tab LD C,2 \par 1 07254 72 \tab LD (HL),D \par 1 07253 23 \tab INC HL \par 1 07252 73 \tab LD (HL),E \par 1 07251 09 \tab ADD HL,BC \par 1 07250 09 \tab ADD HL,BC \par 1 07248 0600 \tab LD B,0 \par 1 07247 4F \tab LD C,A \par 1 07244 3A9429 \tab LD A,(10644) \par 1 07243 09 \tab ADD HL,BC \par 1 07240 011000 \tab LD BC,16 \par 1 07239 E1 \tab POP HL \par 1 07237 DDE5 \tab PUSH IX \par 1 07236 EB \tab EX DE,HL \par 1 07233 229F29 \tab LD (10655),HL \par 1 07230 C37717 \tab JP 6007 \par 1 07228 3E02 \tab LD A,2 \par 1 07226 2005 \tab JR NZ,07233 \par 1 07225 B4 \tab OR H \par 1 07224 7D \tab LD A,L \par 1 07221 CD521A \tab CALL 6738 \par 1 07220 4D \tab LD C,L \par 1 07219 44 \tab LD B,H \par 1 07216 CDC117 \tab CALL 6081 \par 1 07215 0B \tab DEC BC \par 1 07214 4F \tab LD C,A \par 1 07212 2807 \tab JR Z,07221 \par 1 07211 B7 \tab OR A \par 1 07208 010000 \tab LD BC,0 \par 1 07205 329429 \tab LD (10644),A \par 1 07202 CDD017 \tab CALL 6096 \par 1 07200 2037 \tab JR NZ,07257 \par 1 07198 0E00 \tab LD C,0 \par 1 07195 CDF717 \tab CALL 6135 \par 1 07192 CDEA17 \tab CALL 6122 \par 1 07190 30E4 \tab JR NC,07164 \par 1 07188 FE80 \tab CP 128 \par 1 07185 3A9D29 \tab LD A,(10653) \par 1 07182 CD1218 \tab CALL 6162 \par 1 07179 CD7918 \tab CALL 6265 \par 1 07176 CD8018 \tab CALL 6272 \par 1 07173 329029 \tab LD (10640),A \par 1 07172 AF \tab XOR A \par 1 07169 329229 \tab LD (10642),A \par 1 07167 3E02 \tab LD A,2 \par 1 07164 C37517 \tab JP 6005 \par 1 07161 C32918 \tab JP 6185 \par 1 07158 CD161F \tab CALL 7958 \par 1 07155 CDAB17 \tab CALL 6059 \par 1 07152 CDFD17 \tab CALL 6141 \par 1 07150 280C \tab JR Z,07164 \par 1 07147 CDF717 \tab CALL 6135 \par 1 07144 CDEA17 \tab CALL 6122 \par 1 07142 2014 \tab JR NZ,07164 \par 1 07141 B7 \tab OR A \par 1 07138 3A8629 \tab LD A,(10630) \par 1 07135 329D29 \tab LD (10653),A \par 1 07134 AF \tab XOR A \par 1 07131 CD811B \tab CALL 7041 \par 1 07129 2021 \tab JR NZ,07164 \par 1 07127 FE80 \tab CP 128 \par 1 07125 3811 \tab JR C,07144 \par 1 07124 BE \tab CP (HL) \par 1 07121 219C29 \tab LD HL,10652 \par 1 07118 3A9D29 \tab LD A,(10653) \par 1 07115 CD1218 \tab CALL 6162 \par 1 07112 329029 \tab LD (10640),A \par 1 07110 3EFF \tab LD A,255 \par 1 07107 329229 \tab LD (10642),A \par 1 07105 3E02 \tab LD A,2 \par 1 07104 C9 \tab RET \par 1 07100 DDCB0EFE \tab SET 7,(IX+14) \par 1 07097 CD7517 \tab CALL 6005 \par 1 07094 C37717 \tab JP 6007 \par 1 07093 AF \tab XOR A \par 1 07090 CD1218 \tab CALL 6162 \par 1 07087 CDE11A \tab CALL 6881 \par 1 07085 1803 \tab JR 07090 \par 1 07083 280C \tab JR Z,07097 \par 1 07080 CDF218 \tab CALL 6386 \par 1 07077 CD511B \tab CALL 6993 \par 1 07075 2814 \tab JR Z,07097 \par 1 07074 3C \tab INC A \par 1 07071 3A9029 \tab LD A,(10640) \par 1 07069 2010 \tab JR NZ,07087 \par 1 07066 CDF218 \tab CALL 6386 \par 1 07063 CDBE19 \tab CALL 6590 \par 1 07061 0E0F \tab LD C,15 \par 1 07058 DD770C \tab LD (IX+12),A \par 1 07056 E61F \tab AND 31 \par 1 07055 3C \tab INC A \par 1 07052 DD7E0C \tab LD A,(IX+12) \par 1 07051 C8 \tab RET Z \par 1 07048 CDF218 \tab CALL 6386 \par 1 07045 CDFF1A \tab CALL 6911 \par 1 07042 328F29 \tab LD (10639),A \par 1 07041 AF \tab XOR A \par 1 07040 C9 \tab RET \par 1 07036 DDCB0EFE \tab SET 7,(IX+14) \par 1 07033 CD8A1A \tab CALL 6794 \par 1 07030 CD9918 \tab CALL 6297 \par 1 07027 DD770D \tab LD (IX+13),A \par 1 07025 DDE1 \tab POP IX \par 1 07023 10F9 \tab DJNZ 07018 \par 1 07021 DD23 \tab INC IX \par 1 07018 DD770F \tab LD (IX+15),A \par 1 07017 AF \tab XOR A \par 1 07015 0611 \tab LD B,17 \par 1 07013 DDE5 \tab PUSH IX \par 1 07012 C8 \tab RET Z \par 1 07010 DDE1 \tab POP IX \par 1 07007 CDF218 \tab CALL 6386 \par 1 07004 CDBE19 \tab CALL 6590 \par 1 07002 0E01 \tab LD C,1 \par 1 06998 DD218829 \tab LD IX,10632 \par 1 06996 DDE5 \tab PUSH IX \par 1 06993 CD8018 \tab CALL 6272 \par 1 06992 C9 \tab RET \par 1 06991 35 \tab DEC (HL) \par 1 06988 218629 \tab LD HL,10630 \par 1 06985 C39C1A \tab JP 6812 \par 1 06984 77 \tab LD (HL),A \par 1 06983 1A \tab LD A,(DE) \par 1 06982 09 \tab ADD HL,BC \par 1 06979 01EFFF \tab LD BC,65519 ;-16\par 1 06978 EB \tab EX DE,HL \par 1 06975 328F29 \tab LD (10639),A \par 1 06973 3EFF \tab LD A,255 \par 1 06971 20E9 \tab JR NZ,06950 \par 1 06970 0D \tab DEC C \par 1 06969 23 \tab INC HL \par 1 06968 13 \tab INC DE \par 1 06966 2014 \tab JR NZ,06988 \par 1 06965 BE \tab CP (HL) \par 1 06964 1A \tab LD A,(DE) \par 1 06963 23 \tab INC HL \par 1 06962 13 \tab INC DE \par 1 06960 201A \tab JR NZ,06988 \par 1 06959 BE \tab CP (HL) \par 1 06958 1A \tab LD A,(DE) \par 1 06957 EB \tab EX DE,HL \par 1 06954 CDF11A \tab CALL 6897 \par 1 06953 EB \tab EX DE,HL \par 1 06950 CDF11A \tab CALL 6897 \par 1 06948 0E08 \tab LD C,8 \par 1 06947 09 \tab ADD HL,BC \par 1 06946 E1 \tab POP HL \par 1 06944 DDE5 \tab PUSH IX \par 1 06943 EB \tab EX DE,HL \par 1 06942 09 \tab ADD HL,BC \par 1 06939 CD8618 \tab CALL 6278 \par 1 06936 011000 \tab LD BC,16 \par 1 06935 C8 \tab RET Z \par 1 06932 CDF218 \tab CALL 6386 \par 1 06929 CDBE19 \tab CALL 6590 \par 1 06927 0E0F \tab LD C,15 \par 1 06926 C0 \tab RET NZ \par 1 06922 DDCB0E7E \tab BIT 7,(IX+14) \par 1 06921 C0 \tab RET NZ \par 1 06918 CD5318 \tab CALL 6227 \par 1 06915 32A429 \tab LD (10660),A \par 1 06912 328629 \tab LD (10630),A \par 1 06911 AF \tab XOR A \par 1 06910 C9 \tab RET \par 1 06909 2B \tab DEC HL \par 1 06908 1B \tab DEC DE \par 1 06907 77 \tab LD (HL),A \par 1 06906 1A \tab LD A,(DE) \par 1 06905 23 \tab INC HL \par 1 06904 13 \tab INC DE \par 1 06903 77 \tab LD (HL),A \par 1 06902 1A \tab LD A,(DE) \par 1 06901 C0 \tab RET NZ \par 1 06900 2B \tab DEC HL \par 1 06899 B6 \tab OR (HL) \par 1 06898 23 \tab INC HL \par 1 06897 7E \tab LD A,(HL) \par 1 06896 C9 \tab RET \par 1 06892 DDCB0EFE \tab SET 7,(IX+14) \par 1 06890 EDB0 \tab LDIR \par 1 06889 D1 \tab POP DE \par 1 06887 DDE5 \tab PUSH IX \par 1 06884 012000 \tab LD BC,32 \par 1 06881 CD8618 \tab CALL 6278 \par 1 06880 C8 \tab RET Z \par 1 06877 CDF218 \tab CALL 6386 \par 1 06874 CDBE19 \tab CALL 6590 \par 1 06872 0E0F \tab LD C,15 \par 1 06870 18F0 \tab JR 06856 \par 1 06867 CDD119 \tab CALL 6609 \par 1 06864 CD8E1A \tab CALL 6798 \par 1 06862 1E0C \tab LD E,12 \par 1 06860 0E00 \tab LD C,0 \par 1 06859 C8 \tab RET Z \par 1 06856 CDF218 \tab CALL 6386 \par 1 06853 CDBE19 \tab CALL 6590 \par 1 06851 0E0C \tab LD C,12 \par 1 06849 18ED \tab JR 06832 \par 1 06846 CDD119 \tab CALL 6609 \par 1 06843 CD8E1A \tab CALL 6798 \par 1 06841 1E0C \tab LD E,12 \par 1 06839 0E10 \tab LD C,16 \par 1 06836 CD6F18 \tab CALL 6255 \par 1 06835 C8 \tab RET Z \par 1 06832 CDF218 \tab CALL 6386 \par 1 06829 DD77109 \tab LD (IX+16),A \par 1 06826 DD7E00 \tab LD A,(IX+0) \par 1 06823 CDBE19 \tab CALL 6590 \par 1 06821 0E0C \tab LD C,12 \par 1 06818 CD8018 \tab CALL 6272 \par 1 06815 C3C418 \tab JP 6340 \par 1 06812 CD9A17 \tab CALL 6042 \par 1 06810 EDB0 \tab LDIR \par 1 06809 4F \tab LD C,A \par 1 06808 09 \tab ADD HL,BC \par 1 06807 E1 \tab POP HL \par 1 06805 DDE5 \tab PUSH IX \par 1 06803 0600 \tab LD B,0 \par 1 06802 7D \tab LD A,L \par 1 06801 EB \tab EX DE,HL \par 1 06798 CD8618 \tab CALL 6278 \par 1 06796 1E20 \tab LD E,32 ;len of cat entry ????????\par 1 06794 0E00 \tab LD C,0 \par 1 06793 C9 \tab RET \par 1 06790 210000 \tab LD HL,0 \par 1 06788 20CE \tab JR NZ,\b 06740\b0 ;loop\par 1 06787 B0 \tab OR B \par 1 06785 C9 \tab RET \par 1 06784 D1 \tab POP DE \par 1 06783 E1 \tab POP HL \par 1 06780 CD5719 \tab CALL \b 6487\b0 \par 1 06779 3C \tab INC A \par 1 06776 18DA \tab JR 0\b 6740\b0 ;loop\par 1 06775 C1 \tab POP BC \par 1 06774 D1 \tab POP DE \par 1 06772 3004 \tab JR NC,0\b 6778\b0 \par 1 06771 1F \tab RRA \par 1 06768 CD2819 \tab CALL \b 6440\b0 ;calculate with BC\par 1 06767 4B \tab LD C,E \par 1 06766 42 \tab LD B,D \par 1 06765 D5 \tab PUSH DE \par 1 06764 C5 \tab PUSH BC \par 1 06763 13 \tab INC DE \par 1 06761 3017 \tab JR NC,0\b 6786\b0 \par 1 06760 00 \tab NOP \par 1 06759 00 \tab NOP \par 1 06758 00 \tab NOP \par 1 06754 D1 \tab POP DE \par 1 06753 C1 \tab POP BC \par 1 06751 3019 \tab JR NC,0\b 6778\b0 \par 1 06750 1F \tab RRA \par 1 06747 CD2819 \tab CALL 6440 ;calculate with BC\par 1 06746 C5 \tab PUSH BC \par 1 06745 D5 \tab PUSH DE \par 1 06744 0B \tab DEC BC \par 1 06742 280B \tab JR Z,0\b 6755\b0 \par 1 06741 B0 \tab OR B \par 1 06740 79 \tab LD A,C \par 1 06739 59 \tab LD E,C \par 1 06738 50 \tab LD D,B \par 1 06735 C3381A \tab JP 6712 \par 1 06732 CDD119 \tab CALL 6609 \par 1 06729 CDC418 \tab CALL 6340 \par 1 06726 CD5D19 \tab CALL 6493 \par 1 06724 0E00 \tab LD C,0 \par 1 06722 36E5 \tab LD (HL),229 \par 1 06719 CD8618 \tab CALL 6278 \par 1 06716 CD6F18 \tab CALL 6255 \par 1 06715 C8 \tab RET Z \par 1 06712 CDF218 \tab CALL 6386 \par 1 06709 CDBE19 \tab CALL 6590\par 1 06707 0E0C \tab LD C,12 \par 1 06704 CD8018 \tab CALL 6272 \par 1 06701 C37717 \tab JP 6007 \par 1 06699 3EFF \tab LD A,255 \par 1 06696 CDFA18 \tab CALL 6394 \par 1 06695 C9 \tab RET \par 1 06694 77 \tab LD (HL),A \par 1 06693 AF \tab XOR A \par 1 06692 D0 \tab RET NC \par 1 06691 17 \tab RLA \par 1 06690 7E \tab LD A,(HL) \par 1 06687 219129 \tab LD HL,10641 \par 1 06684 328629 \tab LD (10630),A \par 1 06682 E607 \tab AND 7 \par 1 06679 3AA429 \tab LD A,(10660) \par 1 06677 18DB \tab JR 06642 \par 1 06676 0D \tab DEC C \par 1 06675 04 \tab INC B \par 1 06674 23 \tab INC HL \par 1 06673 13 \tab INC DE \par 1 06671 20C0 \tab JR NZ,06609 \par 1 06669 E61F \tab AND 31 \par 1 06668 96 \tab SUB (HL) \par 1 06666 1805 \tab JR 06673 \par 1 06664 20C7 \tab JR NZ,06609 \par 1 06662 E67F \tab AND 127 \par 1 06661 96 \tab SUB (HL) \par 1 06659 2807 \tab JR Z,06668 \par 1 06658 1A \tab LD A,(DE) \par 1 06656 FE0C \tab CP 12 \par 1 06654 2811 \tab JR Z,06673 \par 1 06652 FE0D \tab CP 13 \par 1 06651 78 \tab LD A,B \par 1 06649 2816 \tab JR Z,06673 \par 1 06647 FE3F \tab CP 63 \par 1 06646 1A \tab LD A,(DE) \par 1 06644 2821 \tab JR Z,06679 \par 1 06643 B7 \tab OR A \par 1 06642 79 \tab LD A,C \par 1 06640 0600 \tab LD B,0 ;drop (10646)\par 1 06636 ED4B9529 \tab LD BC,(10645) ;LD C,(10645)\par 1 06633 CD8618 \tab CALL 6278 \par 1 06631 303F \tab JR NC,06696 \par 1 06628 CD9118 \tab CALL 6289 \par 1 06626 2805 \tab JR Z,06633 \par 1 06624 FEE5 \tab CP 229 \par 1 06623 1A \tab LD A,(DE) \par 1 06619 ED5B9629 \tab LD DE,(10646) \par 1 06617 284D \tab JR Z,06696 \par 1 06614 CDF218 \tab CALL 6386 \par 1 06611 CD0019 \tab CALL 6400 \par 1 06609 0E00 \tab LD C,0 \par 1 06606 CDF71E \tab CALL 7927 \par 1 06603 CDFA18 \tab CALL 6394 \par 1 06599 DD229629 \tab LD (10646),IX \par 1 06596 329529 \tab LD (10645),A \par 1 06595 79 \tab LD A,C \par 1 06592 329129 \tab LD (10641),A \par 1 06590 3EFF \tab LD A,255 \par 1 06587 C37717 \tab JP 6007 \par 1 06584 3A9129 \tab LD A,(10641) \par 1 06582 18E5 \tab JR 06557 \par 1 06579 CD9918 \tab CALL 6297 \par 1 06576 CD5D19 \tab CALL 6493 \par 1 06574 0E01 \tab LD C,1 \par 1 06572 28EF \tab JR Z,06557 \par 1 06571 BE \tab CP (HL) \par 1 06569 3EE5 \tab LD A,229 \par 1 06566 CD8618 \tab CALL 6278 \par 1 06565 C8 \tab RET Z \par 1 06562 CDF218 \tab CALL 6386 \par 1 06559 CD0019 \tab CALL 6400 \par 1 06557 0EFF \tab LD C,255 \par 1 06554 CDFA18 \tab CALL 6394 \par 1 06552 3607 \tab LD (HL),7 \par 1 06551 2B \tab DEC HL \par 1 06548 CDF71E \tab CALL 7927 \par 1 06546 36C0 \tab LD (HL),192 \par 1 06545 E1 \tab POP HL \par 1 06543 EDB0 \tab LDIR \par 1 06540 012700 \tab LD BC,39 \par 1 06539 13 \tab INC DE \par 1 06537 3600 \tab LD (HL),0\par 1 06536 54 \tab LD D,H \par 1 06535 5D \tab LD E,L \par 1 06534 E5 \tab PUSH HL \par 1 06533 23 \tab INC HL \par 1 06530 2AA729 \tab LD HL,(10663) \par 1 06528 18E5 \tab JR 06503 \par 1 06527 C1 \tab POP BC \par 1 06526 23 \tab INC HL \par 1 06525 E1 \tab POP HL \par 1 06522 DC4F19 \tab CALL C,6479 \par 1 06521 00 \tab NOP \par 1 06520 00 \tab NOP \par 1 06519 00 \tab NOP \par 1 06516 CD241F \tab CALL 7972 \par 1 06514 2809 \tab JR Z,06525 \par 1 06513 B0 \tab OR B \par 1 06512 79 \tab LD A,C \par 1 06511 E5 \tab PUSH HL \par 1 06510 46 \tab LD B,(HL) \par 1 06509 23 \tab INC HL \par 1 06508 4E \tab LD C,(HL) \par 1 06507 C5 \tab PUSH BC \par 1 06506 D5 \tab PUSH DE \par 1 06505 C8 \tab RET Z \par 1 06504 0D \tab DEC C \par 1 06503 D1 \tab POP DE \par 1 06501 0E09 \tab LD C,9 \par 1 06500 C5 \tab PUSH BC \par 1 06499 19 \tab ADD HL,DE \par 1 06496 111000 \tab LD DE,16 \par 1 06493 CD8618 \tab CALL 6278 \par 1 06492 C9 \tab RET \par 1 06491 77 \tab LD (HL),A ;and store at the orig position\par 1 06489 20FC \tab JR NZ,06487 \par 1 06488 15 \tab DEC D ;now adjust A according to D\par 1 06487 0F \tab RRCA \par 1 06486 B1 \tab OR C \par 1 06485 C1 \tab POP BC \par 1 06483 E6FE \tab AND 254 ;drop bit0\par 1 06480 CD2819 \tab CALL 6440 ;calculate with BC\par 1 06478 C9 \tab RET \tab\par 1 06476 20FC \tab JR NZ,\b 06474\b0 \tab ;loop\par 1 06475 1D \tab DEC E \tab ;the old lower 3 bits from C\par 1 06473 7E \tab LD A,(HL) \par 1 06472 09 \tab ADD HL,BC \tab ;point to something\par 1 06471 23 \tab INC HL \par 1 06468 2AA729 \tab LD HL,(10663) \tab ;address of what??\par 1 06467 47 \tab LD B,A \par 1 06465 E61F \tab AND 31 \tab ;clean up result\par 1 06464 0F \tab RRCA \par 1 06463 0F \tab RRCA \par 1 06462 0F \tab RRCA ;move 5 high bits into low position\par 1 06461 78 \tab LD A,B ;again\par 1 06460 4F \tab LD C,A ;store result here\par 1 06459 B1 \tab OR C ;add to C, already holding 5 high bits\par 1 06458 87 \tab ADD A,A ;lower 3 bits held in B now in high pos.\par 1 06457 87 \tab ADD A,A \par 1 06456 87 \tab ADD A,A \par 1 06455 87 \tab ADD A,A \par 1 06454 87 \tab ADD A,A ;rotate left\par 1 06453 78 \tab LD A,B ;take B\par 1 06452 4F \tab LD C,A ;store the number from the higher bits\par 1 06450 E61F \tab AND 31 ;keep higher 5 bits\par 1 06449 0F \tab RRCA \par 1 06448 0F \tab RRCA \par 1 06447 0F \tab RRCA \par 1 06446 79 \tab LD A,C ;again\par 1 06445 57 \tab LD D,A ;into DE\par 1 06444 5F \tab LD E,A \par 1 06443 3C \tab INC A \par 1 06441 E607 \tab AND 7 ;keep lower 3 bits\par 1 06440 79 \tab LD A,C \par 1 06437 C3A218 \tab JP 6306 \par 1 06436 C1 \tab POP BC \par 1 06433 CDD218 \tab CALL 6354 \par 1 06430 CD9A17 \tab CALL 6042 \par 1 06429 C5 \tab PUSH BC \par 1 06428 C0 \tab RET NZ \par 1 06427 B7 \tab OR A \par 1 06424 32A329 \tab LD (10659),A \par 1 06422 10FD \tab DJNZ 06421 \par 1 06421 87 \tab ADD A,A \par 1 06419 0605 \tab LD B,5 \par 1 06417 E607 \tab AND 7 \par 1 06416 78 \tab LD A,B \par 1 06413 C3FA18 \tab JP 6394 \par 1 06411 3003 \tab JR NC,06416 \par 1 06410 90 \tab SUB B \par 1 06408 3E7F \tab LD A,127 \par 1 06405 32A429 \tab LD (10660),A \par 1 06404 47 \tab LD B,A \par 1 06403 3C \tab INC A \par 1 06400 3AA429 \tab LD A,(10660) \par 1 06399 C9 \tab RET \par 1 06397 36FF \tab LD (HL),255 \par 1 06394 21A429 \tab LD HL,10660 \par 1 06393 C9 \tab RET \par 1 06392 3C \tab INC A \par 1 06391 C0 \tab RET NZ \par 1 06389 FEFF \tab CP 255 \par 1 06386 3AA429 \tab LD A,(10660) \par 1 06385 C9 \tab RET \par 1 06383 EDB0 \tab LDIR \par 1 06380 010001 \tab LD BC,256 \tab ;buff size\par 1 06376 ED5B8B29 \tab LD DE,(10635) \par 1 06373 2A8D29 \tab LD HL,(10637) \par 1 06366 ED4B8D29 \tab LD BC,(10637) \par 1 06364 1804 \tab JR 06370 \par 1 06357 CD161F \tab CALL 7958 \par 1 06354 CDDE18 \tab CALL 6366 \par 1 06351 C3D818 \tab JP 6360 \par 1 06348 CD191F \tab CALL 7961 \par 1 06346 0E01 \tab LD C,1 \par 1 06343 CDDE18 \tab CALL 6366 \par 1 06340 CDA018 \tab CALL 6304 \par 1 06339 C9 \tab RET \par 1 06338 77 \tab LD (HL),A \par 1 06337 C9 \tab RET \par 1 06334 CD6018 \tab CALL 6240 \par 1 06333 D0 \tab RET NC \par 1 06330 CD9118 \tab CALL 6289 \par 1 06329 C8 \tab RET Z \par 1 06328 BE \tab CP (HL) \par 1 06326 280A \tab JR Z,06338 \par 1 06325 0C \tab INC C \par 1 06324 19 \tab ADD HL,DE \par 1 06321 2AA929 \tab LD HL,(10665) \par 1 06319 1600 \tab LD D,0 \par 1 06315 ED5BA529 \tab LD DE,(10661) \par 1 06312 CD4018 \tab CALL 6208 \par 1 06311 D0 \tab RET NC \par 1 06309 D610 \tab SUB 16 \par 1 06306 3AA529 \tab LD A,(10661) \par 1 06304 0EFF \tab LD C,255 \par 1 06303 C9 \tab RET \par 1 06302 77 \tab LD (HL),A \par 1 06301 3C \tab INC A \par 1 06300 D8 \tab RET C \par 1 06297 CD9118 \tab CALL 6289 \par 1 06296 C9 \tab RET \par 1 06295 BE \tab CP (HL) \par 1 06292 2AA729 \tab LD HL,(10663) \par 1 06289 3AA429 \tab LD A,(10660) \par 1 06288 C9 \tab RET \par 1 06287 24 \tab INC H \par 1 06286 D0 \tab RET NC \par 1 06285 6F \tab LD L,A \par 1 06284 85 \tab ADD A,L \par 1 06281 3AA329 \tab LD A,(10659) \par 1 06278 2A8D29 \tab LD HL,(10637) \par 1 06277 17 \tab DEFB 23 \tab\tab\cf1\b ;"Disk 'R/O"\tab\tab ;READ/ONLY\cf0\b0\par 1 06276 E7 \tab RST #20 \tab ;report error\par 1 06275\tab C8 \tab RET Z\par 1 06272\tab CD5318\tab CALL 6227\par 1 06271 18\tab\tab DEFB 24\tab\tab\cf1\b ;"File 'R/O"\tab\tab ;READ/ONLY\par 1 06270 E7 \tab RST #20 ;report error\par 1 06269 D0 \tab RET NC \par 1 06265 DD7E09 \tab LD A,(IX+9) \par 1 06263 1803 \tab JR 0\b 6268\b0 \par 1 06262 7E \tab LD A,(HL) \par 1 06261 19 \tab ADD HL,DE \par 1 06258 110900 \tab LD DE,9 ;header len?\par 1 06255 CD8618 \tab CALL 6278 \par 1 06254 C9 \tab RET \par 1 06252 3681 \tab LD (HL),129 \par 1 06249 2AA729 \tab LD HL,(10663) \par 1 06246 328929 \tab LD (10633),A \par 1 06243 CDDA17 \tab CALL 6106 ;calc new value for A\par 1 06240 3A8929 \tab LD A,(10633) \par 1 06239 C9 \tab RET \par 1 06237 E601 \tab AND 1 \par 1 06234 CD4B18 \tab CALL 6219 \par 1 06231 3A8929 \tab LD A,(10633) \par 1 06230 47 \tab LD B,A \par 1 06227 3A8529 \tab LD A,(10629) \par 1 06226 C9 \tab RET \par 1 06224 10FC \tab DJNZ 06222 \par 1 06223 1F \tab RRA \par 1 06222 B7 \tab OR A \par 1 06221 C8 \tab RET Z ;if B=0\par 1 06220 05 \tab DEC B \par 1 06219 04 \tab INC B \par 1 06218 C9 \tab RET \par 1 06216 10FC \tab DJNZ 06214 \par 1 06215 23 \tab INC HL \par 1 06214 8E \tab ADC A,(HL) \par 1 06213 AF \tab XOR A \par 1 06210 2A8D29 \tab LD HL,(10637) \par 1 06208 0600 \tab LD B,0 \par 1 06207 C9 \tab RET \par 1 06204 DD770F \tab LD (IX+15),A \par 1 06201 3A9C29 \tab LD A,(10652) \par 1 06198 DD7720 \tab LD (IX+32),A \par 1 06197 81 \tab ADD A,C \par 1 06194 3A9D29 \tab LD A,(10653) \par 1 06192 AF \tab XOR A \par 1 06190 2801 \tab JR Z,0\b 6193\b0 \par 1 06188 FE02 \tab CP 2 \par 1 06185 3A9229 \tab LD A,(10642) \par 1 06183 18F7 \tab JR 0\b 6176\b0 \par 1 06181 CB1D \tab RR L \par 1 06179 CB1C \tab RR H \par 1 06178 B7 \tab OR A \par 1 06177 C8 \tab RET Z ;exit here\par 1 06175 0C \tab INC C \par 1 06174 C9 \tab RET \par 1 06171 329C29 \tab LD (10652),A \par 1 06168 DD7E0F \tab LD A,(IX+15) \par 1 06165 329D29 \tab LD (10653),A \par 1 06162 DD7E20 \tab LD A,(IX+32) \par 1 06161 C9 \tab RET \par 1 06158 229F29 \tab LD (10655),HL \par 1 06157 6F \tab LD L,A \par 1 06156 B5 \tab OR L \par 1 06154 E60F \tab AND 15 \par 1 06151 3A9D29 \tab LD A,(10653) \par 1 06148 22A129 \tab LD (10657),HL \par 1 06147 29 \tab ADD HL,HL \par 1 06146 29 \tab ADD HL,HL \par 1 06145 29 \tab ADD HL,HL \par 1 06144 29 \tab ADD HL,HL \par 1 06141 2A9F29 \tab LD HL,(10655) \par 1 06140 C9 \tab RET \par 1 06139 B4 \tab OR H \par 1 06138 7D \tab LD A,L \par 1 06135 2A9F29 \tab LD HL,(10655) \par 1 06134 C9 \tab RET \par 1 06131 229F29 \tab LD (10655),HL \par 1 06128 CDC117 \tab CALL 6081 \par 1 06126 0600 \tab LD B,0 \par 1 06125 4F \tab LD C,A \par 1 06122 CDD017 \tab CALL 6096 \par 1 06121 C9 \tab RET \par 1 06118 10FD \tab DJNZ 06117 \par 1 06117 87 \tab ADD A,A ;A=A*2^B\par 1 06115 2803 \tab JR Z,06120 ;exit if B=0\par 1 06114 05 \tab DEC B \par 1 06113 04 \tab INC B \par 1 06111 3E01 \tab LD A,1 \par 1 06110 47 \tab LD B,A \par 1 06107 3A8529 \tab LD A,(10629) \par 1 06106 4F \tab LD C,A \par 1 06105 C9 \tab RET \par 1 06104 0F \tab RRCA ;move to lower nibble\par 1 06103 0F \tab RRCA \par 1 06102 0F \tab RRCA \par 1 06101 0F \tab RRCA \par 1 06099 E6F0 \tab AND 240 \tab\tab ;11110000\par 1 06096 3A9D29 \tab LD A,(10653) \par 1 06095 C9 \tab RET \par 1 06093 DDE1 \tab POP IX \par 1 06090 DD6611 \tab LD H,(IX+17) \par 1 06087 DD6E10 \tab LD L,(IX+16) \par 1 06085 DD09 \tab ADD IX,BC \par 1 06083 DD09 \tab ADD IX,BC \par 1 06078 C30C1F \tab JP 7948 \par 1 06077 4F \tab LD C,A \par 1 06076 F1 \tab POP AF \par 1 06073 CD071F \tab CALL 7943 \par 1 06072 4D \tab LD C,L \par 1 06069 CD1F18 \tab CALL 6175 ;rotate HL\par 1 06067 0E06 \tab LD C,6 \par 1 06066 F5 \tab PUSH AF \par 1 06064 E61F \tab AND 31 \par 1 06063 1F \tab RRA \par 1 06062 7D \tab LD A,L \par 1 06056 32A529 \tab LD (10661),A \par 1 06055 1F \tab RRA \par 1 06052 229F29 \tab LD (10655),HL \par 1 06050 2600 \tab LD H,0 \par 1 06049 6F \tab LD L,A \cf4 ;store the track number??\cf0\par 1 06048 1F \tab RRA \par 1 06047 1F \tab RRA \par 1 06045 E6FC \tab AND 252 ;11111100\par 1 06041 C9 \tab RET \par 1 06038 22A929 \tab LD (10665),HL \par 1 06037 09 \tab ADD HL,BC ;??\par 1 06034 012900 \tab LD BC,41 \par 1 06031 22A729 \tab LD (10663),HL \par 1 06030 E1 \tab POP HL \par 1 06027 CDFC1E \tab CALL 7932 \par 1 06026 4F \tab LD C,A \par 1 06025 C5 \tab PUSH BC \par 1 06024 46 \tab LD B,(HL) ;fetch value from table\par 1 06023 23 \tab HL \par 1 06022 4E \tab LD C,(HL) \par 1 06021 09 \tab ADD HL,BC \par 1 06020 09 \tab ADD HL,BC \par 1 06018 0600 \tab LD B,0 \par 1 06017 4F \tab LD C,A \par 1 06014 3A8529 \tab LD A,(10629) \par 1 06010 \tab C9 \tab RET \par 1 06006 \tab 328629 \tab LD (10630),A \par 1 06004 \tab 3E01 \tab LD A,1\par 1 06002 \tab 931E \tab ;7827\tab 23\tab random write with fillers ??\par 1 06001 \tab 811E \tab ;7809\tab 22\tab deselect current drive\par 1 05998 \tab 9F1D \tab ;7583\tab 21\tab point to file for random access ??\par 1 05996 \tab 7B1E \tab ;7803\tab 20\tab calculate file length\par 1 05994 \tab 751E \tab ;7797\tab 19\tab write random byte\par 1 05992 \tab 6F1E \tab ;7791\tab 18\tab read random byte\par 1 05990 \tab 621E \tab ;7778\tab 17\tab read file attributes\par 1 05988 \tab 5D1E \tab ;7773\tab 16\tab get array for disk protection\par 1 05986 \tab 6018 \tab ;6240\tab 15\tab set soft protection for current drive ??\par 1 05984 \tab 561E \tab ;7766\tab 14\tab get address of assigned vector ??\par 1 05982 \tab 4F1E \tab ;7759\tab 13 \tab point to DMA transfer address ??\par 1 05980 \tab 491E \tab ;7753\tab 12\tab get current drive\par 1 05978 \tab 441E \tab ;7748\tab 11\tab get login array\par 1 05976 \tab 3B1E \tab ;7739\tab 10\tab rename file\par 1 05974 \tab 311E \tab ;7729\tab 9\tab create file\par 1 05972 \tab 2B1E \tab ;7723\tab 8\tab write sequential byte to file\par 1 05967 \tab 0F1E\tab ;7695\tab 5\tab ???\par 1 05965 \tab F11D \tab ;7665 \tab 4\tab search for the first ??\par 1 05963 \tab EB1D\tab ;7659\tab 3\tab close file\par 1 05959 \tab CA1D\tab ;7626\tab 1\tab select disk drive\par 1 05956 E9 \tab JP (HL) \tab ;go there\par 1 05955 6F \tab LD L,A \par 1 05954 66 \tab LD H,(HL) \par 1 05953 23 \tab INC HL \par 1 05952 7E \tab LD A,(HL) \tab ;fetch address\par 1 05951 09 \tab ADD HL,BC \par 1 05949 0600 \tab LD B,0 \par 1 05948 4F \tab LD C,A \par 1 05947 87 \tab ADD A,A \tab ;x 2\par 1 05944 214517 \tab LD HL,\b 5957\b0 \tab ;table\par 1 05943 D0 \tab RET NC \par 1 05941 FE18 \tab CP 24 \par 1 05940 79 \tab LD A,C \par 1 05939 E5 \tab PUSH HL \par 1 05936 21A41E \tab LD HL,\b 7844\b0 \tab ;ret addr\par 1 05933 329329 \tab LD (10643),A \par 1 05932 7B \tab LD A,E \par 1 05929 329B29 \tab LD (10651),A \par 1 05926 32AB29 \tab LD (10667),A \par 1 05925 7D \tab LD A,L \par 1 05922 228629 \tab LD (10630),HL ;temp in data buff\par 1 05919 210000 \tab LD HL,0 ;reset both vars\par 1 05917 DDE1 \tab POP IX \tab ;IX holds DE\par 1 05916 D5 \tab PUSH DE \par 1 05914 DDE5 \tab PUSH IX \par 1 05911 C35905 \tab JP 1369 ;via END-1 back to main ROM\par 1 05908 CD330D \tab CALL 3379 ;CLOSE command\par 1 05904 FDCB7C8E \tab RES 1,(IY+124) \par 1 05902 D603 \tab SUB 3 \par 1 05900 CB3F \tab SRL A \par 1 05897 CD9701 \tab CALL 407 ;create new vars\par 1 05895\tab DEFB #FF\par 1 05747 C34411 \tab JP 4420 \par 1 05744 CD1A17 \tab CALL 5914 ;do service 'C'\par 1 05743 F1 \tab POP AF \par 1 05740 CA5211 \tab JP Z,4434 \par 1 05739 F5 \tab PUSH AF ;keep A\par 1 05738 B7 \tab OR A \par 1 05735 3AD65C \tab LD A,(23766) ;drve nr\par 1 05732 C31912 \tab JP \b 4633\b0 ;\cf2 read RESULT status to 10618\cf0\par 1 05729 CDF811 \tab CALL \b 4600\b0 ;write command seq. to fdc\par 1 05726 010702 \tab LD BC,519 ;B=2=len C=7=\cf1\b reset command \cf0\b0 \par 1 05723 CD1912 \tab CALL 4633 ;\cf2 read RESULT status to 10618\cf0\par 1 05722 C9 \tab RET \par 1 05719 327329 \tab LD (10611),A ;store track in TASK FILE\par 1 05718 0F \tab RRCA \tab\tab\cf3 ;div by two!!!! \cf0\tab\tab\par 1 05717 C8 \tab RET Z \par 1 05713 FDCB024E \tab BIT 1,(IY+2) ;normally NOT set (read 40 trk in 80 drv!)\par 1 05710 3A7B29 \tab LD A,(10619) ;'status1', = Present Cylinder Number\par 1 05709 C9 \tab RET \par 1 05703 327329 \tab LD (10611),A ;wanted track nr TASK FILE\par 1 05702 87 \tab ADD A,A \cf3 ;2x for 40 disk in 80 drv\cf0\par 1 05700 2804 \tab JR Z,\b 5706\b0 \par 1 05695 C9 \tab RET \par 1 05694 1F \tab RRA \par 1 05693 B7 \tab OR A \par 1 05690 3A3E2A \tab LD A,(10814) ;(=80)\par 1 05686 C9 \tab RET \par 1 05679 FDCB02CE \tab SET 1,(IY+2) ;normally NOT set (read 40 trk in 80 drv!)\par 1 05677 2804 \tab JR Z,\b 05683\b0 \par 1 05676 BE \tab CP (HL) \par 1 05673 213D2A \tab LD HL,10813 ;(=80)\par 1 05669 77 \tab LD (HL),A \par 1 05666 3E28 \tab LD A,40 ;max tracks??\par 1 05664 2002 \tab JR NZ,0\b 5668\b0 \par 1 05661 3A3D2A \tab LD A,(10813) ;(=80)\par 1 05659 FE01 \tab CP 1 ;test if track 1 found (then 40 track disk!)\par 1 05656 3A7D29 \tab LD A,(10621) ;'sector ID info C' \b =track!\b0\par 1 05653 CD9412 \tab CALL \b 4756\b0 \cf2 ;read \cf1\b RESULT\cf2\b0 into buffer 10618\cf0\par 1 05650 CDF811 \tab CALL \b 4600\b0 ;write command seq. to fdc\par 1 05647 014A02 \tab LD BC,586 ;B=2 C=74 (10 + 64) \cf1\b READ ID\cf0\b0\par 1 05644 CD0B12 \tab CALL \b 4619\b0 \cf2 ;SET TRACK\cf0\par 1 05642 3E02 \tab LD A,2 ;go for track 2\par 1 05639 CD1912 \tab CALL \b 4633\b0 ;wait for result main\cf2 status to 10618\cf0\par 1 05636 CDF811 \tab CALL \b 4600\b0 ;write command seq. to fdc\par 1 05633 010702 \tab LD BC,519 ;B=2, C=7 \cf1\b RESET DRIVE\cf0\b0\par 1 05630 CD0B12 \tab CALL \b 4619\b0 \cf2 ;SET TRACK\cf0\par 1 05628 3E0A \tab LD A,10 \par 1 05625 CD1912 \tab CALL \b 4633\b0 ;wait for result phase, \cf2 mainstatus to 10618\cf0\par 1 05619 010702 \tab LD BC,519 ;B=2, C=7 \cf1\b RESET DRIVE\cf0\par 1 05616 CD1912 \tab CALL \b 4633\b0 ;wait for result phase, \cf2 mainstatus to 10618\cf0\par 1 05613 CDF811 \tab CALL \b 4600\b0 ;write command seq. to fdc\par 1 05610 010702 \tab LD BC,519 ;B=2, C=7 \cf1\b RESET DRIVE\cf0\b0\par 1 05609 E5 \tab PUSH HL ;TWO resets is normal procedure!!\par 1 05607 203D \tab JR NZ,\b 05670\b0 \par 1 05606 B7 \tab OR A \par 1 05604 23 \tab INC HL ;10817\par 1 05602 2801 \tab JR Z,\b 05605\b0 \par 1 05601 B7 \tab OR A ;test for zero\par 1 05598 FD7E01 \tab LD A,(IY+1) \par 1 05593 2058 \tab JR NZ,\b 05683\b0 ;exit!\par 1 05591 FE02 \tab CP 2 \par 1 05589 2804 \tab JR Z,\b 05595\b0 \par 1 05587 FE01 \tab CP 1 \par 1 05584 FD7E0B \tab LD A,(IY+11) \par 1 05579 3E50 \tab LD A,80 \par 1 05577 2002 \tab JR NZ,\b 05581\b0 \par 1 05575 3E28 \tab LD A,40 ;trks?\par 1 05573 E602 \tab AND 2 ;bit 1, always set (tested 2005!)\par 1 05571 DB07 \tab IN A,(7) ;motor latch\par 1 05569 280A \tab JR \b Z,05581\b0 \par 1 05567 3E50 \tab LD A,80 ;trks?\par 1 05566 B7 \tab OR A ;test for 0\par 1 05563 FD7E01 \tab LD A,(IY+1) ;wanted track??????????\par 1 05559 FDCB028E \tab RES 1,(IY+2) ;normally NOT set (read 40 trk in 80 drv???)\par 1 05558 C9 \tab RET \par 1 05557 BE \tab CP (HL) \par 1 05554 213D2A \tab LD HL,10813 ;status 40/80????\par 1 05550 C9 \tab RET \par 1 05549 23 \tab INC HL ;offset in channel data for this IX \par 1 05547 ED52 \tab SBC HL,DE ;\par 1 05546 B7 \tab OR A \par 1 05542 ED5B4F5C \tab LD DE,(23631) ;CHANS, addr of channel data\par 1 05541 E1 \tab POP HL \par 1 05539 DDE5 \tab PUSH IX ;copy start of channel to HL\par 1 05535 FF RST #38 \par 1 05516 FF RST #38 \par 1 05510 \tab DC0D\tab ;3548\tab ;58 $3A - CALPHY (disk i/o on sector level)\tab\tab\par 1 05504\tab 6A0E\tab ;3690\tab ;55 $37 - \cf1\b MAKE-D\tab (create 'D' channel) \cf2\b0 see hook#2B IF1\cf0\par 1 05496 \tab 9C0E\tab ;3740\tab ;51 $33 - open a file on disk \tab\par 1 05488 \tab BB22\tab ;8891\tab ;47 $2F \cf3 - READ-N\tab\tab\cf2 (get bit packet from network)\par 1 05482 \tab 350E\tab ;3637\tab ;32 $20 - \cf3 KBD-TEST\cf0\tab\tab (test any key pressed)\par 1 05480 \tab 300E\tab ;3632\tab ;31 $1F - \cf3 PRT-OUT\cf0\tab\tab (print to #3)\par 1 05478 \tab 970B\tab ;2967\tab ;30 $1E - \cf3 BCHAN-OUT\cf0 \tab (byte to RS232)\par 1 05451 FF RST #38 \par 1 05450 C9 \tab RET \par 1 05446 DDCB04FE S\tab SET 7,(IX+4) \par 1 05444 DDE1 \tab POP IX \tab ;channel area\par 1 05443 D5 \tab PUSH DE \par 1 05440 CDA70A \tab CALL 2727\tab\tab ;Open RS232 channel\par 1 05439 FF RST #38 \par 1 05432 FF RST #38 \par 1 05431 C9 \tab RET \par 1 05427 DDCB04FE \tab SET 7,(IX+4) \par 1 05424 DD7E04 \tab LD A,(IX+4) \par 1 05423 FF RST #38 \par 1 05418 FF RST #38 \par 1 05417 C9 \tab RET \par 1 05414 210500 \tab LD HL,5 \par 1 05412 3642 \tab LD (HL),66 \par 1 05411 19 \tab ADD HL,DE \par 1 05407 FF RST #38 \par 1 05401 FF RST #38 \par 1 05398 C3B311 \tab JP 4531 ;init drive ????????\par 1 05395 22B05C \tab LD (23728),HL ;UNUSED\par 1 05392 210050 \tab LD HL,20480 \par 1 05376 D1 \tab POP DE \par 1 05373 CD790B \tab CALL 2937 ;out a SPACE\par 1 05371 3E20 \tab LD A,32 \par 1 05370 D5 \tab PUSH DE \par 1 05369 C8 \tab RET Z \par 1 05368 BA \tab CP D \par 1 05365 3AB05C \tab LD A,(23728) \par 1 05362 CA7014 \tab JP Z,5232 \par 1 05361 B7 \tab OR A \par 1 05358 18F2 \tab JR 05346 \par 1 05357 57 \tab LD D,A \par 1 05356 90 \tab SUB B \par 1 05355 7A \tab LD A,D \par 1 05354 47 \tab LD B,A \par 1 05352 3006 \tab JR NC,0\b 5360\b0 \par 1 05350 2802 \tab JR Z,05354 \par 1 05349 BA \tab CP D \par 1 05346 3AB15C \tab LD A,(23729) \par 1 05345 57 \tab LD D,A \par 1 05342 FD7ED5 \tab LD A,(IY-43) \par 1 05341 C0 \tab RET NZ \par 1 05340 3F \tab CCF \par 1 05338 FE17 \tab CP 23 \par 1 05336 2808 \tab JR Z,05346 \par 1 05334 FE16 \tab CP 22 \par 1 05331 FD7ED4 \tab LD A,(IY-44) \par 1 05330 57 \tab LD D,A \par 1 05327 CDB714 \tab CALL 5303 \par 1 05324 11790B \tab LD DE,2937 \par 1 05322 18EB \tab JR 05303 \par 1 05319 FD77D5 \tab LD (IY-43),A \par 1 05316 11CC14 \tab LD DE,5324 \par 1 05315 C9 \tab RET \par 1 05314 72 \tab LD (HL),D \par 1 05313 23 \tab INC HL \par 1 05312 73 \tab LD (HL),E \par 1 05311 D1 \tab POP DE \par 1 05310 19 \tab ADD HL,DE \par 1 05307 110500 \tab LD DE,5 \par 1 05306 D5 \tab PUSH DE \par 1 05303 2A515C \tab LD HL,(23633) \tab ;CURRent-CHannel\par 1 05300 FD77D4 \tab LD (IY-44),A \par 1 05295 1803 \tab JR 05300 \par 1 05292 11CC14 \tab LD DE,5324 \par 1 05291 D8 \tab RET C \par 1 05289 FE10 \tab CP 16 \par 1 05287 2808 \tab JR Z,\b 05297\b0 \par 1 05285 FE17 \tab CP 23 \par 1 05283 280C \tab JR Z,05297 \par 1 05279 18F5 \tab JR 05270 \par 1 05278 C8 \tab RET Z \par 1 05277 1D \tab DEC E \par 1 05276 D1 \tab POP DE \par 1 05273 CD790B \tab CALL 2937\par 1 05271 3E20 \tab LD A,32 \par 1 05268 18F2 \tab JR 05256 \par 1 05266 30FA \tab JR NC,05262 \par 1 05264 2804 \tab JR Z,0\b 5270\b0 \par 1 05262 D608 \tab SUB 8 \par 1 05260 2808 \tab JR Z,05270 \par 1 05259 B8 \tab CP B \par 1 05258 79 \tab LD A,C \par 1 05257 0C \tab INC C \par 1 05256 1C \tab INC E \par 1 05254 1E00 \tab LD E,0 \par 1 05250 ED4BB05C \tab LD BC,(23728) \par 1 05248 201F \tab JR NZ,0\b 5281\b0 \par 1 05243 C3970B \tab JP 2967 ;add NEWLINE\par 1 05241 3E0A \tab LD A,10 \par 1 05238 CD970B \tab CALL 2967 ;out CARRIAGE RETURN\par 1 05236 3E0D \tab LD A,13 \par 1 05232 FD367600 \tab LD (IY+118),0 \par 1 05230 200E \tab JR NZ,\b 05246\b0 \par 1 05225 C3970B \tab JP 2967 \par 1 05224 F1 \tab POP AF \par 1 05220 FD367601 \tab LD (IY+118),1 \par 1 05217 CD7014 \tab CALL 5232 \par 1 05215 3007 \tab JR NC,05224 \par 1 05212 FDBE76 \tab CP (IY+118) \par 1 05209 3AB15C \tab LD A,(23729) ;\par 1 05206 FD3476 \tab INC (IY+118) \par 1 05205 F5 \tab PUSH AF \par 1 05203 3817 \tab JR C,0\b 5228\b0 ;skip if <32\par 1 05201 FE20 \tab CP 32 \par 1 05199 3E3F \tab LD A,63 ;"?"\par 1 05197 3802 \tab JR C,05201 ;jp with ASCII\par 1 05195 FE7F \tab CP 127 \par 1 05193 CBC6 \tab SET 0,(HL) \par 1 05191 2002 \tab JR NZ,05195 \par 1 05189 FE20 \tab CP 32 \par 1 05187 CB86 \tab RES 0,(HL) \par 1 05184 213B5C \tab LD HL,23611 ;FLAGS\par 1 05183 FF \tab DEFB #FF \par 1 05164 FF \tab DEFB #FF, etc \par 1 05163 FF \tab DEFB #FF\tab\tab ;headload time \par 1 05161 C9 \tab RET \par 1 05158 CDFB11 \tab CALL 4603 ;write a command seq. to fdc\par 1 05155 212A14 \tab LD HL,\b 5162\b0 ;Timing TABLE\par 1 05152 010303 \tab LD BC,771 ;B=3, C=3 \cf1\b Specify \cf2\b0 (timings)\cf0\par 1 05150 D307 \tab OUT (7),A \par 1 05148 3E10 \tab LD A,16 ;signal what?(motor=off!)\par 1 05146 D307 \tab OUT (7),A \par 1 05144 3E00 \tab LD A,0 \par 1 05143 C9 \tab RET \par 1 05142 B7 \tab OR A \tab ;error flag\par 1 05140 20B1 \tab JR NZ,0\b 5063\b0 \tab ;again\par 1 05136 C9 \tab RET \par 1 05135 37 \tab SCF \par 1 05133 3E10 \tab LD A,16 \tab ;msge nr???\par 1 05131 2804 \tab JR Z,0\b 5137\b0 \par 1 05129 E6C0 \tab AND 192 \par 1 05126 3A7A29 \tab LD A,(10618) \tab ;RESULT status0\par 1 05123 CD6B12 \tab CALL 4715 \tab ;prep drive, issuing commands from table\par 1 05120 213229 \tab LD HL,10546 \tab ;table of 64\par 1 05118 0640 \tab LD B,64 \par 1 05115 CDF811 \tab CALL \b 4600\b0 \tab ;write TASK FILE to fdc from 10610\par 1 05112 014D06 \tab LD BC,1613 \tab ;B=6, C=77 =13+64 = \cf1\b FORMAT\cf0\b0\par 1 05110 EDB0 \tab LDIR \par 1 05107 010400 \tab LD BC,4 \par 1 05104 117329 \tab LD DE,10611 \tab ;TASK FILE track nr\par 1 05101 21BF13 \tab LD HL,5055 \tab\cf3 ;default-2 command table\cf0\par 1 05100 77 \tab LD (HL),A \par 1 05099 B2 \tab OR D \par 1 05097 CB02 \tab RLC D \par 1 05095 CB02 \tab RLC D \par 1 05093 E603 \tab AND 3 \tab ;adjust into command\par 1 05092 7E \tab LD A,(HL) \par 1 05089 217229 \tab LD HL,10610 \tab ;drive number TASK FILE\par 1 05087 10F4 \tab DJNZ 0\b 5077\b0\par 1 05086 23 \tab INC HL \par 1 05084 3601 \tab LD (HL),1 =1\par 1 05083 1C \tab INC E \par 1 05082 23 \tab INC HL \par 1 05081 73 \tab LD (HL),E =1,2,3,4...\par 1 05080 23 \tab INC HL \par 1 05079 72 \tab LD (HL),D =1\par 1 05078 23 \tab INC HL \par 1 05075 1E01 \tab LD E,1 \par 1 05074 15 \tab DEC D ;now 1\par 1 05071 FD5604 \tab LD D,(IY+4) ;=2\par 1 05068 FD4E03 \tab LD C,(IY+3) \par 1 05066 0610 \tab LD B,16 \par 1 05055 \tab 01\tab ;command sequence for FORMAT only (01 goes to 'tracknr')\par 1 05051 \tab 01\tab ;command sequence\par 1 05049 18BB \tab JR 0\b 4982\b0 \tab ;exit\par 1 05046 FD3503 \tab DEC (IY+3) \tab ;\par 1 05044 38EB \tab JR C,\b 05025\b0 \tab ;try again\par 1 05043 00 \tab NOP \par 1 05042 00 \tab NOP \tab ;test A iy+3 track?\par 1 05039 CDAF15 \tab CALL 5551 \tab\cf1\b ;LD HL,10813 \cf2\b0 40/80 flag-?????\cf0\par 1 05036 FD3403 \tab INC (IY+3) \par 1 05034 38CD \tab JR C,0\b 4985\b0 \tab\cf3 ;nonexisting!!!\cf0\par 1 05031 CDC313 \tab CALL \b 5059\b0 \tab ;\cf3\b format\cf0\b0\par 1 05028 CD0B12 \tab CALL \b 4619\b0\tab\tab\cf2 ;SET TRACK\cf0\par 1 05021 FD360300 \tab LD (IY+3),0 \par 1 05018 CD5B16 \tab CALL \b 5723\b0 \tab ;reset drive\par 1 05015 CDF811 \tab CALL 4600 \tab ;write a command to fdc\par 1 05012 010702 \tab LD BC,519 \tab ;B=2, C=7 \cf1\b RECALIBRATE \cf2\b0 ,reset drive\cf0\par 1 05011 C9 \tab RET \par 1 05010 FB \tab EI \par 1 05006 ED7B8329 \tab LD SP,(10627) ;retrieve from temp store in buff\par 1 05004 DDE1 \tab POP IX \par 1 05002 FDE1 \tab POP IY ;??????????????????\par 1 05001 F1 \tab POP AF \par 1 04999 D307 \tab OUT (7),A ;LATCH\par 1 04997 F610 \tab OR 16 ;bit4\par 1 04996 87 \tab ADD A,A ;bit1/bit2\par 1 04995 3C \tab INC A \par 1 04993 E601 \tab AND 1 ;translate to latch\par 1 04990 3A7229 \tab LD A,(10610) ;drive number TASK FILE\par 1 04989 F5 \tab PUSH AF \par 1 04986 FD770C \tab LD (IY+12),A \tab ;store status1\par 1 04983 01C137 \tab LD BC,14273 \tab ;fake\par 1 04980 18C0 \tab JR 0\b 4918\b0 \tab ;handle next sector\par 1 04977 CD0B12 \tab CALL \b 4619\b0 \tab\cf2 ;SET TRACK\cf0\par 1 04974 FD7E03 \tab LD A,(IY+3) \par 1 04971 CD1912 \tab CALL \b 4633\b0 \tab ;wait for successfull SEEK,\cf2 status to 10618\cf0\par 1 04968 CDF811 \tab CALL \b 4600\b0 \tab ;write a command to fdc\par 1 04965 010702 \tab LD BC,519 \tab ;C=7, B=2 \cf1\b RESET drive\cf0\b0\par 1 04961 FD361104 \tab LD (IY+17),4 \tab ;nr of retries?\par 1 04959 2818 \tab JR Z,0\b 4985\b0 \tab ;\cf3 exit! (nonexisting!!!)\cf0\par 1 04956 3A7B29 \tab LD A,(10619) \tab ;status1 \par 1 04953 FD3510 \tab DEC (IY+16) \par 1 04951 20DD \tab JR NZ,\b 04918\b0 \par 1 04948 FD3511 \tab DEC (IY+17) \tab ;\cf3 nr of retries?\cf0\par 1 04946 2822 \tab JR Z,0\b 4982\b0 \tab ;exit, restoring SP\par 1 04944 E6C0 \tab AND 192 \tab ;1100 0000\par 1 04941 3A7A29 \tab LD A,(10618) \tab ;RESULT status0\par 1 04938 CD6312 \tab CALL \b 4707\b0 \tab ;read/write sector\par 1 04935 FD6606 \tab LD H,(IY+6) \par 1 04932 FD6E05 \tab LD L,(IY+5) \tab ;buffer addr??\par 1 04927 0E45 \tab LD C,69 \tab ;=5+64\tab\tab\tab\cf1\b WRITE DATA\cf0\b0\par 1 04925 3802 \tab JR C,0\b 4929\b0 \par 1 04922 014609 \tab LD BC,2374 \tab ;B=9, C=70 =6+64 \tab\cf1\b READ DATA\cf0\b0\par 1 04921 1F \tab RRA \par 1 04915 CA9413 \tab JP Z,5012 \tab ;\b do format!\par 1 04913 FE04 \tab CP 4 \par 1 04911 2845 \tab JR Z\b ,04982\b0 \tab ;exit, stop motor\par 1 04910 B7 \tab OR A \par 1 04907 FD7E0B \tab LD A,(IY+11) \tab ;which command?\par 1 04905 EDB0 \tab LDIR \par 1 04902 010400 \tab LD BC,4 \par 1 04899 117629 \tab LD DE,10614 ;2nd part of \cf1\b TASKFILE\cf0\b0\par 1 04896 21BB13 \tab LD HL,\b 5051\b0 \tab ;default-1 command table\par 1 04893 CD0B12 \tab CALL \b 4619\b0 \tab\cf2 ;SET TRACK, number in A\cf0\par 1 04890 CDB715 \tab CALL \b 5559\b0 \tab ;prepare new tracknr, reset drive\par 1 04887 327429 \tab LD (10612),A \tab ;side, \cf1\b TASK FILE\cf0\b0\tab\par 1 04886 0F \tab RRCA \tab ;into bit 0 now\par 1 04885 0F \tab RRCA \tab\par 1 04884 78 \tab LD A,B \par 1 04881 327229 \tab LD (10610),A ;unit, \cf1\b TASK FILE\cf0\b0\par 1 04880 B0 \tab OR B \tab ;OR bit 2,\cf1\b side\cf0\b0\par 1 04877 3A7229 \tab LD A,(10610) \tab ;drive number \cf1\b TASK FILE\cf0\b0\par 1 04874 327529 \tab LD (10613),A \tab ;sector reg \cf1\b TASK FILE\cf0\b0\par 1 04873 7E \tab LD A,(HL) \par 1 04872 6F \tab LD L,A \par 1 04871 85 \tab ADD A,L \par 1 04866 D610 \tab SUB 16 \tab ;start from sector 0 again\par 1 04864 0604 \tab LD B,4 \tab ;set bit 2 for side 1\par 1 04862 3804 \tab JR C,0\b 4868\b0 \tab\cf3\b ;sectors > 16 on side two!!\cf0\b0\par 1 04860 FE10 \tab CP 16 \par 1 04857 FD7E04 \tab LD A,(IY+4) \tab ;sector number\par 1 04853 10F9 \tab DJNZ 0\b 4848\b0 \par 1 04850 CD3312 \tab CALL \b 4659\b0 ;delay A,B\par 1 04847 47 \tab LD B,A \par 1 04845 2808 \tab JR Z,0\b 4855\b0 ;skip delay\par 1 04844 B7 \tab OR A \par 1 04841 DD7E03 \tab LD A,(IX+3) ;IX !\par 1 04839 200E \tab JR NZ,0\b 4855\b0 \par 1 04838 F1 \tab POP AF \tab\cf1\b ;retrieve 'motor-running' flag\cf0\b0\par 1 04836 DDE1 \tab POP IX ;IX now IY+9\par 1 04835 E5 \tab PUSH HL \par 1 04832 FD660A \tab LD H,(IY+10) \par 1 04829 FD6E09 \tab LD L,(IY+9) ;?\par 1 04827 D307 \tab OUT (7),A ;LATCH\par 1 04825 F618 \tab OR 24 ;00011000\par 1 04824 87 \tab ADD A,A ;physical nr > bit1/bit2\par 1 04823 3C \tab INC A \par 1 04820 327229 \tab LD (10610),A ;drive number TASK FILE\par 1 04817 78 \tab LD A,B \par 1 04815 AF \tab XOR A \cf2 ;reset 'motor-running' flag\par 1 04814 F1 \tab POP AF ;'motor-running' flag\par 1 04813 47 \tab LD B,A \par 1 04810 FD770E \tab LD (IY+14),A ;different drive\par 1 04808 2808 \tab JR Z,\b 4818\b0 ;skip if same\par 1 04805 FDBE0E \tab CP (IY+14) ;old drive\par 1 04802 FD7E01 \tab LD A,(IY+1) ;drive nr?\par 1 04801 F5 \tab PUSH AF ;\cf1 save A + flag for later\cf0\par 1 04799 E601 \tab AND 1 ;NZ =255 >skip spinup delay??\par 1 04798 2F \tab CPL \par 1 04796 DB07 \tab IN A,(7) ;read LATCH 255 or 254\par 1 04792 FD361104 \tab LD (IY+17),4 \par 1 04788 FD361002 \tab LD (IY+16),2 \par 1 04786 FDE1 \tab\cf3 POP IY\cf0 \tab\tab ;IY=BC =table address\par 1 04785 C5 \tab\cf3 PUSH BC\cf0 \par 1 04783 FDE5 \tab PUSH IY \par 1 04781 DDE5 \tab PUSH IX \par 1 04778 31002C \tab LD SP,11264 \tab\tab ;temp stack \par 1 04774 ED738329 \tab LD (10627),SP \tab\tab ;temp in buffer\par 1 04773 F3 \tab DI \par 1 04771 \tab 18F2 \tab JR \b 4759\b0 \tab ;loop until finished\par 1 04770 \tab 23 \tab INC HL \par 1 04769 \tab 77 \tab LD (HL),A \par 1 04766 \tab CDF111 \tab CALL \b 4593\b0 \tab ;\b read fdc data reg \cf1 IN A,(135)\cf0\b0\par 1 04765 \tab D0 \tab RET NC \tab ;NC if writing\par 1 04764 \tab 17 \tab RLA \tab ;test DIO\par 1 04762 \tab 30FB \tab JR NC,\b 4759\b0 \tab ;loop if not\par 1 04761 \tab 17 \tab RLA ;ready?\par 1 04756 \b0 217A29 \tab LD HL,10618 \tab ;\b sector buffer\b0\par 1 04754 D307 \tab OUT (7),A ;\cf3 physically LATCH \cf0 the motor status\par 1 04752 E6FE \tab AND 254 \tab ;11111110 flash bit 0 to enable FDC timer\par 1 04750 D307 \tab OUT (7),A \par 1 04748 F619 \tab OR 25 \tab ;00011xx1 insert drive bit\par 1 04747 87 \tab ADD A,A \tab ;d0=2, d1=4 \b : no more! (\b0 d2=6 d4=8)\par 1 04746 3C \tab INC A \tab ;0>1, 1>2, 2>3, 3>4\par 1 04739 20F5 \tab JR NZ,\b 4730\b0 \tab ;loop writing more data\par 1 04738 E3 \tab EX (SP),HL \par 1 04737 E3 \tab EX (SP),HL \tab ;delay\par 1 04735 EDA3 \tab OTI \tab ;then write\par 1 04733 30FB \tab JR NC,\b 4730\b0 \tab ;loop until more data requested\par 1 04732 07 \tab RLCA \tab ;bit 7\par 1 04729 E3 \tab EX (SP),HL \par 1 04728 E3 \tab EX (SP),HL \tab ;delay\par 1 04726 EDA3 \tab OTI \tab\tab ;write data from table \par 1 04724 281E \tab JR Z,\b 4756\b0 \tab\cf2 ;read RESULT into buffer 10618 \par 1 04722 E640 \tab AND 64 \tab ;this was bit 5, execute flag\par 1 04720 30FB \tab JR NC,\b 4717\b0 \tab ;loop until data requested\par 1 04719 07 \tab RLCA \tab ;bit 7\par 1 04713 0600 \tab LD B,0 \tab ;now write!\par 1 04711 38DD \tab JR C,\b 4678 \b0 \tab ;go read sector\par 1 04710 1F \tab RRA \par 1 04705 1822 \tab JR \cf3 04741\cf0 \tab ;motor off and get result \par 1 04704 E603 \tab AND 3 \tab ;keep only both drive-nr bits\par 1 04703 20F5 \tab JR NZ,\b 04694\b0 \tab ;the counter in B is used!!!!!\par 1 04702 E3 \tab EX (SP),HL \par 1 04701 E3 \tab EX (SP),HL \tab ;delay\par 1 04699 EDA2 \tab INI \tab\tab ;read DATA, and DEC B\par 1 04697 30FB \tab JR NC,04694 \tab ;busy\par 1 04696 07 \tab RLCA \par 1 04693 E3 \tab EX (SP),HL \par 1 04692 E3 \tab EX (SP),HL \tab ;delay\par 1 04690 EDA2 \tab INI \tab ;read DATA\par 1 04688 2842 \tab JR Z,\cf2\b 4756\cf0\b0 \tab\cf2 ;read RESULT into buffer 10618\par 1 04686 E640 \tab AND 64 \tab ;this was bit 5, executeflag!\par 1 04684 30FB \tab JR NC,\b 4681\b0 \tab ;busy\par 1 04683 07 \tab RLCA \par 1 04678\b0 018700 \tab LD BC,135 \tab ;FDC DATA port (B=256!)\par 1 04677 C9 \tab RET \par 1 04676 23 \tab INC HL \par 1 04675 C8 \tab RET Z \par 1 04671 FDCB0146 \tab BIT 0,(IY+1) \par 1 04667 C9 \tab RET \par 1 04665 20F8 \tab JR NZ,0\b 4659\b0 \par 1 04664 3D \tab DEC A \par 1 04662 20FD \tab JR NZ,0\b 4661\b0 ;delay\par 1 04656 DD7E02 \tab LD A,(IX+2) \tab ;delay depending on IX+2, 40/80trk? \par 1 04655 77 \tab LD (HL),A \tab ;and in trackstore!\par 1 04652 CD4E16 \tab CALL \b 5710\b0 \cf2 \tab ;store current tracknr in taskfile\cf0\par 1 04649 CD3C12 \tab CALL \b 4668\b0 \tab ;choose trackstore\par 1 04647 28F0 \tab JR Z,\b 4633\b0 \tab ;loop until result phase\par 1 04645 E620 \tab AND 32 \tab ;test "seek successfull"\par 1 04642 3A7A29 \tab LD A,(10618) \tab ;'status0' info\par 1 04639 CD9412 \tab CALL \b 4756\b0 \tab\cf2 ;read RESULT into buffer 10618\cf0\par 1 04636 CDF811 \tab CALL \b 4600\b0 \tab ;write a command to fdc\par 1 04630 CDF811 \tab CALL \b 4600\b0 \tab ;write a command to fdc\par 1 04627 CD4016 \tab CALL \b 5696\b0 \tab ;\cf1\b SEEK \cf0\b0 PREPARE DRIVE COMMAND C=15,B=3 \par 1 04626 C8 \tab RET Z \par 1 04625 BE \tab CP (HL) \cf3 \tab ;compare current-wanted track?\cf0\par 1 04622 CD3C12 \tab CALL \b 4668\b0\tab\tab ;trackstore drv 1/2 10625/6\par 1 04618 C9 \tab RET \par 1 04616 10F1 \tab DJNZ \b 4603\b0 \tab ;loop B times\par 1 04615 23 \tab INC HL \tab\par 1 04614 4E \tab LD C,(HL) \tab ;fetch from TABLE\par 1 04611 CDEA11 \tab CALL \b 4586\b0 \tab ;write fdc data reg = OUT (135),A\par 1 04610 79 \tab LD A,C \tab ;get command from C\par 1 04609 D8 \tab RET C \tab ; set if reading\par 1 04608 17 \tab RLA \tab ;test DIO bit 6\par 1 04606 30FB \tab JR NC,\b 4603\b0 \tab ; set if ready\par 1 04605 17 \tab RLA \tab\tab\tab ;test RQM bit 7\par 1 04599 C9 \tab RET \par 1 04598 E3 \tab EX (SP),HL \par 1 04597 E3 \tab EX (SP),HL \par 1 04596 E3 \tab EX (SP),HL \par 1 04595 E3 \tab EX (SP),HL ;delay 12 usec\par 1 04592 C9 \tab RET \par 1 04591 E3 \tab EX (SP),HL \par 1 04590 E3 \tab EX (SP),HL \par 1 04589 E3 \tab EX (SP),HL \par 1 04588 E3 \tab EX (SP),HL ;delay 12 usec\par 1 04583 C31A17 \tab JP 5914 \tab ;do service 'C'=0 \b initialize DOS\b0\par 1 04581 0E00 \tab LD C,0 \par 1 04578 CD1814 \tab CALL \b 5144\b0 \tab ;SET FDC TIMERS\par 1 04575 228D29 \tab LD (10637),HL \par 1 04572 213228 \tab LD HL,10290\par 1 04569 22332A \tab LD (10803),HL \par 1 04566 21EA1F \tab LD HL,\cf3 8170 \cf0 \tab ;drive characteristics table \par 1 04563 32382A \tab LD (10808),A \par 1 04560 22B029 \tab LD (10672),HL \par 1 04557 21EE29 \tab LD HL,10734 \par 1 04554 22AE29 \tab LD (10670),HL \par 1 04551 21B229 \tab LD HL,10674 \par 1 04548 22AC29 \tab LD (10668),HL \par 1 04545 21AE29 \tab LD HL,10670 \par 1 04542 328829 \tab LD (10632),A \par 1 04540 3EE5 \tab LD A,229 \tab ;format filler????\par 1 04537 CDF001 \tab CALL 496 \tab ;RES-VARS fill block at HL with BC zeros\par 1 04534 010004 \tab LD BC,1024 \tab ; \par 1 04531 210028 \tab LD HL,10240 \par 1 04530 11\tab\tab DEFB 17\tab\tab\tab ;"File not found"\par 1 04529 E7 \tab RST #20 \tab\tab ;report error\par 1 04528 C0 \tab RET NZ \par 1 04527 3C \tab INC A \par 1 04524 CD1A17 \tab CALL 5914 \tab\tab ;do service 'C'=4 \b search for first\b0\par 1 04522 0E04 \tab LD C,4 \par 1 04519 CD040F \tab CALL 3844\par 1 04516 CD700E \tab CALL 3696\par 1 04512 0E\tab\tab DEFB 14\tab\tab\tab ;\b "Write protected"\b0\par 1 04510 10\tab\tab DEFB 16\tab\tab\tab ;\b "Disk error"\b0\par 1 04509 E7 \tab RST #20 \tab\tab\tab ;report error\par 1 04507 2002 \tab JR NZ,\b 4511\b0 \par 1 04505 E610 \tab AND 16 \par 1 04502 3A362A \tab LD A,(10806) \par 1 04501 D0 \tab RET NC \par 1 04500 F1 \tab POP AF \par 1 04497 CDE00B \tab CALL 3040 \tab\tab\cf1\b ;#0D4D BORD-REST\cf0\b0\par 1 04496 F5 \tab PUSH AF \par 1 04493 CDA512 \tab CALL \b 4773\b0 \tab\tab ;CALPHY\par 1 04490 012A2A \tab LD BC,10794 \tab\tab ;table address, later IY\par 1 04488 D3FE \tab OUT (254),A \par 1 04485 3AC65C \tab LD A,(23750) \tab\tab ;IOBRD\par 1 04480 3E04 \tab LD A,4 \par 1 04478 36E5 \tab LD (HL),229 \tab\tab ;filler byte\par 1 04475 222F2A \tab LD (10799),HL \par 1 04472 213228 \tab LD HL,10290 \par 1 04469 322D2A \tab LD (10797),A \par 1 04468 AF \tab XOR A \par 1 04465 322B2A \tab LD (10795),A \par 1 04464 3D \tab DEC A \par 1 04458 C31A17 \tab JP 5914 ;do service 'C'=6 \b erase file\par 1 04456 0E06 \tab LD C,6 \par 1 04453 CD040F \tab CALL 3844 ;point \cf3 somewhere?\cf0 into channel area\par 1 04450 CDA111 \tab CALL \b 4513\b0 ;find the file\par 1 04449 C9 \tab RET \par 1 04448 E1 \tab POP HL \par 1 04445 CD1A17 \tab CALL 5914 ;do service 'C'=1 \b select disk\b0\par 1 04443 0E01 \tab LD C,1 \par 1 04442 5F \tab LD E,A \par 1 04441 E5 \tab PUSH HL \par 1 04440 C8 \tab RET Z \par 1 04439 F1 \tab POP AF \par 1 04436 CD1A17 \tab CALL 5914 ;do service 'C'=14 \b find assigned vector\b0\par 1 04431 CD1A17 \tab CALL 5914 ;do service 'C'=1 \b select disk\b0\par 1 04429 0E01 \tab LD C,1 \par 1 04428 5D \tab LD E,L \par 1 04426 2806 \tab JR Z,0\b 4434\b0 \par 1 04425 F5 \tab PUSH AF \par 1 04424 BD \tab CP L \par 1 04423 2D \tab DEC L \par 1 04420 2AD65C \tab LD HL,(23766) \par 1 04417 C36716 \tab JP \b 5735\b0 ;do service 'C'=12 \b find current drive\b0\par 1 04409 20 66 72 65 65 8D \tab ;" free" + endmarker\par 1 04401 C9 \tab RET \par 1 04399 30F7 \tab JR NC,0\b 4392\b0 \par 1 04398 23 \tab INC HL \par 1 04397 87 \tab ADD A,A \par 1 04396 7E \tab LD A,(HL) \par 1 04393 CD530E \tab CALL 3667 \cf2 \tab ;out-char\cf0\par 1 04389 213211 \tab LD HL,4402 \tab ;print "kbytes free"\par 1 04387 1B1A \tab DEFW \par 1 04386 D7 \tab RST #10 \par 1 04385 44 \tab LD B,H \par 1 04384 4D \tab LD C,L \par 1 04383 29 \tab ADD HL,HL \par 1 04382 EB \tab EX DE,HL \par 1 04380 20F2 \tab JR NZ,04368 \par 1 04379 3D \tab DEC A \par 1 04377 10F9 \tab DJNZ 04372\par 1 04376 13 \tab INC DE \par 1 04374 3801 \tab JR C,04377 \par 1 04372 CB11 \tab RL C \par 1 04370 0608 \tab LD B,8 \par 1 04369 23 \tab INC HL \par 1 04368 4E \tab LD C,(HL) \par 1 04367 00 \tab NOP \par 1 04366 00 \tab NOP \par 1 04363 CD3716 \tab CALL \b 5687\b0 \tab ;fetch (10814) and rra)\par 1 04360 CD3F11 \tab CALL 4415 \tab ;do service 'C'=12 \b find current drive\b0\par 1 04357 CD530E \tab CALL \b 3667\b0 \tab ;\cf1 out-char\cf0\par 1 04355 3E0D \tab LD A,13 \par 1 04353 20DD \tab JR NZ,0\b 4320\b0 \par 1 04352 3C \tab INC A \par 1 04349 CD1A17 \tab CALL \b 5914\b0 \tab ;do service 'C'=5 \cf1\b unknown\cf0\b0\par 1 04347 0E05 \tab LD C,5 \par 1 04344 CD040F \tab CALL \b 3844\b0 \tab ;point in channel data to ??\par 1 04341 CC3D0E \tab CALL Z,\b 3645\b0 \tab ;print name\par 1 04340 EB \tab EX DE,HL \par 1 04338 CB7E \tab BIT 7,(HL) \tab ;test\par 1 04337 19 \tab ADD HL,DE \tab ;point to R/O attribute (in filename!)\par 1 04334 210900 \tab LD HL,9 \tab\par 1 04333 EB \tab EX DE,HL \par 1 04332 19 \tab ADD HL,DE \par 1 04329 213328 \tab LD HL,10291 \tab ;start of data in 'D' chan\par 1 04327 1600 \tab LD D,0 \par 1 04326 5F \tab LD E,A \par 1 04325 87 \tab ADD A,A \tab\tab ;32 x (lenght of CAT entry!) \par 1 04324 87 \tab ADD A,A \par 1 04323 87 \tab ADD A,A \par 1 04322 87 \tab ADD A,A \par 1 04321 87 \tab\tab ADD A,A\tab\par 1 04317 CDA111 \tab CALL \b 4378\b0 \par 1 04315 0116\tab DEFW #1601\par 1 04314 D7 \tab RST #10 \par 1 04311 3AD85C \tab LD A,(23768) ;stream number\par 1 04308 3F3F3F \par 1 04304 3F3F3F3F \par 1 04300 3F3F3F3F \par 1 04298 18D6 \tab JR 0\b 4258\b0 \par 1 04296 DD19 \tab ADD IX,DE \par 1 04293 DD560A \tab LD D,(IX+10) \par 1 04288 18E0 \tab JR 0\b 4258\b0 ;loop\par 1 04285 CD4B10 \tab CALL 4171 \par 1 04283 3005 \tab JR NC,0\b 4290\b0 \par 1 04282 87 \tab ADD A,A \par 1 04280 18E8 \tab JR 04258 \par 1 04277 CD4B10 \tab CALL 4171 \par 1 04275 2005 \tab JR NZ,04282 \par 1 04273 FEC4 \tab CP 196 \par 1 04269 C9 \tab RET \par 1 04267 D3EF \tab OUT (239),A \cf1\b ;serial OUT handshake?\cf0\b0\par 1 04265 3EEE \tab LD A,238 \par 1 04263 2005 \tab JR NZ,0\b 4270\b0 \par 1 04261 FE80 \tab CP 128 \par 1 04256 DD19 \tab ADD IX,DE ;point to data?\par 1 04253 111400 \tab LD DE,20 ;\par 1 04249 DD2A4F5C \tab LD IX,(23631) ;chans\par 1 04244 C9 \tab RET \par 1 04243 E1 \tab POP HL \par 1 04240 325F5C \tab LD (23647),A \par 1 04238 20D9 \tab JR NZ,0\b 4201\b0 \par 1 04237 3D \tab DEC A \par 1 04236 23 \tab INC HL \par 1 04235 23 \tab INC HL \par 1 04231 72 \tab LD (HL),D \par 1 04230 23 \tab INC HL \par 1 04229 73 \tab LD (HL),E \par 1 04225 EB \tab EX DE,HL \par 1 04223 ED42 \tab SBC HL,BC \par 1 04222 B7 \tab OR A \par 1 04221 EB \tab EX DE,HL \par 1 04217 1807 \tab JR 0\b 4226\b0 \par 1 04214 110000 \tab LD DE,0 \par 1 04212 2005 \tab JR NZ,0\b 4219\b0 \par 1 04210 ED52 \tab SBC HL,DE \par 1 04209 B7 \tab OR A \par 1 04208 E5 \tab PUSH HL \par 1 04207 E1 \tab POP HL \par 1 04206 56 \tab LD D,(HL) \par 1 04205 23 \tab INC HL \par 1 04204 5E \tab LD E,(HL) \par 1 04198 21165C \tab LD HL,23574 \par 1 04196 3E10 \tab LD A,16 \par 1 04195 E5 \tab PUSH HL \par 1 04194 C1 \tab POP BC \par 1 04193 23 \tab INC HL \par 1 04191 ED52 \tab SBC HL,DE \par 1 04190 B7 \tab OR A \par 1 04186 ED5B4F5C \tab LD DE,(23631) \par 1 04185 E1 \tab POP HL \par 1 04183 E819 \tab DEFB #19E8\tab\tab ;RECLAIM-2\par 1 04182 D7 \tab RST #10 \tab ;calbas\par 1 04181 E5 \tab PUSH HL \par 1 04180 E1 \tab POP HL \par 1 04178 DDE5 \tab PUSH IX \par 1 04177 C5 \tab PUSH BC \par 1 04174 DD460A \tab LD B,(IX+10) \par 1 04162 CDF101 \tab CALL 497 ;res-vars: make buffer\par 1 04160 3E1A \tab LD A,26 ;EOF marker??\par 1 04159 19 \tab ADD HL,DE \par 1 04158 50 \tab LD D,B \tab ;B=0\par 1 04155 DD5E30 \tab LD E,(IX+48) ;data buff pointer\par 1 04154 19 \tab ADD HL,DE \par 1 04151 113200 \tab LD DE,50 ;buffer offset\par 1 04150 E1 \tab POP HL \par 1 04148 DDE5 \tab PUSH IX \par 1 04147 4F \tab LD C,A \par 1 04145 2815 \tab JR Z,0\b 4168\b0 \par 1 04142 DD9630 \tab SUB (IX+48) ;data buff pointer\par 1 04141 47 \tab LD B,A \par 1 04140 AF \tab XOR A \par 1 04138 2019 \tab JR NZ,0\b 4165\b0 ;jp if not yet\par 1 04134 DDCB3146 \tab BIT 0,(IX+49) ;256 border?\par 1 04132 2825 \tab JR Z,0\b 4171 \b0 ;jp if read\par 1 04128 DDCB0B46 \tab BIT 0,(IX+11) ;read/write flag, 0=read\par 1 04127 C9 \tab RET \par 1 04126 E1 \tab POP HL \par 1 04123 18BC \tab JR 0\b 4057\b0 \par 1 04120 010001 \tab LD BC,256 \par 1 04119 D1 \tab POP DE \par 1 04116 C2200C \tab JP NZ,3104 \par 1 04115 B7 \tab OR A \par 1 04112 CD1A17 \tab CALL 5914 ;do service 'C'=7 \b read from file\b0\par 1 04110 0E07 \tab LD C,7 \par 1 04107 CD040F \tab CALL 3844 ;;point to data area in chan\par 1 04106 D5 \tab PUSH DE \par 1 04104 2813 \tab JR Z,0\b 4125\b0 ;exit\par 1 04103 B2 \tab OR D \par 1 04102 7B \tab LD A,E \par 1 04101 E5 \tab PUSH HL \par 1 04100 C5 \tab PUSH BC \par 1 04097 013228 \tab LD BC,10290 ;data area in channel???\par 1 04096 D1 \tab POP DE \par 1 04093 10F7 \tab DJNZ 04086 \par 1 04092 23 \tab INC HL \par 1 04091 13 \tab INC DE \par 1 04088 C23609 \tab JP NZ,2358 \tab ;error 'verification failed'\par 1 04087 BE \tab CP (HL) \par 1 04086 1A \tab LD A,(DE) \par 1 04083 180A \tab JR 0\b 4095\b0 \par 1 04081 EDB0 \tab LDIR \par 1 04079 2004 \tab JR NZ,0\b 4085\b0 \par 1 04075 FDCB7C7E \tab BIT 7,(IY+124) \tab ;verifying?\par 1 04074 E3 \tab EX (SP),HL \par 1 04073 D1 \tab POP DE \par 1 04069 110000 \tab LD DE,0 \par 1 04068 42 \tab LD B,D \par 1 04065 1805 \tab JR 0\b 4072\b0 \par 1 04064 54 \tab LD D,H \par 1 04063 5D \tab LD E,L \par 1 04061 3804 \tab JR C,0\b 4067\b0 \par 1 04059 ED42 \tab SBC HL,BC \par 1 04058 62 \tab LD H,D \par 1 04055 2844 \tab JR Z,04125 \par 1 04054 B2 \tab OR D \par 1 04053 7B \tab LD A,E \par 1 04050 01F700 \tab LD BC,247 ;256-9 header\par 1 04049 E5 \tab PUSH HL \par 1 04048 C5 \tab PUSH BC \par 1 04045 013B28 \tab LD BC,10299 ;data area in channel, skip header\par 1 04044 C9 \tab RET \par 1 04042 EDB0 \tab LDIR \par 1 04039 010900 \tab LD BC,9 ;header info\par 1 04036 11E65C \tab LD DE,23782 \par 1 04033 213228 \tab LD HL,10290 ;data buffer\par 1 04031 20F3 \tab JR NZ,04020 ;error\par 1 04030 B7 \tab OR A \par 1 04027 CD1A17 \tab CALL 5914 ;do service 'C'=7 \b read from file\b0\par 1 04025 0E07 \tab LD C,7 \par 1 04021 11 \tab\tab DEFB 17\tab\tab ;"File not found"\tab\par 1 04020 E7 \tab RST #20 ;report error\par 1 04018 2002 \tab JR NZ,0\b 4022\b0 \par 1 04017 3C \tab INC A \par 1 04014 CD1A17 \tab CALL 5914 \tab ;do service 'C'=2 \b open file\b0\par 1 04012 0E02 \tab LD C,2 \par 1 04009 110C28\tab LD DE,10252\tab ;'current drive'\par 1 04006 CD700E \tab CALL 3696\tab\tab\cf1\b ;MAKE 'D' channel\cf0\b0\par 1 04002 11\tab\tab DEFB 17\tab\tab ;"File not found"\tab\par 1 04001 E7 \tab RST #20 ;report error\par 1 04000 C0 \tab RET NZ \par 1 03999 3C \tab INC A \par 1 03996 CD1A17 \tab CALL 5914 \tab ;do service 'C'=3 \b close file\b0\par 1 03994 0E03 \tab LD C,3 \par 1 03986 18E0 \tab JR 0\b 3956\b0\tab ;loop\par 1 03983 DD3431 \tab INC (IX+49) ;pointer-hi\par 1 03981 20E5 \tab JR NZ,0\b 3956\b0 \par 1 03978 DD3430 \tab INC (IX+48) ;pointer-lo\par 1 03973 113228 \tab LD DE,10290 ;reset buffer addr ??\par 1 03972 E1 \tab POP HL \par 1 03971 C1 \tab POP BC \par 1 03968 CD3E0F \tab CALL 3902 \cf2 \cf0 ;write byte to disk file\par 1 03967 C5 \tab PUSH BC \par 1 03966 E5 \tab PUSH HL \par 1 03964 280A \tab JR Z,0\b 3976\b0 \par 1 03960 DDCB3146 \tab BIT 0,(IX+49) ;256 ?\par 1 03958 281C \tab JR Z,0\b 3988\b0 ;ready?\par 1 03957 B0 \tab OR B ;test for BC=0\par 1 03956\b0 79 \tab LD A,C ;loop here\par 1 03952 ED4BE75C \tab LD BC,(23783) \par 1 03949 2AE95C \tab LD HL,(23785) \par 1 03947 EDB0 \tab LDIR \par 1 03944 DD7130 \tab LD (IX+48),C ;data buff pointer\par 1 03941 010900 \tab LD BC,9 ;file header into data area\par 1 03938 21E65C \tab LD HL,23782 \par 1 03935 113228 \tab LD DE,10290 ;10240 + 50, now point to sector data\par 1 03934 0C \tab DEFB 12\tab\tab\cf2 ;"Writing to a 'read' file" \cf0 \par 1 03933 E7 \tab RST #20 ;report error\par 1 03931 2002 \tab JR NZ,03935 ;write now\par 1 03927 DDCB0B46 \tab BIT 0,(IX+11) ;read/write flag, 0=read\par 1 03924 CD9F0E \tab CALL 3743 ;DO SOME SERVICE ROUTINES\par 1 03921 CD700E \tab CALL 3696 \cf2\b ;MAKE 'D' channel\cf0\b0\par 1 03918 110028 \tab LD DE,10240 ;ad hoc channel address\par 1 03917 0F \tab DEFB 15\tab\tab "Disk full" \par 1 03916 E7 \tab RST #20 ;report error\par 1 03915 C8 \tab RET Z \par 1 03914 B7 \tab OR A \par 1 03911 CD1A17 \tab CALL 5914 \tab ;do service 'C'=8 \b sequential write to file\b0\par 1 03909 0E08 \tab LD C,8 \par 1 03906 CD040F \tab CALL 3844 \tab\cf3 ;point somewhere in channel ??\cf0\par 1 03901 C8 \tab RET Z \tab ;ret if not, else write sector!\par 1 03899 CB42 \tab BIT 0,D \tab ;256 border crossing?\par 1 03896 DD7231 \tab LD (IX+49),D \par 1 03893 DD7330 \tab LD (IX+48),E \tab ;save buffer pointer\par 1 03892 13 \tab INC DE \tab ;point to next position in buff\par 1 03890 DDE1 \tab POP IX \tab ;retrieve\par 1 03887 DD7732 \tab LD (IX+50),A \tab ;write the byte at current pos in sector buff.\par 1 03885 DD19 \tab ADD IX,DE \tab ;point in channel, then add 50 to find buffer\par 1 03883 DDE5 \tab PUSH IX \tab ;save briefly\par 1 03880 DD5631 \tab LD D,(IX+49) ; point to current pos in buffer\par 1 03876 0C \tab DEFB 12\tab\tab ;"Writing to a 'read' file" \par 1 03875 E7 \tab RST #20 ;report error\par 1 03873 2002 \tab JR NZ,0\b 3877\b0 \par 1 03869 DDCB0B46\tab BIT 0,(IX+11) \tab ;read/write flag, 0=read\par 1 03865 DD2A515C\tab LD IX,(23633) \par 1 03864 C9 \tab RET \par 1 03863 EB \tab EX DE,HL \tab ;DE= chan + 12, 'current drive'\par 1 03862 19 \tab ADD HL,DE \par 1 03859 210C00 \tab LD HL,12 \par 1 03858 D1 \tab POP DE \tab ;channel addr\par 1 03855 CD1A17 \tab CALL 5914 \tab ;service 'C'=13 \b point to DMA transfer addr\b0\par 1 03853 0E0D \tab LD C,13 \par 1 03852 EB \tab EX DE,HL \tab ;DE = idem\par 1 03851 19 \tab ADD HL,DE \tab ;HL = start of data area (sector buffer)\par 1 03848 213200 \tab LD HL,50 \tab ;chan params length\par 1 03847 D5 \tab PUSH DE \par 1 03846 D1 \tab POP DE \tab ;DE = channel area\par 1 03842 18CD \tab JR 03793 \par 1 03838 DD363101 \tab LD (IX+49),1 \par 1 03835 DD7730 \tab LD (IX+48),A ;reset data buff pointer\par 1 03834 C0 \tab RET NZ \par 1 03833 B7 \tab OR A \par 1 03830 CD1A17 \tab CALL 5914 ;do service 'C'=7 \b sequential read from file\b0\par 1 03828 0E07 \tab LD C,7 \par 1 03824 C9 \tab RET \par 1 03823 37 \tab SCF \par 1 03822 C8 \tab RET Z \par 1 03820 FE1A \tab CP 26 \tab ;EOF char ??\par 1 03819 7E \tab LD A,(HL) \tab ;read the byte\par 1 03817 ED52 \tab SBC HL,DE \tab ;now HL point to 'current' char\par 1 03816 09 \tab ADD HL,BC \par 1 03813 013101 \tab LD BC,305 \tab ;channel length -1\par 1 03812 E1 \tab POP HL \tab ;HL= chan start\par 1 03810 DDE5 \tab PUSH IX \par 1 03807 DD7231 \tab LD (IX+49),D \par 1 03804 DD7330 \tab LD (IX+48),E \tab ;data buff pointer\par 1 03803 1B \tab DEC DE \par 1 03801 2816 \tab JR Z,0\b 3825\b0 \tab ;256 boundary crossed\par 1 03800 B2 \tab OR D \par 1 03799 7B \tab LD A,E \par 1 03796 DD5631 \tab LD D,(IX+49) \par 1 03792 0D \tab DEFB 13\tab\tab ;"Reading a 'write' file"\par 1 03791 E7 \tab RST #20 ;report error\par 1 03789 2802 \tab JR Z,0\b 3793 \b0 \par 1 03785 DDCB0B46 \tab BIT 0,(IX+11) \tab ;read/write flag, 0=read\par 1 03781 DD2A515C \tab LD IX,(23633) \par 1 03778 C3D30A \tab JP \b 2771\b0 ;op-chan\par 1 03777 D1 \tab POP DE \par 1 03775 DDE5 \tab PUSH IX \par 1 03771 DDCB04BE \tab RES 7,(IX+4) ;it is not 'ad hoc' channel\par 1 03768 CD9C0E \tab CALL \b 3740\b0 ;open a file on disk\par 1 03767 0F \tab DEFB 15\tab\tab ;"Disk full"\par 1 03766 E7 \tab RST #20 ;report error\par 1 03765 C0 \tab RET NZ \par 1 03764 3C \tab INC A \par 1 03761 CDA015 \tab CALL \b 5536 \b0 ;do a 'service', return channel offset in HL\par 1 03759 0E09 \tab LD C,9 ;service 9 \b create file\b0\par 1 03755 DDCB0BC6 \tab SET 0,(IX+11) ;say 'write'\par 1 03754 C0 \tab RET NZ \par 1 03753 3C \tab INC A \par 1 03752 D1 \tab POP DE \par 1 03749 CD1A17 \tab CALL 5914 ;do service 'C'=2 \b open file\b0\par 1 03747 0E02 \tab LD C,2 \par 1 03746 D5 \tab PUSH DE \par 1 03739 \tab C9 \tab RET \par 1 03738 \tab D1 \tab POP DE \par 1 03736 \tab EDB0 \tab LDIR \par 1 03732 \tab ED4BDA5C \tab LD BC,(23770) \tab ;name | of file \par 1 03729 \tab 2ADC5C \tab LD HL,(23772) \tab ;address |\par 1 03728 \tab D1 \tab POP DE \tab\tab ;old DE + 13\par 1 03725 \tab CDF101 \tab CALL \b 497\b0 \tab ;res vars ; make BC spaces at HL\par 1 03723 \tab 3E20 \tab LD A,32 \par 1 03720 \tab 010B00 \tab LD BC,11 \tab ;header?\par 1 03719 \tab E5 \tab PUSH HL \par 1 03718 \tab 19 \tab ADD HL,DE \par 1 03715 \tab 210D00 \tab LD HL,13 \par 1 03712 \tab DD770C \tab LD (IX+12),A \tab ;drive nr\par 1 03709 \tab 3AD65C \tab LD A,(23766) \par 1 03707 \tab DDE1 \tab POP IX \tab ;IX is DE now, point to channel\par 1 03706 \tab D5 \tab PUSH DE \par 1 03705 \tab D5 \tab PUSH DE \par 1 03702 \tab CD920A \tab CALL \b 2706\b0 \tab ;insert default values (DE=room!)\par 1 03699 \tab 013201 \tab LD BC,306 \tab ;length of chan 'D'\par 1 03693\tab CD830A \tab CALL \b 2691\b0 \tab\cf2 ;MAKE ROOM FOR CHANNEL\cf0\par 1 03688 \tab 3201\tab 306\tab ;length of disk channel\par 1 03683 \tab C4\tab ;inverted 'D'\par 1 03681 \tab 0800 \tab ;error \par 1 03678 C9 \tab RET \par 1 03677 E1 \tab POP HL \par 1 03675 DDE1 \tab POP IX \par 1 03673 1000 \tab DEFW 00016\par 1 03672 D7 \tab RST #10 \par 1 03670 E67F \tab AND 127 \par 1 03668 DDE5 \tab PUSH IX \par 1 03666 C9 \tab RET \par 1 03665 C1 \tab POP BC \par 1 03664 E1 \tab POP HL \par 1 03663 0D \tab DEC C \par 1 03662 4D \tab LD C,L \par 1 03661 D7 \tab RST #10 \tab ;end with new line\par 1 03660 E5 \tab PUSH HL \par 1 03657 CD530E \tab CALL \b 3667\b0 \tab\cf2 ;out-char\cf0\par 1 03655 3E0D \tab LD A,13 \par 1 03653 10F9 \tab DJNZ \b 3648\b0 \tab ;loop\par 1 03652 23 \tab INC HL \par 1 03649 CD530E \tab CALL \b 3667\b0 \tab\cf2 ;out-char\cf0\par 1 03646 060B \tab LD B,11 \tab ;was 10!\par 1 03645 C5 \tab PUSH BC \par 1 03644 C9 \tab RET \par 1 03642 D61F \tab SUB 31 \par 1 03640 E61F \tab AND 31 \par 1 03638 DBFE \tab IN A,(254) \par 1 03637 AF \tab XOR A \par 1 03635 18EE \tab JR 03619 \par 1 03633 3E03 \tab LD A,3 \par 1 03632 F5 \tab PUSH AF \par 1 03631 C9 \tab RET \par 1 03629 1000 \tab DEFW 16\tab\tab ;calbas rst#10 !!\par 1 03628 D7 \tab RST #10 \par 1 03627 F1 \tab POP AF \par 1 03625 0116\tab DEFW #1601\par 1 03624 D7 \tab RST #10 \par 1 03622 36FF \tab LD (HL),255 \par 1 03619 218C5C \tab LD HL,23692 \par 1 03617 3EFE \tab LD A,254 \par 1 03616 F5 \tab PUSH AF \par 1 03612 \tab 3A085C \tab LD A,(23560) \tab ;fetch key\par 1 03610 \tab 28F6 \tab JR Z,03602 \tab ;loop if not\par 1 03606 \tab FDCB016E \tab BIT 5,(IY+1) \tab ;key pressed?\par 1 03604 \tab BF 02 \tab\par 1 03603 \tab D7 \tab RST #10 \par 1 03602 \tab 76 \tab HALT \par 1 03598 \tab FDCB01AE \tab RES 5,(IY+1)\par 1 03597\tab FB\tab EI\par 1 03593 \tab DC0D\tab 3548\tab\tab ;CALPHY (disk i/o)\par 1 03587 \tab 6A0E\tab 3690\tab\tab ;\par 1 03579\tab 9C0E\tab 3740\tab\tab ;\par 1 03575 \tab 1F0E\tab 3615\tab\tab ; \par 1 03571 \tab BB22\tab 8891\tab\tab ; READ-N\par 1 03565 \tab 350E\tab 3637\tab\tab ; $20 - KBD-TEST\par 1 03563 \tab 300E \tab 3632\tab\tab ; $1F - PRT-OUT\par 1 03561 \tab 970B \tab 2967\tab\tab ; $1E - BCHAN-OUT\par 1 03552 C3A512 \tab JP 4773 ;CALPHY\par 1 03548 ED4BED5C \tab LD BC,(23789) ;HD-11, now holds the pointer to a param table\par 1 03545 C31A17 \tab JP 5914 ;do service 'C'\par 1 03544 4F \tab LD C,A \par 1 03541 3AEF5C \tab LD A,(23791) ;COPIES, now holds the service number\par 1 03536 E9 \tab JP (HL) \par 1 03533 2AED5C \tab LD HL,(23789) ;HD-11, now holds the address to jump to\par 1 03532 E9 \tab JP (HL) \par 1 03531 EB \tab EX DE,HL \par 1 03530 E5 \tab PUSH HL \par 1 03527 21FC06 \tab LD HL,\b 1788\b0 ;ret address (='MAIN-ROM')\par 1 03526 F1 \tab POP AF \par 1 03525 56 \tab LD D,(HL) \par 1 03524 23 \tab INC HL \par 1 03523 5E \tab LD E,(HL) ;fetch address\par 1 03522 19 \tab ADD HL,DE \par 1 03519 216015 \tab LD HL,\cf3 5472\cf0 ;hook code table (the real one!)\par 1 03518 5F \tab LD E,A ;in DE\par 1 03516 1600 \tab LD D,0 \par 1 03515 87 \tab ADD A,A ;code x 2\par 1 03514 E5 \tab PUSH HL \par 1 03513 E3 \tab EX (SP),HL \par 1 03512 23 \tab INC HL \par 1 03508 FDCB7CD6 \tab SET 2,(IY+124) \par 1 03502 C606 \tab ADD A,6 \tab ;adjust table pointer sequence\par 1 03500 38F6 \tab JR C,\b 3492\b0 \tab ;then error\par 1 03498 D612 \tab SUB 18 \tab ;hook < 45?\par 1 03496 3806 \tab JR C,\b 3504\b0 \tab ;jp with hook 27-32\par 1 03493 12 \tab DEFB 18\tab\tab ;"Hook code error"\par 1 03490 3802 \tab JR C,\b 3494\b0 \tab ; max nr. 60 allowed\par 1 03488 FE22 \tab CP 34 \tab ;max hook number \b after 27 was subtracted\b0 !\par 1 03487 14 \tab DEFB 20 ;error nr.\par 1 03484 CD5D00 \tab CALL 93 \par 1 03483 FB \tab EI \par 1 03480 CDE00B \tab CALL 3040 \tab ;BORD-REST\par 1 03479 D8 \tab RET C \par 1 03478 1F \tab RRA \par 1 03476 DBFE \tab IN A,(254) ;keyboard\par 1 03474 F6FE \tab OR 254 \par 1 03472 DBFE \tab IN A,(254) \par 1 03470 3E7F \tab LD A,127 ;test break\par 1 03467 C34B10 \tab JP 4171 \par 1 03464 C34B10 \tab JP 4171 \par 1 03461 CA2010 \tab JP Z,4128 \par 1 03457 FDCB7C4E \tab BIT 1,(IY+124) \par 1 03455 200A \tab JR NZ,03467 \par 1 03453 FE44 \tab CP 68 \par 1 03451 180E \tab JR 03467 \par 1 03448 CDCC21 \tab CALL \b 8652\b0 \cf1 \tab ;\cf0\par 1 03446 2013 \tab JR NZ,03467 \par 1 03442 FDCB7C4E \tab BIT 1,(IY+124) \par 1 03440 200B \tab JR NZ,03453 \par 1 03438 FE4E \tab CP 78 \par 1 03436 181D \tab JR 03467 \par 1 03433 CD790B \tab CALL 2937 \par 1 03431 3E0D \tab LD A,13 \par 1 03429 2024 \tab JR NZ,03467 \par 1 03425 FDCB7C4E \tab BIT 1,(IY+124) \par 1 03423 200D \tab JR NZ,03438 \par 1 03421 FE54 \tab CP 84 \par 1 03419 282E \tab JR Z,03467 \par 1 03417 FE42 \tab CP 66 \par 1 03414 CD3015 \tab CALL 5424 \par 1 03412 DDE1 \tab POP IX \par 1 03411 E5 \tab PUSH HL \tab ;differing from IF\par 1 03408 22515C \tab LD (23633),HL \par 1 03407 EB \tab EX DE,HL \par 1 03406 D0 \tab RET NC \par 1 03404 ED52 \tab SBC HL,DE \par 1 03403 37 \tab SCF \par 1 03402 D1 \tab POP DE \par 1 03401 19 \tab ADD HL,DE \par 1 03398 111400 \tab LD DE,20 \par 1 03395 2A4F5C \tab LD HL,(23631) \par 1 03393 EB16 \tab DEFW #16EB\par 1 03392 D7 \tab RST #10 \par 1 03391 E3 \tab EX (SP),HL \par 1 03390 09 \tab ADD HL,BC \par 1 03389 2B \tab DEC HL \par 1 03386 2A4F5C \tab LD HL,(23631) \par 1 03385 E5 \tab PUSH HL \par 1 03384 C8 \tab RET Z \par 1 03383 B0 \tab OR B \par 1 03382 79 \tab LD A,C \par 1 03380 2717 \tab DEFW #1727 \par 1 03379 D7 \tab RST #10 \par 1 03378 C9 \tab RET \par 1 03377 EB \tab EX DE,HL \par 1 03376 09 \tab ADD HL,BC \par 1 03375 EB \tab EX DE,HL \par 1 03374 D8 \tab RET C \par 1 03372 ED52 \tab SBC HL,DE \par 1 03369 2A655C \tab LD HL,(23653) \par 1 03368 D0 \tab RET NC \par 1 03366 ED52 \tab SBC HL,DE \par 1 03365 37 \tab SCF \par 1 03364 C9 \tab RET \par 1 03363 E1 \tab POP \tab HL \par 1 03359 ED53DC5C \tab LD (23772),DE \par 1 03356 CD250D \tab CALL 3365 ;test place\par 1 03352 ED5BDC5C\tab LD DE,(23772) \par 1 03351 E1 \tab POP HL \par 1 03347 ED53E45C \tab LD (23780),DE \par 1 03344 CD250D \tab CALL 3365 \par 1 03340 ED5BE45C \tab LD DE,(23780) \par 1 03339 E5 \tab PUSH HL \par 1 03338 E5 \tab PUSH HL \par 1 03337 C9 \tab RET \par 1 03334 CDCC21 \tab CALL \b 8652\b0 ;\par 1 03330 DD22515C \tab LD (23633),IX \par 1 03326 DD2ADA5C \tab LD IX,(23770) \par 1 03325 C0 \tab RET NZ \par 1 03323 FE4E \tab CP 78 \par 1 03322 C9 \tab RET \par 1 03319 CD2010 \tab CALL 4128 ;close a file on disk\par 1 03315 DD2ADA5C \tab LD IX,(23770) \par 1 03313 2008 \tab JR NZ,03323 \par 1 03311 FE44 \tab CP 68 \tab\tab ;\par 1 03308 3AD95C \tab LD A,(23769) \par 1 03307 C0 \tab RET NZ \par 1 03306 3C \tab INC A \par 1 03303 3AD85C \tab LD A,(23768) \par 1 03302 C9 \tab RET \par 1 03298 DDCB04FE \tab SET 7,(IX+4) \par 1 03296 DDE1 \tab POP IX \par 1 03295 D5 \tab PUSH DE \par 1 03291 ED53DA5C \tab LD (23770),DE \par 1 03288 CDA70A \tab CALL 2727 \par 1 03287 00 \tab DEFB 0\tab\tab ;"Nonsense in BASIC" \par 1 03286 E7 \tab RST #20 ;report error\par 1 03284 2802 \tab JR Z,03288 \par 1 03282 FE42 \tab CP 66 \par 1 03280 2806 \tab JR Z,03288 \par 1 03278 FE54 \tab CP 84 \par 1 03277 C9 \tab RET \par 1 03273 DD22DA5C \tab LD (23770),IX \par 1 03270 CD9121 \tab CALL \b 8593\b0 \tab ;OPEN-N open a network channel\par 1 03268 2008 \tab JR NZ,03278 \par 1 03266 FE4E \tab CP 78 \par 1 03265 C9 \tab RET \par 1 03261 DD22DA5C \tab LD (23770),IX \par 1 03258 CD9C0E \tab CALL 3740 \par 1 03256 2008 \tab JR NZ,03266 \par 1 03254 FE44 \tab CP 68 \par 1 03251 3AD95C \tab LD A,(23769) \par 1 03250 C9 \tab RET \par 1 03247 22DA5C \tab LD (23770),HL \par 1 03244 2A515C \tab LD HL,(23633) \par 1 03242 0116\tab DEFW\par 1 03241 D7 \tab RST #10 \par 1 03240 3D \tab DEC A \par 1 03238 280B \tab JR Z,03251 \par 1 03237 3C \tab INC A \par 1 03234 3AD85C \tab LD A,(23768) \par 1 03231 C39510 \tab JP 4245 ;#17B9 IF1 Reclaim temp chans\par 1 03228 CDE70C \tab CALL 3303 \par 1 03225 CD460C \tab CALL 3142 ;shift channel data up in mem\par 1 03224 D1 \tab POP DE \par 1 03221 CD3705 \tab CALL 1335 \par 1 03218 CDE70C \tab CALL 3303 \par 1 03215 CD3705 \tab CALL 1335 \par 1 03214 E5 \tab PUSH HL \par 1 03211 2A4F5C \tab LD HL,(23631) \par 1 03207 FDCB7CA6 \tab RES 4,(IY+124) \par 1 03205 18E6 \tab JR 03181 \par 1 03203 1000 \tab DEFW #0010\tab\tab ;PRINT CHAR\par 1 03202 D7 \tab RST #10 \par 1 03199 22515C \tab LD (23633),HL \par 1 03196 2AE25C \tab LD HL,(23778) \par 1 03194 180B \tab JR 03207 \par 1 03192 28F9 \tab JR Z,03187 \par 1 03190 3804 \tab JR C,03196 \par 1 03188 E615 \tab AND 21 \par 1 03187 D7 \tab RST #10 \par 1 03184 22515C \tab LD (23633),HL ;current channel\par 1 03181 2ADA5C \tab LD HL,(23770) \par 1 03178 CD460C \tab CALL 3142 ;?? shift channel data up in mem\par 1 03177 D1 \tab POP DE \par 1 03174 CD3705 \tab CALL 1335 \par 1 03171 CDA20C \tab CALL 3234 \par 1 03168 CD3705 \tab CALL 1335 \par 1 03167 E5 \tab PUSH HL \par 1 03164 2A4F5C \tab LD HL,(23631) \par 1 03161 CDA20C \tab CALL 3234 \par 1 03157 FDCB7CE6 \tab SET 4,(IY+124) \par 1 03156 C9 \tab RET \par 1 03153 22DA5C \tab LD (23770),HL \par 1 03152 19 \tab ADD HL,DE \par 1 03148 ED5BDA5C \tab LD DE,(23770) ;'length of file name'\par 1 03146 ED52 \tab SBC HL,DE \par 1 03145 B7 \tab OR A \par 1 03142 2A4F5C \tab LD HL,(23631) ;addr of channel data\par 1 03140 18B2 \tab JR 03064 ;input chan \par 1 03137 210020 \tab LD HL,8192 ;temp input address \par 1 03136 C9 \tab RET \par 1 03134 28E0 \tab JR Z,03104 \par 1 03130 FDCB7C66 \tab BIT 4,(IY+124) \par 1 03129 C8 \tab RET Z \par 1 03128 D8 \tab RET C \tab ;and return here...\par 1 03127 E9 \tab JP (HL) \tab ;'call' the given address\par 1 03126 D5 \tab PUSH DE \par 1 03123 11380C \tab LD DE,3128 \par 1 03122 E1 \tab POP HL \par 1 03119 C30007 \tab JP 1792 \par 1 03116 18E8 \tab JR 03094 \par 1 03113 850F \tab \par 1 03112 D7 \tab RST #10 \par 1 03110 2806 \tab JR Z,0\b 3118\b0 \par 1 03107 07 \tab RLCA \par 1 03104 CD5D00 \tab CALL 93 \par 1 03102 280B \tab JR Z,0\b 3115\b0 \par 1 03100 3806 \tab JR C,0\b 3108\b0 \par 1 03099 E9 \tab JP (HL) \par 1 03098 D5 \tab PUSH DE \par 1 03095 111C0C \tab LD DE,3100 \tab ;return address\par 1 03094 E5 \tab PUSH HL \par 1 03090 ED533D5C \tab LD (23613),DE \par 1 03089 D1 \tab POP DE \par 1 03088 D1 \tab POP DE \par 1 03084 ED7B3D5C\tab LD SP,(23613) \par 1 03083 E1 \tab POP HL \par 1 03081 2027 \tab JR NZ,0\b 3122\b0 ;cont. 'inkey$' if not in editor routine\par 1 03079 ED52 \tab SBC HL,DE \par 1 03076 217F10 \tab LD HL,4223 ;test for 'ED-ERROR' address in MAIN ROM\par 1 03075 A7 \tab AND A \par 1 03074 56 \tab LD D,(HL)\par 1 03073 23 \tab INC HL \par 1 03072 5E \tab LD E,(HL) \par 1 03069 2A3D5C \tab LD HL,(23613) ;ERR-SP\par 1 03068 E5 \tab PUSH HL \par 1 03064 FDCB029E \tab RES 3,(IY+2) \par 1 03061 21C50E \tab LD HL\cf3 ,3781\cf0 ;address of real input routine\par 1 03059 1803 \tab JR 03064 \par 1 03056 21350B \tab LD HL,\cf3 2869 \cf0 ;BCHAN-IN\par 1 03054 1808 \tab JR 03064 \par 1 03051 21F60A \tab LD HL,\cf3 2806\cf0 ;TCHAN-IN\par 1 03050 C9 \tab RET \par 1 03048 D3FE \tab OUT (254),A \par 1 03047 0F \tab RRCA \par 1 03046 0F \tab RRCA \par 1 03045 0F \tab RRCA \par 1 03043 E638 \tab AND 56 \par 1 03040 3A485C \tab LD A,(23624) \par 1 03038 20FB \tab JR NZ,03035 \par 1 03037 B4 \tab OR H \par 1 03036 7D \tab LD A,L \par 1 03035 2B \tab DEC HL \par 1 03033 ED41 \tab OUT (C),B \par 1 03031 D3F7 \tab\cf1 OUT (247),A \cf0 \par 1 03029 06EE \tab LD B,238 \par 1 03027 0EEF \tab LD C,239 \par 1 03025 3E01 \tab LD A,1 \par 1 03024 FB \tab EI \par 1 03023 7F \tab LD A,A \par 1 03022 7F \tab LD A,A \par 1 03021 7F \tab LD A,A \par 1 03019 10EF \tab DJNZ 03004 \par 1 03017 CB39 \tab SRL C \par 1 03016 AF \tab XOR A \par 1 03015 1B \tab DEC DE \par 1 03013 20FB \tab JR NZ,03010 \par 1 03012 B3 \tab OR E \par 1 03011 7A \tab LD A,D \par 1 03010 1B \tab DEC DE \par 1 03009 5D \tab LD E,L \par 1 03008 54 \tab LD D,H \par 1 03006 D3F7 \tab\cf1 OUT (247),A\cf0 \par 1 03004 CE00 \tab ADC A,0 \par 1 03003 F3 \tab DI \par 1 03002 37 \tab SCF \par 1 03000 28F7 \tab JR Z,02993 \par 1 02998 E608 \tab AND 8 \par 1 02996 DBEF \tab IN A,(239) \par 1 02993 CD8E0D \tab CALL 3470 \par 1 02991 20FB \tab JR NZ,02988 \par 1 02990 B3 \tab OR E \par 1 02989 7A \tab LD A,D \par 1 02988 1B \tab DEC DE \par 1 02987 5D \tab LD E,L \par 1 02986 54 \tab LD D,H \par 1 02983 2AC35C \tab LD HL,(23747) \par 1 02981 D3F7 \tab\cf2 OUT (247),A \cf1 \cf0 ;port\par 1 02980 2F \tab CPL \par 1 02978 D3EF \tab OUT (239),A ;port\par 1 02976 3EEF \tab LD A,239 \par 1 02974 D3FE \tab OUT (254),A ;port\par 1 02971 3AC65C \tab LD A,(23750) \par 1 02970 4F \tab LD C,A \par 1 02969 2F \tab CPL \par 1 02966 D8 \tab RET C ;exit with < 32\par 1 02962 1803 \tab JR \b 2967\b0 \tab ;bchan-out\par 1 02960 3E0A \tab LD A,10 \par 1 02957 CD970B \tab CALL \b 2967\b0 \tab ;if 13 then add a 10\par 1 02955 2007 \tab JR NZ,\b 2964\b0 \par 1 02953 FE0D \tab CP 13 \par 1 02951 3E3F \tab LD A,63 ;'?'\par 1 02950 FF \tab RST #38 ;\par 1 02946 C9 \tab RET \par 1 02944 100C \tab DEFB\tab\tab\tab ;handle tokens\par 1 02943 D7 \tab RST #10 \par 1 02941 D6A5 \tab SUB 165 \par 1 02939 3806 \tab JR C,\b 02947\b0 \par 1 02937 FEA5 \tab CP 165 \par 1 02936 C9 \tab RET \par 1 02935 FB \tab EI \par 1 02934 F1 \tab POP AF \par 1 02931 CDE00B \tab CALL 3040 \cf1\b ;#0D4D BORD-REST\cf0\b0\par 1 02930 77 \tab LD (HL),A \par 1 02929 23 \tab INC HL \par 1 02927 3601 \tab LD (HL),1 \par 1 02924 21C75C \tab LD HL,23751 \par 1 02922 3007 \tab JR NC,02931 \par 1 02919 CDFC0A \tab CALL 2812 \par 1 02918 19 \tab ADD HL,DE \par 1 02917 19 \tab ADD HL,DE \par 1 02916 19 \tab ADD HL,DE \par 1 02914 20FB \tab JR NZ,02911 \par 1 02913 B4 \tab OR H \par 1 02912 7D \tab LD A,L \par 1 02911 2B \tab DEC HL \par 1 02910 19 \tab ADD HL,DE \par 1 02908 D3EF \tab OUT (239),A \par 1 02906 3EEE \tab LD A,238 \par 1 02905 F5 \tab PUSH AF \par 1 02902 CDFC0A \tab CALL 2812 \par 1 02899 212003 \tab LD HL,800 \par 1 02895 ED5BC35C \tab LD DE,(23747) ;baud\par 1 02893 D3EF \tab OUT (239),A \par 1 02891 3EFE \tab LD A,254 \par 1 02889 D3FE \tab OUT (254),A ;border\par 1 02886 3AC65C \tab LD A,(23750) \par 1 02885 F3 \tab DI \par 1 02882 CD8E0D \tab CALL 3470 ;test break\par 1 02881 C9 \tab RET \par 1 02880 37 \tab SCF \par 1 02879 7E \tab LD A,(HL) \par 1 02878 23 \tab INC HL \par 1 02876 3600 \tab LD (HL),0 \par 1 02874 2806 \tab JR Z,02882 \par 1 02873 A7 \tab AND A \par 1 02872 7E \tab LD A,(HL) \par 1 02869 21C75C \tab LD HL,23751 \par 1 02868 C9 \tab RET \par 1 02867 37 \tab SCF \par 1 02866 2F \tab CPL \par 1 02865 78 \tab LD A,B \par 1 02863 30F0 \tab JR NC,02849 \par 1 02861 CB18 \tab RR B \par 1 02860 07 \tab RLCA \par 1 02858 DBF7 \tab IN A,(247) \par 1 02856 C600 \tab ADD A,0 \par 1 02854 20FB \tab JR NZ,02851 \par 1 02853 B5 \tab OR L \par 1 02852 7C \tab LD A,H \par 1 02851 2B \tab DEC HL \par 1 02850 00 \tab NOP \par 1 02849 19 \tab ADD HL,DE \par 1 02848 2B \tab DEC HL \par 1 02847 2B \tab DEC HL \par 1 02846 2B \tab DEC HL \par 1 02844 0680 \tab LD B,128 \par 1 02842 CB1D \tab RR L \par 1 02840 CB3C \tab SRL H \par 1 02839 6B \tab LD L,E \par 1 02838 62 \tab LD H,D \par 1 02837 C9 \tab RET \par 1 02835 20E7 \tab JR NZ,02812 \par 1 02834 B5 \tab OR L \par 1 02833 7C \tab LD A,H \par 1 02832 2B \tab DEC HL \par 1 02830 3806 \tab JR C,02838 \par 1 02829 07 \tab RLCA \par 1 02827 DBF7 \tab IN A,(247) \par 1 02825 3005 \tab JR NC,02832 \par 1 02824 07 \tab RLCA \par 1 02822 DBF7 \tab IN A,(247) \par 1 02820 300A \tab JR NC,02832 \par 1 02819 07 \tab RLCA \par 1 02817 DBF7 \tab IN A,(247) \par 1 02815 300F \tab JR NC,02832 \par 1 02814 07 \tab RLCA \par 1 02812 DBF7 \tab IN A,(247) \par 1 02811 C9 \tab RET \par 1 02809 CBBF \tab RES 7,A \par 1 02806 CD350B \tab CALL 2869 \par 1 02804 0B00 \tab ;chan length \tab = 11\par 1 02802 EB0B \tab ;T-chan input \tab = 3051\par 1 02800 790B \tab ;T-chan out \tab = 2937\par 1 02799 54 \tab ;character 'T'\par 1 02797 0800 \tab ;main error \par 1 02795 0800 \tab ;main error \par 1 02794 C9 \tab RET \par 1 02793 72 \tab LD (HL),D \par 1 02792 23 \tab INC HL \par 1 02791 73 \tab LD (HL),E \par 1 02790 09 \tab ADD HL,BC \par 1 02788 0600 \tab LD B,0 \par 1 02787 4F \tab LD C,A \par 1 02786 07 \tab RLCA \par 1 02783 3AD85C \tab LD A,(23768) \par 1 02780 21165C \tab LD HL,23574 \par 1 02779 EB \tab EX DE,HL \par 1 02777 ED52 \tab SBC HL,DE \par 1 02776 A7 \tab AND A \par 1 02775 EB \tab EX DE,HL \par 1 02774 2B \tab DEC HL \par 1 02768 CDA70A \tab CALL 2727 \par 1 02767 C9 \tab RET \par 1 02766 D1 \tab POP DE \par 1 02765 72 \tab LD (HL),D \par 1 02764 23 \tab INC HL \par 1 02763 73 \tab LD (HL),E \par 1 02760 11F00B \tab LD DE,3056 \par 1 02759 23 \tab INC HL \par 1 02758 72 \tab LD (HL),D \par 1 02757 23 \tab INC HL \par 1 02756 73 \tab LD (HL),E \par 1 02753 11970B \tab LD DE,2967 \par 1 02752 19 \tab ADD HL,DE \par 1 02749 CD2015 \tab CALL \b 5408\b0 \par 1 02748 D5 \tab PUSH DE \par 1 02747 C0 \tab RET NZ \par 1 02745 FE42 \tab CP 66 \tab ;'B'\par 1 02742 3AD95C \tab LD A,(23769) \par 1 02739 CD920A \tab CALL 2706 \cf2 ;insert default values from HL \cf0\par 1 02736 010B00 \tab LD BC,11 \par 1 02733 21EB0A \tab LD HL,2795 ;channel data\par 1 02730 CD830A \tab CALL 2691 \cf2 ;MAKE ROOM FOR CHANNEL\cf0\par 1 02727 010B00 \tab LD BC,11 \par 1 02726 C9 \tab RET \par 1 02725 D1 \tab POP DE \par 1 02722 C4F001 \tab CALL NZ,496 \tab ;RES-VARS ;fill block at HL with BC zeros\par 1 02721 EB \tab EX DE,HL \par 1 02720 44 \tab LD B,H \par 1 02719 4D \tab LD C,L \par 1 02717 ED42 \tab SBC HL,BC \par 1 02716 B7 \tab OR A \par 1 02715 E1 \tab POP HL \par 1 02714 C1 \tab POP BC \par 1 02712 EDB0 \tab LDIR \par 1 02711 C5 \tab PUSH BC \par 1 02708 010B00 \tab LD BC,11 \tab\tab ;name length \par 1 02707 C5 \tab PUSH BC \tab ;length of chan table\par 1 02705 \tab C9 \tab RET \par 1 02704 \tab 13 \tab INC DE \par 1 02703 \tab EB \tab EX DE,HL \par 1 02700 \tab CD0A0D \tab CALL 3338 \tab ;adjust sysvar addresses\par 1 02697 \tab 5516\tab\tab\tab\tab ;make room\par 1 02696 \tab D7 \tab RST #10 \par 1 02695 \tab 2B \tab DEC HL \par 1 02692 \tab 2A535C \tab LD HL,(23635) \tab ;'PROG' =start of basic\par 1 02688 C35905 \tab JP 1369 \par 1 02684 ED53C35C \tab LD (23747),DE \par 1 02683 56 \tab LD D,(HL) \par 1 02682 23 \tab INC HL \par 1 02681 5E \tab LD E,(HL) \par 1 02680 EB \tab EX DE,HL \par 1 02678 18EC \tab JR 02660 \par 1 02677 23 \tab INC HL \par 1 02676 23 \tab INC HL \par 1 02675 EB \tab EX DE,HL \par 1 02673 3005 \tab JR NC,02680 \par 1 02671 ED42 \tab SBC HL,BC \par 1 02670 A7 \tab AND A \par 1 02668 300A \tab JR NC,02680 \par 1 02666 FE4B \tab CP 75 \par 1 02665 7C \tab LD A,H \par 1 02664 EB \tab EX DE,HL \par 1 02663 23 \tab INC HL \par 1 02662 56 \tab LD D,(HL)\par 1 02661 23 \tab INC HL \par 1 02660 5E \tab LD E,(HL) \par 1 02657 210107 \tab LD HL,1793 ;table of constants\par 1 02653 ED4BD65C \tab LD BC,(23766) \par 1 02650 72756E\tab DEFM "RUN"\par 1 02647 C3E208 \tab JP 2274 \par 1 02643 FDCB0AFE \tab SET 7,(IY+10) \par 1 02641 EDB0 \tab LDIR \par 1 02638 010900 \tab LD BC,9 \par 1 02635 11DE5C \tab LD DE,23774 \par 1 02632 21E65C \tab LD HL,23782 \par 1 02629 CD7B07 \tab CALL 1915 \par 1 02625 FDCB7CE6 \tab SET 4,(IY+124) \par 1 02621 ED43DC5C \tab LD (23772),BC \par 1 02618 015A0A \tab LD BC,2650 \par 1 02614 ED43DA5C \tab LD (23770),BC \par 1 02611 010300 \tab LD BC,3 \par 1 02607 ED43D65C \tab LD (23766),BC \par 1 02604 010100 \tab LD BC,1 \par 1 02603 C9 \tab RET \par 1 02601 20E9 \tab JR NZ,02580 \par 1 02600 B2 \tab OR D \par 1 02599 7B \tab LD A,E \par 1 02598 23 \tab INC HL \par 1 02597 15 \tab DEFB 21\tab\tab ;"Verification has failed"\par 1 02596 E7 \tab RST #20 ;report error\par 1 02594 2802 \tab JR Z,02598 \par 1 02593 BE \tab CP (HL) \par 1 02591 1805 \tab JR 02598 \par 1 02590 77 \tab LD (HL),A \par 1 02588 2003 \tab JR NZ,02593 \par 1 02584 FDCB7C7E \tab BIT 7,(IY+124) \par 1 02583 1B \tab DEC DE \par 1 02580 CD9D08 \tab CALL 2205 \par 1 02577 CACD0F \tab JP Z,4045 \par 1 02575 FEC4 \tab CP 196 \tab\tab ;'D'+128\par 1 02572 DD7E04 \tab LD A,(IX+4) \par 1 02571 C8 \tab RET Z \par 1 02570 B3 \tab OR E \par 1 02569 7A \tab LD A,D \par 1 02567 18BA \tab JR 02499 \par 1 02563 ED5BE75C \tab LD DE,(23783) \par 1 02560 2A535C \tab LD HL,(23635) \par 1 02556 FD360A00 \tab LD (IY+10),0 \par 1 02553 22425C \tab LD (23618),HL \par 1 02549 FDCB7CCE \tab SET 1,(IY+124) \par 1 02547 200B \tab JR NZ,02560 \par 1 02545 E6C0 \tab AND 192 \par 1 02544 7C \tab LD A,H \par 1 02541 2AED5C \tab LD HL,(23789) \par 1 02538 224B5C \tab LD (23627),HL \par 1 02537 09 \tab ADD HL,BC \par 1 02533 ED4BEB5C \tab LD BC,(23787) \par 1 02532 23 \tab INC HL \par 1 02529 22575C LD (23639),HL \par 1 02527 5516 DEFW #1655\par 1 02526 D7 \tab RST #10 \par 1 02523 2A535C \tab LD HL,(23635) \par 1 02519 ED4BE75C \tab LD BC,(23783) \par 1 02518 19 \tab \par 1 02517 E5 \tab \par 1 02516 D7 \tab RST #10 \par 1 02515 2B \tab DEC HL \par 1 02512 2A595C \tab LD HL,(23641) \par 1 02508 ED5B535C \tab LD DE,(23635) \par 1 02504 FDCB7C8E \tab RES 1,(IY+124) \par 1 02502 189D \tab JR 02405 \par 1 02499 CD090A \tab CALL 2569 \par 1 02498 23 \tab INC HL \par 1 02497 72 \tab LD (HL),D \par 1 02496 23 \tab INC HL \par 1 02495 73 \tab LD (HL),E \par 1 02494 23 \tab INC HL \par 1 02493 D1 \tab POP DE \par 1 02492 77 \tab LD (HL),A \par 1 02489 3AE35C \tab LD A,(23779) \par 1 02488 23 \tab INC HL \par 1 02486 5516 \tab \par 1 02485 D7 \tab RST #10\par 1 02484 03 \tab INC BC \par 1 02483 03 \tab INC BC \par 1 02482 03 \tab INC BC \par 1 02481 C5 \tab PUSH BC \par 1 02477 ED4BE75C \tab LD BC,(23783) \par 1 02476 2B \tab DEC HL \par 1 02473 2A595C \tab LD HL,(23641) \par 1 02471 E819 \tab \par 1 02470 D7 \tab RST #10 \par 1 02469 03 \tab INC BC \par 1 02468 03 \tab INC BC \par 1 02467 03 \tab INC BC \par 1 02466 2B \tab DEC HL \par 1 02465 4E \tab LD C,(HL) \par 1 02464 2B \tab DEC HL \par 1 02463 46 \tab LD B,(HL) \par 1 02462 2B \tab DEC HL \par 1 02460 280B \tab JR Z,02473 \par 1 02459 B5 \tab OR L \par 1 02458 7C \tab LD A,H \par 1 02456 282E \tab JR Z,02504 \par 1 02455 A7 \tab AND A \par 1 02452 3AE65C \tab LD A,(23782) \par 1 02451 E1 \tab POP HL \par 1 02449 051F \tab DEFW \par 1 02448 D7 \tab RST #10 \par 1 02447 4D \tab LD C,L \par 1 02446 44 \tab LD B,H \par 1 02445 19 \tab ADD HL,DE \par 1 02442 110500 \tab LD DE,5 \par 1 02440 3809 \tab JR C,02451 \par 1 02438 ED52 \tab SBC HL,DE \par 1 02437 37 \tab SCF \par 1 02436 EB \tab EX DE,HL \par 1 02433 2ADF5C \tab HL,(23775) \par 1 02431 1809 \tab JR 02442 \par 1 02430 EB \tab EX DE,HL \par 1 02429 13 \tab INC DE \par 1 02428 13 \tab INC DE \par 1 02427 13 \tab INC DE \par 1 02425 2006 \tab JR NZ,02433 \par 1 02424 B5 \tab OR L \par 1 02423 7C \tab LD A,H \par 1 02422 E5 \tab PUSH HL \par 1 02419 2AE15C \tab LD HL,(23777) \par 1 02415 ED5BE75C \tab LD DE,(23783) \par 1 02412 C35905 \tab JP 1369 \par 1 02409 C4CC21 \tab CALL NZ,8652 \par 1 02405 FDCB7C5E \tab BIT 3,(IY+124) \par 1 02403 CE08 \tab \par 1 02402 D7 \tab RST #10 \par 1 02401 E1 \tab POP HL \par 1 02398 CD090A \tab CALL 2569 \par 1 02397 E5 \tab PUSH HL \par 1 02396 D1 \tab POP DE \par 1 02395 EB \tab EX DE,HL \par 1 02393 3680 \tab LD (HL),128 \par 1 02391 3000 \tab \par 1 02390 D7 \tab RST #10 \par 1 02389 03 \tab INC BC \par 1 02388 C5 \tab PUSH BC \par 1 02384 ED4BE75C \tab LD BC,(23783) \par 1 02382 1815 \tab JR 02405 \par 1 02379 CD090A \tab CALL 2569 \par 1 02376 2A535C \tab LD HL,(23635) \par 1 02374 2003 \tab JR NZ,02379 \par 1 02373 A7 \tab AND A \par 1 02370 3AE65C \tab LD A,(23782) \par 1 02367 2AE95C \tab LD HL,(23785) \par 1 02365 2003 \tab JR NZ,02370 \par 1 02364 B5 \tab OR L \par 1 02363 7C \tab LD A,H \par 1 02360 2AE15C \tab LD HL,(23777) \par 1 02359 15 \tab DEFB 21 ;"Verification has failed"\par 1 02358 E7 \tab RST #20 ;report error\par 1 02357 13 \tab DEFB 19\tab\tab ;"CODE error" \par 1 02356 E7 \tab RST #20 ;report error\par 1 02354 2802 \tab JR Z,02358 \par 1 02350 FDCB7C66 \tab BIT 4,(IY+124) \par 1 02348 300A \tab JR NC,02360 \par 1 02346 ED52 \tab SBC HL,DE \par 1 02344 280E \tab JR Z,02360 \par 1 02343 B5 \tab OR L \par 1 02342 7C \tab LD A,H \par 1 02338 ED5BE75C \tab LD DE,(23783) \par 1 02335 2ADF5C \tab LD HL,(23775) \par 1 02334 14 \tab DEFB 20\tab\tab ;"MERGE error" \par 1 02333 E7 \tab RST #20 ;report error\par 1 02331 2802 \tab JR Z,02335 \par 1 02327 FDCB7C76 \tab BIT 6,(IY+124) \par 1 02324 CA6F09 \tab JP Z,2415 \par 1 02320 FDCB7C7E \tab BIT 7,(IY+124) \par 1 02318 2040 \tab JR NZ,02384 \par 1 02314 FDCB7C76 \tab \par 1 02313 16\tab\tab DEFB 22\tab\tab "Wrong file type"\par 1 02312 E7 \tab RST #20 ;report error\par 1 02310 3802 \tab JR C,02314 \par 1 02308 2811 \tab JR Z,02327 \par 1 02306 FE03 \tab CP 3 \par 1 02304 2006 \tab JR NZ,02312 \par 1 02303 BD \tab CP L \par 1 02300 3AE65C \tab LD A,(23782) \par 1 02297 2ADE5C \tab LD HL,(23774) \par 1 02295 10F9 \tab DJNZ 02290 \par 1 02294 23 \tab INC HL \par 1 02293 77 \tab LD (HL),A \par 1 02290 CD9D08 \tab CALL 2205 \par 1 02288 0609 \tab LD B,9 \par 1 02285 21E65C \tab LD HL,23782 \par 1 02282 CD9921 \tab CALL \b 8601\b0 \tab ;\par 1 02279 CD0906 \tab CALL 1545 \par 1 02277 1812 \tab JR 02297 \par 1 02274 CDA30F \tab CALL 4003 ;fetch a header\par 1 02271 CDFF05 \tab CALL 1535 ;check 'D' params\par 1 02269 280E \tab JR Z,02285 \par 1 02267 FE42 \tab CP 66 ;'B'\par 1 02265 280C \tab JR Z,02279 \par 1 02263 FE4E \tab CP 78 ;'N'\par 1 02260 3AD95C \tab LD A,(23769) ;channel specs\par 1 02258 EDB0 \tab LDIR ;copy 'old' header\par 1 02255 010700 \tab LD BC,7 \par 1 02252 11DE5C \tab LD DE,23774 \par 1 02249 21E65C \tab LD HL,23782 \par 1 02246 CD3007 \tab CALL 1840 \tab ;check syntax, fetch params\par 1 02242 FDCB7CF6 \tab SET 6,(IY+124)\tab ;signal 'merge'\par 1 02240 1804 \tab JR 02246 \par 1 02236 FDCB7CFE \tab SET 7,(IY+124) \tab ;signal 'verify'\par 1 02234 180A \tab JR 02246 \par 1 02230 FDCB7CE6 \tab SET 4,(IY+124) \tab ;signal 'load'\par 1 02229 C9 \tab RET \par 1 02228 E1 \tab POP HL \par 1 02227 D1 \tab POP DE \par 1 02224 30FB \tab JR NC,\b 02221\b0 ;loop\par 1 02219 1805 \tab JR 0\b 2226\b0 \par 1 02217 30FB \tab JR NC,0\b 2214\b0 \par 1 02212 2807 \tab JR Z,0\b 2221\b0 \par 1 02208 FDCB7C5E \tab BIT 3,(IY+124)\par 1 02207 C5 \tab PUSH BC \par 1 02206 D5 \tab PUSH DE \par 1 02205 E5 \tab PUSH HL \par 1 02204 C9 \tab RET \par 1 02203 E1 \tab POP HL \par 1 02202 C1 \tab POP BC \par 1 02199 CD5720 \tab CALL \b 8279\b0 \tab ;\par 1 02197 1803 \tab JR 02202 \par 1 02194 CD970B \tab CALL 2967 \par 1 02192 2005 \tab JR NZ,02199 \par 1 02191 7E \tab LD A,(HL) \par 1 02187 FDCB7C5E \tab BIT 3,(IY+124) ;NETWORK?\par 1 02186 C5 \tab PUSH BC \par 1 02185 E5 \tab PUSH HL \par 1 02183 18F4 \tab JR 02173 \par 1 02182 23 \tab INC HL \par 1 02181 0B \tab DEC BC \par 1 02178 CD8908 \tab CALL 2185 \par 1 02175 CA6509 \tab JP Z,2405 \par 1 02174 B0 \tab OR B \par 1 02173 79 \tab LD A,C \par 1 02169 ED4BE75C \tab LD BC,(23783) \par 1 02166 2AE95C \tab LD HL,(23785) \par 1 02164 10FA \tab DJNZ 02160 \par 1 02163 23 \tab INC HL \par 1 02160 CD8908 \tab CALL 2185 \par 1 02157 21E65C \tab LD HL,23782 \par 1 02152 C36509 \tab JP 2405 \par 1 02149 CD4E0F \tab CALL 3918 \tab ;write a file to disk\par 1 02144 1809 \tab JR 0\b 2155 \b0 \par 1 02141 CD9921 \tab CALL \b 8601\b0 \par 1 02138 CD0906 \tab CALL 1545 \par 1 02136 2008 \tab JR NZ,\b 02146\b0 \par 1 02134 FE4E \tab CP 78 ;'N'\par 1 02132 2815 \tab JR Z,0\b 2155\b0 \par 1 02130 FE42 \tab CP 66 ;'A'\par 1 02127 3AD95C \tab LD A,(23769) \par 1 02124 CD3007 \tab CALL 1840 \par 1 02120 FDCB7CEE \tab SET 5,(IY+124) \par 1 02119 C9 \tab RET \par 1 02115 ED53E95C \tab LD (23785),DE \par 1 02112 CD4F05 \tab CALL 1359 \par 1 02111 F7 \tab RST #30 \par 1 02109 20D2 \tab JR NZ,02065 \par 1 02107 FE29 \tab CP 41 \par 1 02106 F7 \tab RST #30 \par 1 02105 EB \tab EX DE,HL \par 1 02102 32E65C \tab LD (23782),A \par 1 02101 3C \tab INC A \par 1 02099 2801 \tab JR Z,02102 \par 1 02097 CB71 \tab BIT 6,C \par 1 02095 3E01 \tab LD A,1 \par 1 02092 32EB5C \tab LD (23787),A \par 1 02091 79 \tab LD A,C \par 1 02090 23 \tab INC HL \par 1 02087 32E85C \tab LD (23784),A \par 1 02086 7E \tab LD A,(HL) \par 1 02085 23 \tab INC HL \par 1 02082 32E75C \tab LD (23783),A \par 1 02081 7E \tab LD A,(HL) \par 1 02080 23 \tab INC HL \par 1 02078 28F1 \tab JR Z,02065 \par 1 02076 CB7E \tab BIT 7,(HL) \par 1 02074 2804 \tab JR Z,02080 \par 1 02070 FDCB7C6E \tab BIT 5,(IY+124) \par 1 02068 2823 \tab JR Z,02105 \par 1 02067 DF \tab RST #18 \tab\tab ;CHKSYNTAX\par 1 02066 00 \tab DEFB 0\tab\tab ;"Nonsense in BASIC" \par 1 02065 E7 \tab RST #20 ;report error\par 1 02062 012802 \tab LD BC,552 \par 1 02059 CD5D00 \tab CALL 93 \par 1 02057 2020 \tab JR NZ,02091 \par 1 02053 FDCB7C66 \tab BIT 4,(IY+124) \par 1 02050 210000 \tab LD HL,0 \par 1 02048 300D \tab JR NC,02063 \par 1 02047 F9 \tab LD SP,HL \par 1 02045 28CB \tab JR Z,01994 \par 1 02044 B2 \tab OR D \par 1 02043 D7 \tab RST #10 \par 1 02042 F7 \tab RST #30 \par 1 02041 14 \tab DEFB 20\tab\tab ;"MERGE error" \par 1 02040 E7 \tab RST #20 ;report error\par 1 02038 2802 \tab JR Z,02042 \par 1 02034 FDCB7C76 \tab BIT 6,(IY+124) \par 1 02033 C9 \tab RET \par 1 02030 32E65C \tab LD (23782),A \par 1 02028 3E03 \tab LD A,3 \par 1 02024 ED43E95C \tab \par 1 02022 991E \tab DEFW\par 1 02021 D7 \tab RST #10 \par 1 02017 ED43E75C \tab \par 1 02015 991E \tab DEFW\par 1 02014 D7 \tab RST #10 \par 1 02011 CD4F05 \tab CALL 1359 \par 1 02010 C7 \tab RST #00 \par 1 02008 821C \tab DEFW \par 1 02007 D7 \tab RST #10 \par 1 02006 F7 \tab RST #30 \par 1 02004 1804 \tab JR 02010 \par 1 02002 E61C \tab AND 28 \par 1 02001 D7 \tab RST #10 \par 1 01999 2095 \tab JR NZ,01894 \par 1 01995 FDCB7C6E \tab BIT 5,(IY+124) \par 1 01993 280B \tab JR Z,02006 \par 1 01990 CD4905 \tab CALL 1353 \par 1 01989 1C \tab INC E \par 1 01988 82 \tab ADD A,D \par 1 01987 D7 \tab RST #10 \par 1 01985 1808 \tab JR 01995 \par 1 01983 E61C \tab AND 28 \par 1 01982 D7 \tab RST #10 \par 1 01980 20A8 \tab JR NZ,01894 \par 1 01976 FDCB7C6E \tab BIT 5,(IY+124) \par 1 01974 200B \tab JR NZ,01987 \par 1 01972 FE3A \tab CP 58 \par 1 01970 280A \tab JR Z,01982 \par 1 01968 FE0D \tab CP 13 \par 1 01967 F7 \tab RST #30 \par 1 01966 C9 \tab RET \par 1 01963 32E65C \tab LD (23782),A \par 1 01961 3E03 \tab LD A,3 \par 1 01958 22E95C \tab LD (23785),HL \par 1 01955 210040 \tab LD HL,16384 \par 1 01952 22E75C \tab LD (23783),HL \par 1 01949 21001B \tab LD HL,6912 \par 1 01946 CD4F05 \tab CALL 1359 \par 1 01945 F7 \tab RST #30 \par 1 01944 C9 \tab RET \par 1 01941 22EB5C \tab LD (23787),HL ;length of prog\par 1 01939 ED52 \tab SBC HL,DE \par 1 01936 2A4B5C \tab LD HL,(23627) \par 1 01933 22E75C \tab LD (23783),HL \par 1 01931 ED52 \tab SBC HL,DE \par 1 01930 37 \tab SCF \par 1 01926 ED53E95C \tab LD (23785),DE \par 1 01922 ED5B535C \tab LD DE,(23635) \par 1 01919 2A595C \tab LD HL,(23641) \par 1 01916 32E65C \tab LD (23782),A \par 1 01915 AF \tab XOR A \par 1 01912 CD4F05 \tab CALL 1359 \par 1 01910 \tab 1803 \tab JR 01915 \par 1 01906 \tab ED43ED5C \tab \par 1 01904 \tab 991E \tab \par 1 01903 \tab D7 \tab RST #10 \par 1 01900 \tab CD4F05 \tab CALL 1359 \par 1 01898 \tab 821C \tab \par 1 01897 \tab D7 \tab RST #10 \par 1 01896 \tab F7 \tab RST #30 \par 1 01895 \tab 00 \tab DEFB 0\tab\tab ;"Nonsense in BASIC"\par 1 01894 \tab E7 \tab RST #20 ;report error\par 1 01891 \tab CAF207 \tab JP Z,2034 \par 1 01889 \tab FEE4 \tab CP 228 \par 1 01887 \tab 2807 \tab JR Z,01896 \par 1 01885 \tab FECA \tab CP 202 \par 1 01883 \tab 2852 \tab JR Z,01967 \par 1 01881 \tab FEAF \tab CP 175 \par 1 01879 \tab 2840 \tab JR Z,01945 \par 1 01877 \tab FEAA \tab CP 170 \par 1 01875 \tab 2823 \tab JR Z,01912 \par 1 01873 \tab FE3A \tab CP 58 \par 1 01871 \tab 2827 \tab JR Z,01912 \par 1 01869 \tab FE0D \tab CP 13 \par 1 01868 \tab F1 \tab POP AF \par 1 01864 \tab FDCB7CDE \tab SET 3,(IY+124) \par 1 01862 \tab 2004 \tab JR NZ,01868 \par 1 01860 \tab FE4E \tab CP 78 ;'N'\par 1 01857 \tab 3AD95C \tab LD A,(23769) \par 1 01856 \tab F5 \tab PUSH AF \par 1 01853 \tab CDB405 \tab CALL 1460 \par 1 01851 \tab 2003 \tab JR NZ,01856 \par 1 01848 \tab CD4905 \tab CALL 1353 \par 1 01845 \tab CD7B05 \tab CALL 1403 \par 1 01843 \tab 2031 \tab JR NZ,01894 \par 1 01840 \tab F7 \tab RST #30 \par 1 01838 \tab 18CC \tab JR 01788 \par 1 01834 \tab ED7B3D5C \tab LD SP,(23613) \par 1 01833 \tab C8 \tab RET Z \par 1 01829 \tab FDCB7C56 \tab BIT 2,(IY+124) \par 1 01827 \tab 0500 \par 1 01825 \tab 004B \par 1 01823 \tab 0C00 \par 1 01821 \tab 8025 \par 1 01819 \tab 1A00 \par 1 01817 \tab C012 \par 1 01815 \tab 3600 \par 1 01813 \tab 6009 \par 1 01811 \tab 6E00\par 1 01809 \tab B004 \par 1 01807 \tab DE00\par 1 01805 \tab 5802\par 1 01801 \tab FE2A \tab CP 42 \tab ;'*'\par 1 01801 \tab 2C01\par 1 01799 \tab C504 \par 1 01797 \tab 6E00 \tab\par 1 01792 \tab C9 \tab RET \cf1\b ;UNPAGE !!\cf0\b0\par 1 01788 \tab FD367C00 \tab LD (IY+124),0 \par 1 01787 \tab E5 \tab PUSH HL \par 1 01786 \tab DEFB #FF\par 1 01614 \tab 18AF \tab JR 01535 \par 1 01612 \tab 28BB \tab JR Z,01545 \par 1 01610 \tab FE4E \tab CP 78 ;'N'\par 1 01609 \tab C8 \tab RET Z \par 1 01607 \tab FE42 \tab CP 66 ;'B'\par 1 01606 \tab C8 \tab RET Z \par 1 01604 \tab FE54 \tab CP 84 ;'T'\par 1 01601 \tab 3AD95C \tab LD A,(23769) \par 1 01600 \tab C8 \tab RET Z \par 1 01599 \tab DF \tab RST #18 \tab\tab ;CHKSYNTAX\par 1 01596 \tab CCB405 \tab CALL Z,1460 \par 1 01593 \tab CD4905 \tab CALL 1353 \par 1 01590 \tab CD7C05 \tab CALL 1404 \par 1 01588 \tab 289A \tab JR Z,01488 \par 1 01586 \tab FE23 \tab CP 35 \par 1 01585 \tab F7 \tab RST #30 \par 1 01584 \tab 09 \tab DEFB 9\tab\tab ;"Missing baud rate"\par 1 01583 \tab E7 \tab RST #20 ;report error\par 1 01582 \tab C0 \tab RET NZ \par 1 01581 \tab B4 \tab OR H \par 1 01580 \tab 7D \tab LD A,L \par 1 01579 \tab 23 \tab INC HL \par 1 01576 \tab 2AD65C \tab LD HL,(23766) \par 1 01575 \tab C9 \tab RET \par 1 01572 \tab CDB405 \tab CALL 1460 \par 1 01569 \tab C25304 \tab JP NZ,1107 \par 1 01566 \tab CD4905 \tab CALL 1353 \par 1 01563 \tab CD7B05 \tab CALL 1403 \par 1 01562 \tab 07 \tab DEFB 7\tab\tab ;"Missing station number" \par 1 01561 \tab E7 \tab RST #20 ;report error\par 1 01560 \tab 05 \tab DEFB 5\tab\tab ;"Invalid station number"\par 1 01559 \tab E7 \tab RST #20 ;report error\par 1 01558 \tab D0 \tab RET NC \par 1 01557 \tab 19 \tab ADD HL,DE \par 1 01554 \tab 21BEFF \tab LD HL,65470 \par 1 01552 \tab 2807 \tab JR Z,01561 \par 1 01551 \tab B2 \tab OR D \par 1 01550 \tab 7B \tab LD A,E \par 1 01549 \tab 13 \tab INC DE \par 1 01545\tab ED5BD65C \par 1 01544 \tab 06\tab DEFB 6\tab\tab ;"Missing name"\par 1 01543 \tab E7 \tab RST #20 ;report error\par 1 01542 \tab C8 \tab RET Z \par 1 01541 \tab A7 \tab AND A \par 1 01538 \tab 3ADB5C \tab LD A,(23771) \par 1 01535 \tab CDE505 \tab CALL 1509 \par 1 01534 \tab 08 \tab DEFB 8\tab\tab ;"Missing drive number"\par 1 01533 \tab E7 \tab RST #20 ;report error\par 1 01532\tab 04 \tab DEFB 4 \tab ;"Invalid drive number"\par 1 01531\tab E7 \tab RST #20 ;report error\par 1 01530 \tab D0 \tab RET NC \tab ;if < 5\par 1 01529 \tab 19 \tab ADD HL,DE \par 1 01526 \tab 21FCFF \tab LD HL,65532 \tab ;-4\par 1 01524 \tab 2807 \tab JR Z,01533 \tab ;error: "Missing drive number"\par 1 01523 \tab B2 \tab OR D \par 1 01522 \tab 7B \tab LD A,E \par 1 01521 \tab 13 \tab INC DE \tab ;255 > 0\par 1 01517 \tab ED5BD65C \tab LD DE,(23766) \tab ;D-STR1, file specifier etc.\par 1 01514 \tab C2B205 \tab JP NZ,1458 \tab ;error: "Invalid device expression"\par 1 01512 \tab FE44 \tab CP 68 \tab\tab ;'D'\par 1 01508 \tab 01\tab DEFB 1\tab\tab ;"Invalid stream number"\par 1 01506 \tab C9 \tab RET \par 1 01505 \tab F1 \tab POP AF \par 1 01502 \tab 32D85C \tab LD (23768),A \par 1 01500 \tab 3005 \tab JR NC,\b 1507\b0\par 1 01498 \tab FE10 \tab CP 16\par 1 01496 \tab 941E \tab DEFW\par 1 01495 \tab D7 \tab RST #10 \par 1 01494 \tab F5 \tab PUSH AF \par 1 01493 \tab C8 \tab RET Z \par 1 01492 \tab DF \tab RST #18 \tab ;CHKSYNTAX\par 1 01490 \tab 821C \tab \par 1 01489 \tab D7 \tab RST #10 \par 1 01488 \tab F7 \tab RST #30 \par 1 01487 \tab 03 \tab DEFB 3 \tab\tab ;"Invalid name"\par 1 01486 \tab E7 \tab RST #20 ;report error\par 1 01485 \tab C9 \tab RET \par 1 01484 \tab F1 \tab POP AF \par 1 01480 \tab ED53DC5C \tab LD (23772),DE \par 1 01476 \tab ED43DA5C \tab LD (23770),BC \par 1 01474 \tab 380A \tab JR C,01486 \par 1 01473 \tab 09 \tab ADD HL,BC \par 1 01470 \tab 21F4FF \tab LD HL,65524 \par 1 01468 \tab 2810 \tab JR Z,01486 \par 1 01467 \tab B0 \tab OR B \par 1 01466 \tab 79 \tab LD A,C \par 1 01465 \tab F5 \tab PUSH AF \par 1 01464 \tab C8 \tab RET Z \par 1 01461 \tab CD7005 \tab CALL 1392 \par 1 01459 \tab 02 \tab DEFB 2 \tab\tab ;"Invalid device expression"\par 1 01457 \tab C9 \tab RET \par 1 01456 \tab F1 \tab POP AF \par 1 01452 \tab ED43D65C \tab LD ( ),BC\par 1 01450 \tab 991E \tab\par 1 01449 \tab D7 \tab RST #10 \par 1 01448 \tab F5 \tab PUSH AF \par 1 01447 \tab C8 \tab RET Z \par 1 01446 \tab DF \tab RST #18 \tab\tab ;CHKSYNTAX\par 1 01445 \tab 1C \tab INC E \par 1 01444 \tab 82 \tab ADD A,D \par 1 01443 \tab D7 \tab RST #10 \par 1 01442 \tab F7 \tab RST #30 \par 1 01439 \tab C25304 \tab JP NZ,1107 \par 1 01436 \tab CD4905 \tab CALL 1353 \par 1 01435 \tab D0 \tab RET NC \par 1 01433 \tab FEA5 \tab CP 165 \par 1 01432 \tab C8 \tab RET Z \par 1 01430 \tab FE3A \tab CP 58 \par 1 01429 \tab C8 \tab RET Z \par 1 01427 \tab FE0D \tab CP 13 \par 1 01426 \tab F1 \tab POP AF \par 1 01423 \tab 32D95C \tab LD (23769),A \par 1 01421 \tab E6DF \tab AND 223 \par 1 01419 \tab 3025 \tab JR NC,01458 \par 1 01418 \tab 2C \tab INC L \par 1 01417 \tab 8D \tab ADC A,L \par 1 01416 \tab D7 \tab RST #10 \par 1 01415 \tab 1A \tab LD A,(DE) \par 1 01413 \tab 202B \tab JR NZ,01458 \par 1 01412 \tab B0 \tab OR B \par 1 01411 \tab 3D \tab DEC A \par 1 01410 \tab 79 \tab LD A,C \par 1 01409 \tab F5 \tab PUSH AF \par 1 01407 \tab 2812 \tab JR Z,01427 \par 1 01404 \tab CD7005 \tab CALL 1392 \par 1 01403 \tab F7 \tab RST #30 \par 1 01402 \tab C9 \tab RET \par 1 01401 \tab F1 \tab POP AF \par 1 01400 \tab 2B \tab DEC HL \par 1 01399 \tab F1 \tab POP AF \par 1 01398 \tab D7 \tab RST #10 \par 1 01397 \tab F5 \tab PUSH AF \par 1 01396 \tab C8 \tab RET Z \par 1 01395 \tab DF \tab RST #18 \tab ;CHKSYNTAX\par 1 01393 \tab 8C1C \tab\par 1 01392 \tab D7 \tab RST #10 \par 1 01389 \tab C3FB06 \tab JP 1787 \tab\tab\tab ;back to main rom\par 1 01386 \tab 217D1B \tab LD HL,7037 \tab\tab ;main rom addr\par 1 01383 \tab CD8E0D \tab CALL 3470 \tab\tab ;test break\par 1 01381 \tab 2806 \tab JR Z,01389 \par 1 01380 \tab DF \tab RST #18 \tab\tab ;CHKSYNTAX\par 1 01377 \tab 21F41B \tab LD HL,7156 \par 1 01373 \tab FD3600FF \tab LD (IY+0),255 \tab\tab ;no error\par 1 01369 \tab ED7B3D5C \tab LD SP,(23613) \tab\tab\par 1 01368 \tab C0 \tab RET NZ \par 1 01367 \tab DF \tab RST #18 \tab\tab ;CHKSYNTAX\par 1 01365 \tab 20C2 \tab JR NZ,01305 \par 1 01363 \tab FE3A \tab CP 58 \par 1 01361 \tab 2804 \tab JR Z,01367 \par 1 01359 \tab FE0D \tab CP 13 \par 1 01358 \tab C9 \tab RET \par 1 01356 \tab FE3B \tab CP 59 \par 1 01355 \tab C8 \tab RET Z \par 1 01353 \tab FE2C \tab CP 44 \par 1 01352 \tab C9 \tab RET \par 1 01350 \tab 10F7 \tab DJNZ 01343 \par 1 01349 \tab 13 \tab INC DE \par 1 01348 \tab 23 \tab INC HL \par 1 01347 \tab 12 \tab LD (DE),A \par 1 01346 \tab 79 \tab LD A,C \par 1 01345 \tab 77 \tab LD (HL),A \par 1 01344 \tab 4E \tab LD C,(HL) \par 1 01343 \tab 1A \tab LD A,(DE) \par 1 01341 \tab 0608 \tab LD B,8 \par 1 01338 \tab 11DE5C \tab LD DE,23774 \par 1 01335 \tab 21D65C \tab LD HL,23766 \par 1 01332 \tab C35905 \tab JP 1369 \par 1 01329 \tab CD1A17 \tab CALL 5914 \tab ;do service 'C'=0 \b initialize DOS\b0\par 1 01327 \tab 0E00 \tab LD C,0 \par 1 01325 \tab 38F2 \tab JR C,01313 \tab ;LOOP\par 1 01323 \tab FE10 \tab CP 16 \par 1 01322 \tab 3C \tab INC A \par 1 01321 \tab F1 \tab POP AF \par 1 01318 \tab CD330D \tab CALL 3379 \par 1 01314 \tab FDCB7CCE \tab SET 1,(IY+124) \par 1 01313 \tab F5 \tab PUSH AF \par 1 01312 \tab AF \tab XOR A \par 1 01309 \tab CD4F05 \tab CALL 1359 \tab ;test for end of stmt\par 1 01308 \tab F7 \tab RST #30 \tab\tab\par 1 01305 \tab C25304 \tab JP NZ,1107 \tab ;'NONSENSE'\par 1 01303 \tab FE23 \tab CP 35 \tab ; '#'\par 1 01300 \tab 1890 \tab JR 01190 \par 1 01297 \tab CD550C \tab CALL 3157 \par 1 01294 \tab CD4F05 \tab CALL 1359 \par 1 01293 \tab C7 \tab RST #00 \par 1 01290 \tab CD3705 \tab CALL 1335 \par 1 01287 \tab CD3106 \tab CALL 1585 \par 1 01285 \tab 2012 \tab JR NZ,01305 \par 1 01283 \tab FECC \tab CP 204 \tab 'TO'\par 1 01282 \tab C7 \tab RST #00 \par 1 01279 \tab CD3705 \tab CALL 1335 \par 1 01274 \tab 18AA \tab JR 01190 \par 1 01271 \tab CD6211 \tab CALL 4450 \par 1 01268 \tab CDFF05 \tab CALL 1535 \par 1 01265 \tab CD4F05 \tab CALL 1359 \par 1 01261 \tab 0B \tab DEFB 11\tab\tab ;"Stream already open" \par 1 01260 \tab E7 \tab RST #20 ;report error\par 1 01257 \tab C3B80E \tab JP 3768 \par 1 01254 \tab CDFF05 \tab CALL 1535 \par 1 01251 \tab C38B21 \tab JP 8587 \par 1 01248 \tab CD0906 \tab CALL 1545 \par 1 01246 \tab 2006 \tab JR NZ,01254 \par 1 01244 \tab FE4E \tab CP 78 \tab ;'N'\par 1 01241 \tab CAD00A \tab JP Z,2768 \tab ;\cf1 OPEN-RS\cf0\par 1 01239 \tab FE42 \tab CP 66 \tab ;'B'\par 1 01236 \tab CAD00A \tab JP Z,2768 \par 1 01234 \tab FE54 \tab CP 84 \par 1 01231 \tab 3AD95C \tab LD A,(23769) \par 1 01229 \tab 381D \tab JR C,01260 \par 1 01227 \tab ED42 \tab SBC HL,BC \par 1 01226 \tab A7 \tab AND A \par 1 01223 \tab 211100 \tab LD HL,17 \par 1 01222 \tab E5 \tab PUSH HL \par 1 01219 \tab 215905 \tab LD HL,1369 \par 1 01217 \tab 2717 \tab DEFW \par 1 01216 \tab D7 \tab RST #10 \par 1 01213 \tab 3AD85C \tab LD A,(23768) \par 1 01210 \tab CD4F05 \tab CALL 1359 \par 1 01207 \tab CCB405 \tab CALL Z,1460 \par 1 01204 \tab CD4905 \tab CALL 1353 \par 1 01201 \tab CD7B05 \tab CALL 1403 \par 1 01199 \tab 20A2 \tab JR NZ,01107 \par 1 01196 \tab CD4905 \tab CALL 1353 \par 1 01193 \tab CDD005 \tab CALL 1488 \par 1 01190 \tab C35905 \tab JP 1369 \par 1 01188 \tab 6B0D \tab DEFW \par 1 01187 \tab D7 \tab RST #10 \par 1 01185 \tab D3FE \tab OUT (254),A ;border\par 1 01183 \tab 3E07 \tab LD A,7 \par 1 01180 \tab FD7457 \tab LD (IY+87),H \par 1 01177 \tab FD750E \tab LD (IY+14),L \par 1 01174 \tab 228F5C \tab LD (23695),HL \par 1 01171 \tab 228D5C \tab LD (23693),HL \par 1 01168 \tab 213800 \tab LD HL,56 \par 1 01165 \tab CD4F05 \tab CALL 1359 \par 1 01164 \tab F7 \tab RST #30 \par 1 01162 \tab 20C7 \tab JR NZ,01107 \par 1 01160 \tab FE23 \tab CP 35 \tab ;'#'\par 1 01159 \tab F7 \tab RST #30 \par 1 01157 \tab 181F \tab JR 01190 \par 1 01154 \tab CD6D11 \tab CALL 4461 \par 1 01151 \tab CDE505 \tab CALL 1509 \par 1 01149 \tab 1827 \tab JR 01190 \par 1 01146 \tab 32C55C \tab LD (23749),A \par 1 01143 \tab CA1706 \tab JP Z,1559 \tab ;ERROR 6\par 1 01142 \tab A7 \tab AND A \par 1 01139 \tab 3AD65C \tab LD A,(23766) \par 1 01136 \tab CD0906 \tab CALL 1545 \par 1 01134 \tab 200F \tab JR NZ,01151 \par 1 01132 \tab FE4E \tab CP 78 \tab ;'N'\par 1 01129 \tab C35D0A \tab JP 2653 \par 1 01126 \tab CD2806 \tab CALL 1576 \par 1 01124 \tab 2006 \tab JR NZ,01132 \par 1 01122 \tab FE42 \tab CP 66 \tab ;'B'\par 1 01120 \tab 2804 \tab JR Z,01126 \par 1 01118 \tab FE54 \tab CP 84 \tab ;'T'\par 1 01115 \tab 3AD95C \tab LD A,(23769) \par 1 01112 \tab CD4F05 \tab CALL 1359 \par 1 01109 \tab CD7B05 \tab CALL 1403 \par 1 01108 \tab 00 \tab DEFB 0\tab ;"Nonsense in BASIC"\par 1 01107 \tab E7 \tab RST #20\tab ;report error\par 1 01105 \tab 1853 \tab JR 01190 ;ready exit\par 1 01102 \tab CDD710 \tab CALL 4311 ;do actual CAT\par 1 01099 \tab CDED05 \tab CALL 1517 ;test drive number\par 1 01096 \tab CD4F05 \tab CALL 1359 ;test end of statement\par 1 01093 \tab CCB405 \tab CALL Z,1460 ;expect name\par 1 01090 \tab CD4905 \tab CALL 1353 ;test separator\par 1 01087 \tab 22DA5C \tab LD (23770),HL \par 1 01084 \tab 210B00 \tab LD HL,11 \par 1 01081 \tab 22DC5C \tab LD (23772),HL \par 1 01078 \tab 21CC10 \tab LD HL,4300 ;table, len =10\par 1 01075 \tab CDA305 \tab CALL 1443 ;expect number\par 1 01074 \tab F7 \tab RST #30 ;NXT-CHAR\par 1 01072 \tab 2021 \tab JR NZ,01107 ;error 'Nonsense'\par 1 01069 \tab CD4905 \tab CALL 1353 \par 1 01066 \tab CDD005 \tab CALL 1488 \par 1 01064 \tab 2009 \tab JR NZ,01075 \par 1 01062 \tab FE23 \tab CP 35 ;'#'\par 1 01059 \tab CAFD05 \tab JP Z,1533 \par 1 01057 \tab FE3A \tab CP 58 ;':'\par 1 01055 \tab 2802 \tab JR Z,01059 \par 1 01053 \tab FE0D \tab CP 13 \par 1 01052 \tab F7 \tab RST #30 \par 1 01050 \tab 3602 \tab LD (HL),2 \par 1 01047 \tab 21D85C \tab LD HL,23768 \par 1 01046 \tab\tab DEFB #A7\par 1 01036 \tab\tab DEFB #A7\par 1 01026\tab\tab DEFB #E5\par 1 01012\tab\tab DEFB #E4\par 1 00989\tab\tab DEFB #F2\par 1 00977\tab\tab DEFB #F2\par 1 00967\tab\tab DEFB #F2\par 1 00952\tab\tab DEFB #E4\par 1 00938\tab\tab DEFB #F2\par 1 00928\tab\tab DEFB #EC\par 1 00919\tab\tab DEFB #E4\par 1 00897\tab\tab DEFB #E5\par 1 00875 \tab\tab DEFB #E5\par 1 00851 \tab\tab DEFB #EE\par 1 00832\tab\tab DEFB #F2\tab\tab\tab\tab\par 1 00811\tab\tab DEFB #E5\par 1 00794\tab\tab DEFB #F2\par 1 00772\tab\tab DEFB #F2\par 1 00752\tab\tab DEFB #E5\par 1 00740\tab\tab DEFB #F2\par 1 00718\tab\tab DEFB #F2\par 1 00698\tab\tab DEFB #E5\par 1 00686\tab\tab DEFB #EE\par 1 00661\tab\tab DEFB #F2\par 1 00640 \tab\tab DEFB #C3\par 1 00623 \tab\tab DEFB #E4\tab\tab\tab\par 1 00604\tab C3FB06 \tab JP 1787 \tab ;back to main rom\par 1 00601 \tab 214913 \tab LD HL,4937 \tab ;return to this address in main rom\par 1 00600 \tab 33 \tab INC SP \par 1 00599 \tab 33 \tab INC SP \par 1 00593 \tab 30F7 \tab JR NC,00586 \tab ;loop if not\par 1 00592 \tab 17 \tab RLA \tab ;test for endchar\par 1 00591 \tab 23 \tab INC HL \par 1 00590 \tab 7E \tab LD A,(HL) \par 1 00587 \tab CD530E \tab CALL 3667 \tab ;print out routine\par 1 00584 \tab 10F9 \tab DJNZ 00579 \tab ;step through messages\par 1 00582 \tab 30FB \tab JR NC,00579 \par 1 00581 \tab 17 \tab RLA \par 1 00580 \tab 23 \tab INC HL \par 1 00578 \tab 04 \tab INC B \par 1 00577 \tab 04 \tab INC B \par 1 00576 \tab C1 \tab POP BC \tab\tab ;\cf1\b was AF\cf0\b0 , the error number\par 1 00573 \tab 215F02 \tab LD HL,607 \tab\tab ;address of msge table\par 1 00569 \tab FDCB029E \tab RES 3,(IY+2) \par 1 00565 \tab FDCB02EE\tab SET 5,(IY+2) \par 1 00563 \tab 6E0D\tab\tab DEFW #0D6E \tab\tab\tab ;CLS-LOWER \par 1 00562 \tab D7 \tab RST #10 \tab\tab ;calbas\par 1 00558 \tab FDCB37AE \tab \tab \tab ;res 5 flagx\par 1 00556 \tab B016 \tab DEFW \tab\tab\tab ;SET-MIN, clear workspace etc.\par 1 00555 \tab D7 \tab RST #10 \par 1 00552 \tab 22165C \tab LD (23574),HL \tab\tab ;change stream 0 address\par 1 00551 \tab 2C \tab INC L \par 1 00548 \tab 220B5C \tab LD (23563),HL \tab\tab ;DEFADD\par 1 00545 \tab FD7426 \tab LD (IY+38),H \par 1 00542 \tab FD7437 \tab LD (IY+55),H \par 1 00537 \tab CD0E\tab\tab DEFW\tab\tab\tab\tab ;COPY-BUFF clear printerbuffer\par 1 00536 D7 \tab RST #10 \par 1 00534 2803 \tab JR Z,00539 \par 1 00530 FDCB304E \tab BIT 1,(IY+48) \tab\tab ;prbuf used?\par 1 00526 FDCB01AE\tab RES 5,(IY+1) \par 1 00523 CD9510 \tab CALL 4245 \tab\tab ;rcl-t-ch 17B9 Reclaim temp chans\par 1 00522 76 \tab HALT \par 1 00517\b0 FD367C00 \tab LD (IY+124),0 \tab\tab\cf1 ;rep-msg #0258\cf2 Clear FLAGS3\par 1 00514 CD2507 \tab CALL 1829 ;test ERR-SP, exit if not IF1\par 1 00513 F5 \tab PUSH AF \par 1 00510 FD7700 \tab LD (IY+0),A ;23610, err-nr\par 1 00509 7E \tab LD A,(HL) ;fetch the DEFB\par 1 00508 E1 \tab POP HL ;retrieve return address\par 1 00507 C9 \tab RET \par 1 00505 EDB0 \tab LDIR \par 1 00504 13 \tab INC DE \par 1 00503 54 \tab LD D,H \par 1 00502 5D \tab LD E,L \par 1 00501 C8 \tab RET Z \par 1 00500 B0 \tab OR B \par 1 00499 79 \tab LD A,C \par 1 00498 0B \tab DEC BC \par 1 00494 0000 \tab\tab ;default SER-FL \par 1 00492 0100 \tab\tab\tab ;default NSTAT & IOBORD\par 1 00490 0C00 \tab\tab ;default baud rate\par 1 00489 C9 \tab RET \par 1 00486 22BA5C \tab LD (23738),HL \tab ;SBRT variable \par 1 00483 CD0000 \tab CALL 0\par 1 00480 210000 \tab LD HL,0\par 1 00478 3A00\tab\tab\tab ;default value for VECTOR (= ERR-address)\par 1 00477 02 \tab\tab ;default value for FLAGS3\par 1 00476 C9 \tab RET \par 1 00472 FDCB7C8E \tab RES 1,(IY+124) \par 1 00471 C9 \tab RET \par 1 00468 CD1015 \tab CALL 5392 \cf1 ;extra\cf0\par 1 00465 32EF5C \tab LD (23791),A ;COPIES\par 1 00463 3E01 \tab LD A,1 \par 1 00461 EDB0 \tab LDIR \par 1 00458 11B65C \tab LD DE,23734 \par 1 00455 011300 \tab LD BC,19 \par 1 00452 21DD01 \tab LD HL,477 \par 1 00449 C30007 \tab JP 1792 ;\cf1 #700 UNPAGE\cf0\par 1 00448 D5 \tab PUSH DE \par 1 00445 115516 \tab LD DE,5717 ;addr in main rom = MAKE-ROOM\par 1 00444 D5 \tab PUSH DE \par 1 00442 1E08 \tab LD E,8 \par 1 00441 D5 \tab PUSH DE \tab\tab\tab\par 1 00438 110000 \tab LD DE,0 \par 1 00435 013A00 \tab LD BC,58 \par 1 00432 21B55C \tab LD HL,23733 \par 1 00429 22685C \tab LD (23656),HL \par 1 00426 21925C \tab LD HL,23698 \par 1 00423 22655C \tab LD (23653),HL \par 1 00420 2A635C \tab LD HL,(23651) \tab\tab\par 1 00419 E5 \tab PUSH HL \par 1 00416 21C401 \tab LD HL,452 ;addr of init routine\par 1 00414 3838 \tab JR C,00472 ;jp if variables exist\par 1 00413 19 \tab ADD HL,DE \par 1 00410 1149A3 \tab LD DE,41801 ;-23735\par 1 00406 E9 \tab JP (HL) \par 1 00403 2AB75C\tab\tab LD HL,(23735) \tab\tab ;VECTOR\par 1 00400 CA1605 \tab JP Z,1302 \tab\tab ;\cf1 CLR#-SYN #057F\cf0\par 1 00398 FEFD \tab CP 253 \par 1 00395 CABC08 \tab JP Z,2236 \tab\tab ;\cf1 VERIF-SYN #089E\cf0\par 1 00393 FED6 \tab CP 214 \par 1 00390 CAC208 \tab JP Z,2242 \tab\tab ;\cf1 MERGE-SYN #08A8\cf0\par 1 00388 FED5 \tab CP 213 \par 1 00385 CAB608 \tab JP Z,2230 \tab\tab ;\cf1 LOAD-SYN #0894\cf0\par 1 00383 FEEF \tab CP 239 \par 1 00380 CA4808 \tab JP Z,2120 \tab\tab ;\cf1 SAVE-SYN #082F\cf0\par 1 00378 FEF8 \tab CP 248 \par 1 00375 CAFC04 \tab JP Z,1276 \tab\tab ;\cf1 MOVE-SYN #053D\cf0\par 1 00373 FED1 \tab CP 209 \par 1 00370 CAEE04 \tab JP Z,1262 \tab\tab ;\cf1 ERASE-SYN #0531\cf0\par 1 00368 FED2 \tab CP 210 \par 1 00365 CAA904 \tab JP Z,1193 \tab\tab\tab ;\cf1 OPEN-SYN #04ED\cf0\par 1 00363 FED3 \tab CP 211 \par 1 00360 CA8704 \tab JP Z,1159 \tab\tab ;\cf1 CLS#-SYN #0559\cf0\par 1 00358 FEFB \tab CP 251 \par 1 00355 CA5504 \tab JP Z,1109 \tab\tab ;\cf1 FORMAT-SYN #04B4\cf0\par 1 00353 FED0 \tab CP 208 \par 1 00350 CA1704 \tab JP Z,1047 \par 1 00348 FECF \tab CP 207 \tab\tab ;\cf1 CAT-SYN #0486\cf0\par 1 00347 F7 \tab RST #30 \tab\tab\tab ;NXT-CHAR\par 1 00344 CDF101 \tab CALL 497 \tab ;\cf1 RES-VARS\cf2 -2 \cf1 024D\cf0\par 1 00342 3EFF \tab LD A,255 \par 1 00339 012200\tab\tab LD BC,34\par 1 00336 21CD5C \tab LD HL,23757 \par 1 00334 BF16 \tab DEFW \tab ;SET-WORK space\par 1 00333 D7\tab\tab RST #10 \tab ;calbas\par 1 00331 20DC \tab JR NZ,00297 \par 1 00329 FE0D \tab CP 13 \par 1 00328 7E \tab LD A,(HL) \par 1 00324 22CB5C \tab LD (23755),HL \tab ;CHADD\par 1 00323 09 \tab ADD HL,BC \par 1 00320 01FAFF \tab LD BC,65530 \tab ;sub 6\par 1 00319 EB \tab EX DE,HL \par 1 00317 3008 \tab JR NC,00327 \tab ;NXT-1\par 1 00315 ED52 \tab SBC HL,DE \par 1 00314 A7 \tab AND A \par 1 00310 ED5BCB5C\tab LD DE,(23755) \par 1 00309 E5 \tab PUSH HL \par 1 00307 E819 \tab DEFW #19E8\tab\tab ;RECLAIM-2\par 1 00306 D7 \tab RST #10 \tab ;calbas\par 1 00303 010600 \tab LD BC,6 \par 1 00301 2019 \tab JR NZ,00328 \tab ;NXT-NUM\par 1 00299 FE0E \tab CP 14 \par 1 00298 7E \tab LD A,(HL) \par 1 00297 23 \tab INC HL \par 1 00295 2024 \tab JR NZ,00333 \tab ;\cf1 CL-WORK 01AA\cf0\par 1 00294 DF \tab RST #18 \tab ;CHKSYNTAX\par 1 00292 38EF \tab JR C,00277 \par 1 00290 8B19 \tab DEFW \par 1 00289 D7 \tab RST #10 \par 1 00288 5F \tab LD E,A \par 1 00287 AF \tab XOR A \par 1 00283 2B \tab DEC HL \par 1 00282 C7 \tab RST #00 ;getchar\par 1 00280 FB19 \tab \par 1 00278 00 \tab DEFB 0 \tab ;"Nonsense in BASIC"\par 1 00277 E7 \tab RST #20 \tab ;Handle the following error\par 1 00275 2807 \tab JR Z,00284 \tab \tab\par 1 00274 23 \tab INC HL \par 1 00273 23 \tab INC HL \par 1 00272 23 \tab INC HL \par 1 00270 6E19 \tab \par 1 00269 D7 \tab RST #10 \par 1 00266 2A455C \tab LD HL,(23621) \tab\tab ;PPC\par 1 00264 200D \tab JR NZ,00279 \par 1 00260 FDCB0C7E \tab BIT 7,(IY+12) \par 1 00256 FD360CFF \tab LD (IY+12),255 \par 1 00254 2004 \tab JR NZ,00260 \par 1 00253 DF \tab RST #18 \tab\tab ;CHKSYNTAX\par 1 00249 FDCB7CC6\tab SET 0,(IY+124) \par 1 00246 C24000 \tab JP NZ,64 \tab\tab ;ROM-ERR #0028\par 1 00242 FDCB7C46\tab BIT 0,(IY+124) \tab\tab ;FLAGS3\par 1 00239 C24000 \tab JP NZ,64 \par 1 00235 FDCB376E \tab BIT 5,(IY+55) \tab\tab ;FLAGX\par 1 00234 F1 \tab POP AF \par 1 00231 22CB5C \tab LD (23755),HL \par 1 00228 2A5D5C \tab LD HL,(23645) \par 1 00225 C24000 \tab JP NZ,64 \par 1 00223 FEFC \tab CP 252 \tab\tab ;-3: error 24 "Invalid stream"\par 1 00221 2805 \tab JR Z,00228 \par 1 00219 FEF3 \tab CP 243 \tab\tab ;-12: error 15 "Invalid file name"\par 1 00217 2809 \tab JR Z,00228 \tab\tab ;so reparse the line\par 1 00215 FEF0 \tab CP 240 \tab\tab ;-15: error 12 "Nonsense in Basic"\par 1 00212 D2A00D \tab JP NC,\b 3488\b0 \tab\tab ;jp if not a basic error\par 1 00210 D61B \tab SUB 27 \tab\tab ;reduce the error code \par 1 00209 FF \tab DEFB 255 \tab\tab "Program finished"\par 1 00208 E7 \tab RST #20 \tab\tab ;report error\par 1 00205 CA2C0A \tab JP Z,2604 \par 1 00203 FEF7 \tab CP 247 \tab\tab ;RUN\par 1 00202 7E \tab LD A,(HL) \par 1 00199 2A595C \tab LD HL,(23641) \tab\tab ;E-LINE\par 1 00197 2809 \tab JR Z,00208 \par 1 00193 FDCB0C7E \tab BIT 7,(IY+12) \tab\tab ;PPC-hi\par 1 00191 280F \tab JR Z,00208 \tab\tab ;error\par 1 00187 FDCB7C4E \tab BIT 1,(IY+124) \tab\tab ;FLAGS3\par 1 00185 2017 \tab JR NZ,\b 00210\b0 \tab\tab ;jp if not "0,OK"\par 1 00183 FEFF \tab CP 255 \par 1 00180 323A5C \tab LD (23610),A \tab\tab ;ERR-NR\par 1 00178 7B00 \tab DEFW #007B\tab\tab\tab ;LD A,(HL) Fetch error code \par 1 00177 D7 \tab RST #10 \par 1 00176 F5 \tab PUSH AF \par 1 00175 E1 \tab POP HL \par 1 00174 F1 \tab POP AF \par 1 00172 D3EF \tab OUT (239),A \par 1 00170 3EEE \tab LD A,238 \par 1 00168 D3F7 \tab OUT (247),A \par 1 00166 3E01 \tab LD A,1 \tab\tab ;send some signals ....\par 1 00163 CD9701 \tab CALL 407 \tab\tab ;check if IF1 vars are present\par 1 00162 E9 \tab JP (HL) \par 1 00161 EB \tab EX DE,HL \par 1 00160 56 \tab LD D,(HL) \par 1 00159 23 \tab INC HL \par 1 00158 5E \tab LD E,(HL) \par 1 00157 19 \tab ADD HL,DE \par 1 00154 210400 \tab LD HL,4 \par 1 00153 E5 \tab\tab PUSH HL \par 1 00150 210007 \tab LD HL,1792 ;unpage addr\par 1 00149 F1 \tab POP AF \par 1 00147 200E \tab JR NZ,00163 ;jp if not a channel request\par 1 00146 D1 \tab POP DE \par 1 00144 ED52 \tab SBC HL,DE \par 1 00141 11FE15 \tab LD DE,5630 ;chan ret addr\par 1 00140 D5 \tab PUSH DE \par 1 00139 C9 \tab RET \par 1 00136 2ABA5C \tab LD HL,(23738) ;\par 1 00135 E1 \tab POP HL ;drop ret addr\par 1 00134 F1 \tab POP AF \par 1 00132 2006 \tab JR NZ,00140 \par 1 00131 B5 \tab OR L \par 1 00130 7C \tab LD A,H \par 1 00129 F5 \tab\tab PUSH AF \par 1 00126 C30007 \tab JP 1792 ;unpage\par 1 00125 E5 \tab PUSH HL \par 1 00122 21B95C \tab LD HL,23737 \par 1 00121 E5 \tab PUSH HL \par 1 00118 210800 \tab LD HL,8 \par 1 00117 E5 \tab PUSH HL \par 1 00114 210000 \tab LD HL,0 \par 1 00113 EB \tab EX DE,HL \par 1 00112 E3 \tab EX (SP),HL \par 1 00111 23 \tab INC HL \par 1 00107 ED53BD5C \tab LD (23741),DE \par 1 00106 56 \tab LD D,(HL) \par 1 00105 23 \tab INC HL \par 1 00104 5E \tab LD E,(HL) \par 1 00102 ED45 \tab RETN ;exit on NMI\par 1 00100 FFFF \tab ;unused\par 1 00098 18DC \tab JR 00064 \tab ;ROM-ERR-2\par 1 00095 FD7700 \tab LD (IY+0),A \par 1 00094 7E \tab LD A,(HL) \par 1 00093 E1 \tab POP HL \par 1 00090 C3FB06 \tab JP 1787\tab\tab ;jmp to main rom\par 1 00087 21C516 \tab LD HL,5829 \tab ;SET-STK in main rom\par 1 00083 ED7B3D5C \tab LD SP,(23613) \par 1 00080 225F5C \tab LD (23647),HL \par 1 00077 2A5D5C \tab LD HL,(23645) \par 1 00074 CD9510 \tab CALL 4245 \par 1 00071 CD2507 \tab CALL 1829 \par 1 00069 2806 \tab JR Z,00077 ;ST-ERROR\par 1 00068 DF \tab RST #18 ;check syntax\par 1 00064 FDCB029E \tab RES 3,(IY+2) \par 1 00061 225D5C \tab LD (23645),HL \tab\tab ;CH-ADD\par 1 00058 2ACB5C \tab LD HL,(23755) \tab\tab\par 1 00057 C9 \tab RET ;in fact: do nothing \par 1 00056 FB \tab EI \par 1 00052 FFFFFFFF\par 1 00051 C9 \tab RET \par 1 00049 2000 \tab DEFW 00032\tab\tab ;NXT-CHAR \par 1 00048 D7 \tab RST #10\tab\tab ;calbas\par 1 00045 FFFFFF \par 1 00042 FFFFFF\par 1 00040 1816 \tab JR 00064 \par 1 00038 FFFF\par 1 00035 C3FC01 \tab JP 508 \tab\tab ;TEST-SP\par 1 00033 282A \tab JR Z,00077 \tab\tab ;ST-ERROR\par 1 00032 DF \tab RST #18 \tab\tab ;CHKSYNTAX\par 1 00029 FFFFFF \tab ;unused\par 1 00028 C9 \tab RET \par 1 00024 FDCB017E \tab BIT 7,(IY+1) \tab\tab ;FLAGS\par 1 00023 FF \tab ;unused \par 1 00021 1851 \tab JR 00104 \tab\tab ;CALBAS-2\par 1 00020 D5 \tab PUSH DE \par 1 00019 E1 \tab POP HL \par 1 00016 22BA5C \tab LD (23738),HL \tab\tab ;H-L variable\par 1 00013 C38100 \tab JP 129 ;Start-2\par 1 00012 E5 \tab PUSH HL \par 1 00011 E1 \tab POP HL ;fetch the return address in HL\par 1 00008 2A5D5C \tab LD HL,(23645) ;finish the instruction from ROM 0\par 1 00004 FFFFFFFF \par 1 00003 C9 \tab RET \par 1 00001 1800 \tab DEFW 00024 \tab ;GET-CHAR\par 1 00000 D7 \tab RST #10 \tab ;calbas \par 1 0 -16383\tab IF1 code \cf2 190892T40H2S164 (see 10224)\cf0\par 1 ----|----- \cf1 empty\cf0\par 1 ----|---- \cf1 empty\cf0\par 1 ----|---- \cf1 empty\cf2\par 1 ---------------------------------------------\b0\par 1 ----------------------------------------------------------------\par 1 ----------------------------------------------------------------------\par 1 ##################################################################\par 1 ##########################################################################\cf0\par 1 \tab\tab DEFM "Program finishe"\tab\tab ;=255\par 1 \tab FF \par 1 \tab F50B \tab 3061\tab ;in read byte from D\par 1 \tab E5 \tab \tab ;229\par 1 23\tab\tab ;head load time \tab (millisec)\par 1 0D\tab\tab ;step rate\tab\tab (millisec)\par 1 15360 = 1K mirrorred RAM >16384 \par 1 14336 = 1K mirrorred RAM\par 1 12288 = \cf1 2K filled with FF \cf2 This could be Eprom!\cf0\par 1 \par 1 F6C0 OR 192 \par 1 F601 OR 1 \par 1 ED53515C LD (23633),DE \tab ;curr chan\par 1 ED52 SBC HL,DE \par 1 E819 DEFW #19E8 ;RECLAIM BC spaces at HL\par 1 E601 AND 1 \par 1 E1 POP HL ;HL=IX \par 1 DDE1 POP IX \par 1 DDCB04FE SET 7,(IX+4) \par 1 DDBE0C CP (IX+12) \par 1 DDBE0B CP (IX+11) \par 1 DD7E10 LD A,(IX+16) \par 1 DD7E \par 1 DD7711 LD (IX+17),A \par 1 DD770F LD (IX+15),A \par 1 DD770C LD (IX+12),A \par 1 DD770B LD (IX+11),A \par 1 DD7313 LD (IX+19),E \par 1 DD730D LD (IX+13),E \par 1 DD720E LD (IX+14),D \par 1 DD5E13 LD E,(IX+19) \par 1 DD5E10 LD E,(IX+16) \par 1 DD5E0D LD E,(IX+13) \par 1 DD560E LD D,(IX+14) \par 1 DD4610 LD B,(IX+16) \par 1 DD361900 LD (IX+19),0 \par 1 DD340D INC (IX+13) \par 1 DBF7 IN A,(247) ;network\par 1 DBF7 IN A,(247) ;\par 1 D8 RET C \par 1 D7 RST 10h \par 1 D3FE OUT (254),A ;BORDER\par 1 D3EF OUT (239),A \par 1 D27422 JP NC,\b 8820\b0 \par 1 CDF320 CALL \b 8435\b0 \par 1 CDF121 CALL \b 8689\b0 \par 1 CDE00B CALL 3040 \b ;BORDer-REST\b0\par 1 CDE00B CALL 3040 \b ;#0D4D BORD-REST\b0\par 1 CD920A CALL 2706 \tab ;fill new room\par 1 CD8E0D CALL 3470 ;test break\par 1 CD830A CALL 2691 \tab ;MAKE ROOM FOR CHANNEL\par 1 CD7E20 CALL \b 8318\b0 \par 1 CD7E20 CALL \b 8318\b0 \par 1 CD5822 CALL \b 8792\b0 \par 1 CD5822 CALL \b 8792\b0 \par 1 CD5822 CALL \b 8792 \b0 \par 1 CD4D21 CALL \b 8525\b0 \par 1 CD0021 CALL \b 8448\b0 \par 1 CD0021 CALL \b 8448\b0 ;\par 1 CB1B RR E \par 1 CB14 RL H \par 1 CB03 RLC E \par 1 C3F320 \tab JP \b 8435\b0 ;??\par 1 C3D30A JP \b 2771\b0 \par 1 C29822 JP NZ,\b 8856\b0 \par 1 C29222 JP NZ,\b 8850\b0 \par 1 C1 POP BC \par 1 BF CP A \par 1 BE CP (HL) \par 1 BA CP D \par 1 B2 OR D \par 1 93 SUB E \par 1 7E LD A,(HL) \par 1 78 LD A,B \par 1 73 LD (HL),E \par 1 5720 \tab ;out\par 1 54 LD D,H \par 1 4E \tab ;'N' \par 1 410C ;in \par 1 3ECE LD A,206 \par 1 3E37 LD A,55 \par 1 3E01 \tab LD A,1 \par 1 3E00 LD A,0 \par 1 3AD65C LD A,(23766) \tab ;drive number \par 1 3AD45C LD A,(23764) ;checksum\par 1 3AD35C LD A,(23763) ;data block length\par 1 3AD35C LD A,(23763) ;block len\par 1 3AD25C LD A,(23762) ;header type block\par 1 3ACF5C LD A,(23759) ;source station\par 1 3ACD5C LD A,(23757) \par 1 3AC65C LD A,(23750) ;border colour \par 1 3AC65C LD A,(23750) ;brd col\par 1 3AC55C LD A,(23749) \tab ;own netwrk station nr\par 1 3AC55C LD A,(23749) ;own network station nr\par 1 38F6 JR C,\b 8666\b0 \par 1 38EF JR C,\b 8743\b0 \par 1 380F JR C,\b 8732\b0 \par 1 380D JR C,\b 8230\b0 \par 1 3804 JR C,\b 8803\b0 \par 1 3600 LD (HL),0 \par 1 3015 JR NC,\b 8267\b0 \par 1 300D JR NC,\b 8712\b0 \par 1 3007 JR NC,\b 8909\b0 \par 1 2F CPL \par 1 2D DEC L \par 1 28ED JR Z,\b 8712\b0 \par 1 28ED JR Z,\b 8692\b0 \par 1 28E0 JR Z,\b 8241\b0 \par 1 28DB JR Z,\b 8743\b0 \par 1 2821 JR Z,\b 8571\b0 \par 1 2814 JR Z,\b 8230\b0 \par 1 2812 JR Z,\b 8525\b0 \par 1 280D JR Z,\b 8488\b0 \par 1 2809 JR Z,\b 8417\b0 \par 1 2802 JR Z,\b 8293\b0 \par 1 2802 JR Z,\b 8204\b0 \par 1 2600 LD H,0 \par 1 21CE5C LD HL,23758 \par 1 21CD5C LD HL,23757 ;store for network response code\par 1 21CD5C LD HL,23757 ;net response\par 1 211500 LD HL,21 \par 1 210B00 LD HL,11 \par 1 210900 LD HL,9 \par 1 20FB JR NZ,\b 8442\b0 \par 1 20F4 JR NZ,\b 8382\b0 \par 1 20F3 JR NZ,\b 8712\b0 \par 1 20F3 JR NZ,\b 8692\b0 \par 1 20E9 JR NZ,\b 8760\b0 \par 1 20DD JR NZ,\b 8382\b0 \par 1 2010 JR NZ,\b 8267 \b0 \par 1 2008 JR NZ,\b 8307\b0 \par 1 2003 JR NZ,\b 8585\b0 \par 1 2003 JR NZ,\b 8425\b0 \par 1 2002 JR NZ,\b 8909\b0 \par 1 1D DEC E \par 1 18F7 JR \b 8734\b0 \par 1 18C1 JR \b 8204\b0 \par 1 1806 JR \b 8612\b0 \par 1 1805 JR \b 8493\b0 \par 1 17 RLA \par 1 160 LD D,0 \par 1 1401 ;length =276 \par 1 110015 LD DE,5376 ;delay\par 1 10FC DJNZ \b 8559\b0 \par 1 10FC DJNZ \b 8463\b0 \par 1 10FC DJNZ \b 8376\b0 \par 1 10FC DJNZ \b 8361\b0 \par 1 10F9 DJNZ \b 8794\b0 \par 1 10F8 DJNZ \b 8680\b0 \par 1 10E2 DJNZ \b 8804\b0 \par 1 10A7C8 \par 1 0EF7 LD C,247 \par 1 0D DEFB 13\tab\tab ;error "reading a write file" \par 1 0C DEFB 12\tab\tab ;error "writing to a read file" \par 1 0800 ;error addr \par 1 068 LD B,8 \par 1 0620 LD B,32 ;delay\par 1 060A LD B,10 \par 1 0604 LD B,4 \par 1 05 DEC B \par 1 04 INC B \par 1 \par 1 \par 1 ;this is DSTR-1, 8 bytes file identification\par