• Please review our updated Terms and Rules here

Serial fun with a Model 4P

fjkraan

Experienced Member
Joined
Jul 30, 2003
Messages
163
Location
Netherlands
The Model 4P has an option to boot from the serial port. The feature appears to be implemented to help testing boards at the factory. It is described in both the Technical Manual and the Service Manual. It it somewhat terse, but with some experimenting it is doable to create a program to make it work.

The option to initiate the serial boot is pressing Right-Shift during reset. What is not in the manual is that a floppy must be present in drive 0. It might be my boot-ROM ("Boot ROM Version Is 1(16) 18-Oct-83" with RESET-V), but none but one of the startup options work without a floppy. It doesn't have to be bootable, but it must be present.

The format used to transfer data over the serial port is "TRS-DOS Load Module Format (LMF)". This is also used for executable files, so if you extract a program from a disk and feed it to the serial boot service, it would run, assuming it doesn't require parts of DOS.

LMF uses two types of records, data records and control records. The data records transfer the data and may be up to 255 bytes long. The control record is used to pass the execution address, which is directly implemented. Therefore it is the last record of a transfer.

So far I implemented a converter from hex-intel to a text presentation of LMF and a 'serial-service program, that initiates and executes the transfer of the program (in text-LMF). Both are in Python3, which is my language-du-jour at the moment.

My test-setup uses 9600 Baud and the typical config for serial boot: 8 bits, odd parity. Having no real serial port on my PC, I use a USB-to-RS-232c converter and a null-modem adapter. Pin 8 (CD) of the Model 4P serial port is connected to 20 (DTR).


At http://www.hytherion.com/beattidp/comput/sboot4.htm is Douglas Beattie Jr.'s SBOOT program which does the same. But it is an MSDOS executable, so you can't see what really happens. Below a screenshot of SCRDUMP that came with SBOOT.


More info at the github page: https://github.com/electrickery/SerialBoot

Greeting,
Fred Jan
 

Attachments

  • SCRNDUMP.jpg
    SCRNDUMP.jpg
    142.7 KB · Views: 27
Hi George,

Thanks for your reply. I'll study your code with interest.

It is of course just a simple way to load and start code on the 4P, but in principle it could result in a way of creating real bootable disks with just a 4P and a serial connection. Not that I would be able to make such a program-suite, but the idea it could be done is nice ;-).

Greetings,
Fred Jan
 
Back
Top