View Single Post
Old 27th Oct 2018, 12:04 am   #112
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,484
Default Re: MK14 schematic revisions

There are reasons not to use the tape interface or the SIO pin.

The tape interface needs the system to have the 'new' version of the OS, as only that version has the tape routines embedded in it. But even then, the problems with that approach include:-

-Speed. Only four characters a second.

-Code size limitation of 256 bytes in any one load (a limitation imposed by the tape interface firmware).

-The tape interface routines require you to know (and manually input) the load address for the program prior to loading it because the data file does not contain this information.

Serial input through SIO pin - only practical if you are prepared to modify the Monitor PROMs and replace the tape service routines with serial download routines. Physically ties up the SIO pin and may need to ring fence some RAM as a receive buffer.

Advantages of using an interface which injects the code into the machine by literally typing it in through the keypad edge connector:-

-Much faster than the cassette interface.

-Requires absolutely no modification to the MK14 hardware or firmware, which is especially important if the machine is an original MK14.

-Uses no system resources or hardware assets which are not already used by the Monitor. (Doesn't tie up any Sense, SIO, Flag or RAM I/O pins).

-If the interface is designed to receive Intel Hex then downloaded code can be directed to multiple locations within the memory as defined by .ORG statements in the source code - the code is automatically 'typed' into the correct addresses.

-No size limit on the amount of code which can be injected into the machine in one go in this way, apart from the size of the available memory of course.

Slothie, yes, I would use an Arduino for the receiving / control now if only to make it much easier to implement a USB, rather than RS232 serial link to the sending source. I hadn't actually heard of / come across the Arduino concept at the time.

Sticking with the Raspberry Pi, a simplified version could use a bit of bespoke software running on the Pi which would notice whenever the working hex file had been modified by the assembler, and if so, send the relevant control signals for the opto matrix directly to the GPIO pins of the Raspberry Pi. I made the original interface to be as generic / versatile as possible so that anything which could send an Intel Hex file out over a serial port - PC, Raspberry Pi, Psion Organiser - could be used to load up the MK14.
SiriusHardware is online now