Sharp logo
Transfer Random Files from MZ-80K to MZ-80B 
written by M. Stickland  
Source: SharpSoft User Notes , Issue No. 8, pp. 37 - 39  


Yes, it seemed such a good idea to upgrade from the MZ-80K to an MZ-80B, because it is so easy to transfer programs using the conversion program. Or is it? Two problems arise:

1) The conversion program only works with SP-5925 cassette BASIC, not with SP-6015 or 6115 Disc BASICS.

2) The conversation program will not accept data tapes or transfer Random Access or Sequential Files from Disk.

As the majority of my work has been using Double Precision DiskBASIC and Random Access Files, imagine my dismay when trying to transfer data to the ‘B‘ to discover that there was no way of doing it. Readers with a similar problem will therefore be interested to learn how the problem was resolved. The only way that came to mind was to read the data from the Random Access File, and to convert the data into program lines. Programs containing data that are to be converted to B‘ format MUST be within inverted commas.

The short Program listed here was therefore devised, and the records are read from Disk five at a time, listed on the screen, and the ‘CR‘ has to tapped six times per five records to write new lines into the program. This probably sounds a little weird, but if you run the program all will become clear. This takes about 12 to 15 minutes per block of 500 records, a convenient number to do at one time. Then comes the boring bit.

The following procedure has to be followed:

1) Load Disk BASIC in the 'K' and type in the program. Save it on Disk. Substitute your Random Access File Name in lines 5200 and 6020.

2) Run the program and save the first 500 records as program lines.

3) SAVE/T in Disk BASIC. Use title such as “NAMEPROG 1-500‘ to indicate which record numbers it contains.

4) VERIFY. Do not leave this stage out, as it will save time in the long run by avoiding checksum errors ( NOT possible with SP-6015 ).

5) Load SP-5025 BASIC into the ‘K‘.

8) Load the “NAMEPROG‘ program from tape.

7) SAVE “NAMEPROG“ to tape ( The same tape will do ).

8) VERIFY.

9) Remove disks from MZ-80FD and connect it to the ‘B‘

10) Load MZ-80K to MZ-80B Text Converter into the ‘B‘

11) Load “NAMEPROG“ tape in the ‘B‘ and start the conversion program running.

12) When the tape stops, rewind it and insert a fresh tape in the ‘B‘.

13) Continue the program. It will write to the tape in ‘B‘ format.

14) Load Disk BASIC SB-6510 or SB-6610.

15) Load “NAMEPROGR“ tape-again.

16) Save “NAMEPROG“ onto a spare disk temporarily.

17) Insert appropriate Random Access File disk in Drive 2 of Disk Unit.

18) Run program by typing “GOTO 6000“.

19) Repeat the above procedure, amending line 5050 so that MN is incremented by 500 each time the program is run.

The above might seem a daunting task, but I have found that by doing a section or two only at a time, it is soon achieved. It also helps to have a coffee and a good Computer Magazine to read while all the saving and verifying is going on. If it is any consolation, I have never regretted the work involved, as the ‘B‘ is such an improvement on the ‘K‘. The extra memory, the graphics and other facilities make it a delight to own.

For the transfer of ordinary programs, things are much easier, except that PEEKs, POKEs and USR numbers have to be altered ( See also Issue 6 of User Notes ). USR(62) on the ‘K‘ should be replaced by USR(3774) on the ‘B‘ ( Bell ).

I hope that some of the above will be of assistance. No doubt some Machine Code expert can provide a vastly more sophisticated method - How about it?

One final point. If you have records on Random Access File including ASCII 34 ( Inverted Commas ) this will cause an error message when finally running the program. If this happens, type PRINT N and this will tell you the line number in which ( or adjacent to which ) the error has occurred. The " can then be converted to a more innocuous symbol ( how about a ! ) and a note made of the line number. It can then be reconverted in due course.

5000 REM PROGRAM TO TRANSFER MZ-80K
5010 REM RAND0M ACCESS FILES TO MZ-80B
5050 MN = 1 : MX = MN + 499
5100 X = MN
5200 XOPEN#1‚ FD2, “FILENAME RAF“
5210 IF X > MX THEN 5500
5212 PRINT “C“ : PRINT :REM C = INVERTED C / CLS
5215 FOR C = 0 T0 4
5220 INPUT#1(X), IN$
5300 PRINTX; "DATA“; CHR$(34); X; CHR$(34); “,“;
5310 PRINT CHR$(34); IN$; CHR$(34)
5312 X = X + 1
5315 NEXT
5330 PRINT “GOTO 5200“
5340 PRINT : PRINT
5350 PRINT “PRESS ‘CR‘ OVER THE ABOVE“
5360 PRINT “H" :REM H = INVERTED H / HOME
5370 CLOSE#1 : END
5500 CLOSE#1 : END
5999 REM =============================
6000 REM TFR DATA-DISK RAF
6010 RESTORE
6020 XOPEN#1‚ FD2, “FILENAME RAF“
6100 READ N, IN$
6110 IF H = 0 THEN CLOSE#1 : END
6120 DATA 0,XXXXX
6130 PRINT#1 (N), IN$
6140 GOTO 6100


Go to the top of this page      Get next page - part II      Home     

last updated January 13, 2004
M. Stickland