Personal Computer News
16th February 1985
Published in Personal Computer News #099
Releasing The RAM Held Inside Oric
Q. I have been using machine code on my Oric and have come up against some problems. I need the ROM calls for VAL, STR$, CSAVE, PLOT and SCRN. Also, is there an unpublished STZ op-code and if so what are its op-codes for the various addressing modes?
Is there any way I can release the extra 16K RAM that is overlaid by the Oric's ROM and can I use the 6522's A port for input/output? This would solve sound interference problems when using port B. Finally, is there an error vector in the zero page?
R. Brooksby
Chandlers Ford, Hampshire
A. Whew, a tall order, but here it goes. We can't help on the ROM calls; Oric was never very forthcoming on that subject, though you may be able to get some advice from Tansoft.
On the Atmos, addresses &H1B and &H1C (27 and 28) are used for the error vector, but the ROMs of the two machines aren't identical.
Yes, there is a "store zero" instruction, but we don't know much about it because, as you point out, it's unpublished. Your best bet would be to get hold of a 6502 data sheet and experiment.
However, don't forget that, because it's not well-known, few assemblers will support it, so you'll have to hand-assemble sections of code that use it.
The only way to free up that 16K is via the system bus, so you'll need some hadware to set the address lines to page out the ROM. On the Atmos, pin 2 of the expansion socket is called ROMDIS, which may help. The Atmos manual contains diagrams of all the Atmos I/O connections.
As far as we can make out, port A is used to map the controlling registers in the VIA onto memory (page 3), so it doesn't look as if you can use port A in the way you want.