![]() Making a copy of your S-Basic tape
( SHARP 1Z013B )
|
Copy procedure Make a copy of your original interpreter tape and use only this copy to prevent a loss of your original BASIC interpreter tape Sharp 1Z-013B. Follow these instructions:
The values (FF/00) shown in the second column are meaningless. Other values are possible. MZ-700 displays the actual contents of your RAM starting at location $CF00. |
Further detailed informationYou have typed in a tiny program into the storage starting at location $CF00. Here are the assembler instructions: CF00 CD2700 CALL $0027 ; read info record from tape CF03 3803 JR C,$CF08 ; if any error then stop CF05 CD2A00 CALL $002A ; load data from tape into storage CF08 DA0701 JP C,$0107 ; if any error then stop with message CF0B C3AD00 JP $00AD ; goback to monitor CF0E C3CB0F JP $0FCB ; execute the verify routine ; from monitor The first part loads the BASIC interpreter into the storage, normally starting at location $1200 and ending at location $7D9F. If the load was successfully completed, the program returns to the monitor. No start of the BASIC interpreter will be done from the original execution address $7D79. The BASIC interpreter is only loaded into the storage and is ready now for copying. This will be done in the following step when you type in J1108. A tiny save program is resident in the comment area of the tape header of your original load tape from Sharp. The contents of the tape header of your original tape is listed here: :10F0=01 20 53 2D 42 41 53 49 /. S-BASI :10F8=43 0D 0D 0D 00 00 00 00 /C....... :1100=00 00 A0 6B 00 12 79 7D /..P.a.a. 1108 113011 LD DE,$1130 ; address to msg "S-BASICEX...." 110B CD0900 CALL $0009 ; position cursor to next line 110E CD1500 CALL $0015 ; print the message 1111 CD0900 CALL $0009 ; position cursor to next line 1114 114811 LD DE,$1148 ; address to msg "HIT ANY KEY?" 1117 CD1500 CALL $0015 ; print the message 111A CDB309 CALL $09B3 ; wait on any key 111D CD0900 CALL $0009 ; position cursor to next line 1120 CD2100 CALL $0021 ; write info record to tape 1123 D42400 CALL NC,$0024 ; write data (BASIC) to tape 1126 CD3E00 CALL $003E ; beep 1129 CD3E00 CALL $003E ; 2nd beep, ; because you have 2 ears :-) 112C C30811 JP $1108 ; loop, if any copy else :112F=00 16 53 2D 42 41 53 49 /..S-BASI ; note, 1130=16 clears :1137=43 45 58 20 53 41 56 45 /CEX SAVE ; the screen :113F=52 20 30 35 71 31 36 70 /R 05.16. :1147=0D 48 49 54 20 41 4E 59 /.HIT ANY :114F=20 4B 45 59 3F 0D 00 00 / KEY?... :1157=00 00 00 00 00 00 00 00 /........ :115F=00 00 00 00 00 00 00 00 /........ :1167=00 00 00 00 00 00 00 00 /........ :116F=00 /. If you type in J1108 the program starts at location $1108 and some messages will be displayed first ( see listing above ). The program stops after execution of the CALL command at $111A and waits until you type in any key. Then it copies the BASIC interpreter from RAM to tape. S-BASICEX SAVER 05_16 was written and stored to tape by Sharp. |