MZ-700 – MAKE A COPY OF S-BASIC
URL:https://www.sharpmz.no/articles/the-mz-series/mz-700/mz-700-make-a-copy-of-s-basic/
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:
-
- Turn your MZ-700 on. The monitor 1Z-013A becomes active and you get the following message on your screen:
-
- Type in the following program to load your BASIC interpreter without execution:
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.
- Press SHIFT and BREAK now coincidentally to stop the input mode.
- Put your BASIC interpreter tape into the data recorder.
- Type in: JCF00 to start the tiny program you have typed in. MZ-700 displays:
- Press the PLAY button at your data recorder. Your BASIC will be loaded without execution.
No message should be displayed. If you get an error message, retry the procedure again. - Wait for the end of the load. When the MZ-700 returns to the input mode,
an asterisk ( “*” ) is displayed and the blinking cursor is shown. The data recorder and its counter has stopped.
- Press the STOP/EJECT button at your data recorder.
- Press the REWIND button at your data recorder to rewind the original S-Basic tape.
- Press the STOP/EJECT button and remove the S-BASIC tape from your data recorder.
- Put a tape into the data recorder which will become your new BASIC interpreter tape. It contains the copy of your BASIC interpreter at the end of the following steps. If it is a fresh tape position it manually to its beginning area first ( brown tape material starts ) either by hand or by using the FFWD button at the data recorder for a short time. If it is no fresh tape delete a short part from its beginning first by using the RECORD and PLAY button, then rewind the tape and position it to its beginning area as described above.
- Type in J1108.
The response of the MZ-700 will be: - Press any key on your keyboard.
The MZ-700 response will be: - Press the RECORD button and the PLAY button coincidentally at your data recorder.
The MZ-700 response will be: - Your BASIC interpreter file will be copied now.
- At the end the MZ-700 beeps and the following message will be displayed:
- Press the RESET button at the reverse side of your MZ-700. The monitor starts again.
- Rewind your tape and stop the tape at end of rewinding. To this press the STOP/EJECT button first and the REWIND button next.
- Type in JCF0E to verify the copy of the file. ( Resetting the MZ doesn’t delete the program you’ve typed in ).
The MZ-700 response will be: - Press the PLAY button. The verify function will be performed now.
The function ends with: - If an error message will be displayed, you have to restart this procedure. In this case, try another tape.
- Rewind your tape.
- You should have a usable copy of your BASIC interpreter tape now.
Further detailed information
You 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.