23rd September 2020
A batch of ROM X bundles have been shipped to Jeff to distribute to US buyers - that should land in a couple of weeks. Most are pre-sold, however there are a couple of bundles available for sale in that shipment - shoot me an email if you'd like to purchase one of them.
As I begin to work on the documentation, I may place the odd snippet of information in the blog. Today we are looking at compatibility with ROM X, and an Apple Language Card.
When the Apple Language Card was released in 1979 with the Apple Pascal Language system, it served two purposes :
- Provide an Autostart F8 ROM, allowing an Apple II to boot from a floppy disk drive.
- Provide an extra 16KB of RAM to a fully expanded 48K Apple, bringing the total memory available to 64KB.
The Autostart F8 ROM was later shipped as standard, and when Microsoft released their 16K RAM card in 1980, the Language Card was no longer required.
The Microsoft (or clone) 16KB RAM card will work just fine with ROM X. The Apple Language Card (or clone) however requires a couple of (reversible) modifications to ensure that its F8 ROM does not override ROM X.
Firstly, we need to disable the Language Card F8 ROM (with ROM X you dont need it!), and secondly we need to ensure that the slot inhibit signal is not asserted by the Language Card with access to the $F800 address space (inhibit must still be allowed to function normally for Language Card RAM access). Fortunately both of these needs can be met with a minor modification centred around pin 6 of the IC at position A5 (74LS20), which is the output of a quad NAND gate. This pin drives the chip select for the F8 ROM, and also further logic that controls the inhibit signal. We need to isolate the output of this gate from the PCB to ensure that it has no control over these signals, and then we need to pull the pin 6 trace on the PCB high (+5V), disabling both the F8 ROM chip select and inhibit line for ROM access.
Step 1 - lift pin 6 of IC A5 (74LS20).
This is pretty easy - remove the 74LS20 at location A5 from the socket, and using your favourite pliers, carefully bend pin 6 outward, then replace the chip in the socket (you could also purchase another chip just for this purpose, and snip/break off pin 6) :
Step 2 - install a 4k7 (4700 ohms) pullup resistor on the rear of the board between the socket of A5 (74LS20) pin 6, and A5 pin 14 (+5V).
Take your time and bend the resistor leads such that they dont short to any of the other pins or vias, then solder it in place.
The value of the resistor is not critical - the mod would work if you soldered a wire in place of the resistor, however things can go pear-shaped if the lifted pin 6 somehow makes contact with the socket - to be on the safe side a resistor is recommended. If you dont want to solder anything to the PCB however, then you can use a piece of solid core wirewrap/kynar 30 AWG wire and bridge pins 6 and 14 at the socket. Strip back each end of the wire, then press it into the empty socket - one end at pin 14, and the other at pin 6. Then press the IC back into the socket over the top of the wire (you'll still need to bend out pin 6 and be certain that it wont touch the socket).
That's it! Job done. The 16KB RAM on the language card is now useable, with ROM X handling all the ROMs you could ever need.