|
In here you can download a program for Fujitsu FM-7/77 series 8-bit computers that redirects audio-cassette I/O function to RS232C. I don't know how many FM-7/77 series computers are used outside Japan, but if you are one of very rare historic Fujitsu computer fan living outside Japan, this utility might help you running tape-based software title on an actual FM-7/77 series computer.
FM-7/77 series computers are sold by Fujitsu back in 1980s. The working units are still traded on Yahoo! auction. It is not too difficult to get one for yourself. Now it is easier than ever to bid on Yahoo! auction through buyee.jp.
Let's say you found a working unit, somehow connected to a monitor (by the way, DO NOT use EURO SCART cable. FM77AV series use JP RGB 21, which has a same-connector shape, but pin assignments are totally different. Using EURO SCART cable would fry your historic computer or monitor or both.) If you ended up owning a FM77AV1/2 or FM77AV20/40 without a keyboard, my FM77AV Keyboard Emulator would help.
But, once you set up your FM-7/77 up and running. The next problem is how to load a program. I have developed DISK2TAPE utility that burns a D77 disk image to actual 3.5 inch 2D disk by transferring the image via the audio-cassette interface. Or, if your model comes with an RS232C serial port, you can do the same via RS232C. But, what if you got FM-7, which does not have an internal floppy disk drive? Or what if your FM-77 unit has a dead floppy drive?
The last hope was audio-cassette interface, but fabricating a cable takes some skill level of soldering.
Recently I figured out (with help from Mr. Apollo) the way to fabricate a RS232C serial connection board for FM-7, 77, and 77AV. (77AV20/40 and later models come with on-board RS232C connector). So, it opens up another route that you can load a program to your FM-7/77 series computer.
So, let's say you have a working FM-7/77 series computer and an RS232C connector. If you are able to redirect BIOS function call for audio-cassette I/O to RS232C, you can load and run tape-based software titles.
The program you can download here is exactly for that purpose. You'll need to type 5-lines of F-BASIC code every time you reset or power-on your FM-7, but that's all you need to download BIOS redirector from a tape-image server running on Windows. Once you install the redirector, RS232C works just like an audio-cassette data recorder.
Click here to download.
https://github.com/captainys/FM/tree/master/7/util
(*) The URL of the source code has changed.
Preparation: If you are using FM77AV1/2 or earlier model plus Fujitsu-original RS232C card, make sure only dip switches 5 and 6 are on, and all others off. If you are using a compatible RS232C card, Make sure only JP5 is connected, and all other pins are open.
You might see a security warning about digitally-unsigned executable when you try to run T77Server.exe. If you trust me, please ignore the warning and go ahead and execute. Digital signature was originally invented in order to improve security. However, now it is used for decimating individual freeware/shareware developers. Digital signatures are not just outrageously expensive, but no digital signature is issued to an individual developer since sometime 2017. It is an obviously an infringement of the freedom to publish a software. But, I can do nothing about it.
Then follow the steps below.
1. Connect a Windows PC and FM-7/77 series computer with a serial CROSS cable.
2. Start the T77Server on Windows PC from the command prompt or PowerShell. If the filename of .T77 tape image is filename.t77, and the serial port number is 5, the command should look like:
t77Server filename.t77 5
I am assuming you add a PATH to t77server.exe. If not, you need to type a full-path or relative-path from the current working directory to the executable.
3. If you are using FM77AV20/40 and newer model, skip this step. If you are using FM77AV20/40 and newer, type the following 3 commands on FM77AV20/40 side.
POKE &HFD0C,5
POKE &HFD0B,16
EXEC -512
Then wait for like 30 seconds for F-BASIC to restart.
4. Type the following 5-line F-BASIC program on FM-7/77 side.
10 OPEN "I",#1,"COM0:(F8N1)"
20 FOR I=0 TO
255
30 INPUT #1,A%:POKE &H6000+I,A%
40 NEXT
50 CLOSE
Then type RUN to run the program. FM-7/77 side will start waiting for the program to come in from the server.
5. On the server (Windows PC) side, type
IA
to start transmitting the BIOS redirector to FM-7/77 side.
6. On FM-7/77 side type:
EXEC &H6000
Then your FM-7/77 is ready to load/save from/to RS232C instead of audio-cassette. Typically you need to type:
RUN ""
Or,
LOADM "",,R
to start a program.
Just FYI, it is the dump list of the BIOS redirector installer.
FILENAME=CAS0COM0.srec
Add +0 +1 +2 +3 +4 +5
+6 +7 +8 +9 +A +B +C +D +E +F Sum
6000 20 04 FB A8 FC 00 34 77 1A 50 BE FB FA
AF 8C 6A :30 | .....4w.P.....j
6010 AF 8C 78 CC 05 10 B7 FD 0C F7 FD 0B C6 0A
CE 06 :F7 |..x.............
6020 F4 6F C0 5A 26 FB 7F FD 02 B7 FD 0F 30 8C 4F
C6 :B0 |.o.Z&......0.O.
6030 69 EE 8C CE EF 8C 39 11 A3 8C C9 27 0F 30 8C 4F
:AF |i.....9....'.0.O
6040 C6 58 8D 1A 30 8C 1F EE 8C BA C6 18 8D 10 86 7E
:53 |.X..0..........~
6050 B7 00 DE AE 8C AE BF 00 DF B6 FD 0F 35 F7 A6 80
:2F |............5...
6060 A7 C0 5A 26 F9 39 6F 01 34 57 1A 50 B7 FD 0F BD
:FE |..Z&.9o.4W.P....
6070 FB A8 7D FD 0F 24 05 35 57 7E F1 7D 35 D7 6F 01
:49 |..}..$.5W~.}5.o.
6080 34 57 1A 50 8D 09 24 05 35 57 7E F1 7D 35 D7 CE
:06 |4W.P..$.5W~.}5..
6090 FD 00 86 B7 E6 84 5A 27 09 5A 27 25 5A 27 2C 1A
:9B |......Z'.Z'%Z',.
60A0 01 39 A6 02 4C 26 11 30 8C 08 4F A6 80 A7 47 2A
:B6 |.9..L&.0..O...G*
60B0 F9 39 00 00 00 40 4E B7 86 40 A7 C4 6F 42 6F 47
:0F |.9...@N..@..oBoG
60C0 39 A7 47 8D 1A A6 02 8D 16 4F 39 A7 47 4A 8D 0F
:75 |9.G......O9.GJ..
60D0 8D 04 A7 02 4F 39 86 02 A4 47 27 FA A6 46 39 E6
:61 |....O9...G'..F9.
60E0 47 54 24 FB A7 46 39 :E0
|GT$..F9.........
---------------------------------------------------------
83 75 59 1A A9 46 93 48 CB 5E 4A 51 60 25 5E 8F
T77 server (T77Server.exe) needs to be started from a command prompt or Power Shell. Basic usage is:
T77Server.exe t77-filename.t77 com-port-number
You can specify following options.
-install ADDR
Specify install address of the main part of the BIOS redirector. ADDR should be 4 letters hexa-decimal number without '0x', '$', or '&H'
-bridge ADDR
Specify address of the bridge, which connects F-BASIC and BIOS redirector. ADDR should be 4 letters hexa-decimal number without '0x', '$', or '&H'
If you give the same address for -install and -bridge, the BIOS redirector needs to reside somewhere on the conventional RAM (not shadow RAM).
-save T77-file-name.t77
Specify the file name of a T77 file where the data from FM-7/77 computer is saved.
-38400bps
Use 38400bps instead of 19200bps. Your RS232C card must be capable of and configured to 38400bps.
Once you start the server, the server accepts the following commands:
IA
Transmits the BIOS redirector installer to FM-7/77 computer.
Q
Quit the server.
V
Verbose mode on/off
R
Rewind all the way.
This program was mostly tested with the EXCELLENT FM-7 emulator called XM7. I thank all developers who contributed to the development of the emulator. Surprisingly, although there was very small probability of usage, XM7 emulates the RS232C port. I wish I could contribute something, but when I came to know about XM7, the development was pretty much over.
However, the RS232C emulation of XM7 is not perfect to date. Therefore, you cannot test this BIOS redirector on XM7 unless you have a bug-fixed version. I am a programmer. I looked at the source and de-bugged it. I do have a version that emulates RS232C better, but the licensing terms does not allow me to release the corrected source.
The current XM7 version has the following limitations in RS232C emulation.
I know how to fix it, and XM7 is relatively easy to build with Visual Studio 2017. I might post an instruction for building XM7 from source somewhere in YSFLIGHT.COM.
Confirmed on actual FM77AV40. Started and destroyed one target.
Confirmed on actual FM77AV40 and FM-7. Started, auto-demo, and first a few steps into playing.
Confirmed on actual FM77AV40 and FM-7. Started and a few seconds into game play. But, it doesn't start with RUN "". You need to start with the following loader.
10 CLEAR ,&H14FF
20 LOADM"DATA"
30 POKE &H68B1,&HFD
40 POKE
&H68B2,&H05
50 POKE &H68B3,&H2A
60 POKE &H68B4,&HFB
70 EXEC
80 LOADM"DELPH.M"
90 POKE &H560D,&HFD
100 POKE &H560E,&H05
110
POKE &H560F,&H2A
120 POKE &H5610,&HFB
130 EXEC
The original program comes with a bug in Sub-CPU halting procedure. I don't know why this title was actually working back in 1984. Since the program fails to start 4 in 5 times, I looked into disassembly and found the bug. The fix was easy (as you can see in the above code.)
Hydlide is not using BIOS for reading binaries. It requires a patch. You can download it here. You can just concatenate Hydlide tape image AFTER the patch. On FM-7, start in the tape mode (without disk), set this tape image on t77server, and type RUN "" then ENTER. I haven't confirmed, but I believe it can save and load. The patched tape image can be used on XM7 with no issue because the patch simply force the loader to use the BIOS.
Since Hydlide uses the RAM all the way up to the end of shadow RAM where the BIOS patch is installed by default, therefore you need to specify options to displace the location of the BIOS patch by the following parameters (assuming COM4 is the serial port connected to FM-7).
t77server hydlide_patched.t77 4 -install FC00 -bridge FC00
Just like Hydlide, it is not using BIOS for reading tape. Therefore you need to apply a patch. You can download it here. Simply you can concatenate Jelda tape image AFTER the patch. On FM-7, start in the tape mode (without disk), set this tape image on t77server, and type RUN "" then ENTER. The patched tape image can be used on XM7 with no issue because the patch simply force the loader to use the BIOS.
Confirmed on actual FM77AV40 and FM-7. Started and a few seconds into game play.
Like Jelda, the loader is reading from the tape without using BIOS. Therefore, the loader needs to be patched so that it uses the BIOS. You can download it here. In addition to modifying the code, it looks to be destroying the BIOS work area, so I had to displace the IPL from $0000 to $0E00. After the MOD, I confirmed it to load and run via RS232C on my FM77AV. The patched tape image can be used from XM7 with no problem. To start, type RUN "" [Enter] on FM-7.
I though I also made a joystick patch, but I lost it :-P
Confirmed on actual FM77AV40 and FM-7.
Confirmed on actual FM77AV40 and FM-7. Opening demo and a few steps into game play. Also I was able to save.
Confirmed on actual FM77AV40 and FM-7.
Confirmed on actual FM77AV40 and FM-7.
Confirmed on actual FM77AV40.
Comments are welcome. Send E-Mail to: |