[abc80] Super Smartaid Cartridge

H. Peter Anvin hpa at zytor.com
Mon Apr 22 21:51:08 PDT 2019


On 4/21/19 7:39 AM, Mikkel Christensen wrote:
> Regarding the "Super Smartaid" and the "Smartaid-Magnum" being the same
> thing, i just found this: 
> http://www.devili.iki.fi/pub/Luxor/software/ABC-klubben/abc80/asmkod/
> 
> superbs.asm "Länkar in en rutin så att bakåtpil i en Super-Smartaid och 
> Smartaid-Magnum fungerar som bakåtpil i editorn TED. "
> 
> Which could point to them, at least, being compatible.

Maybe the "Smartaid-Magnum" is some kind of Smartaid III?  Never heard of it,
though.

I've been thinking about how this thing might work. One can make a pretty good
guess that the majority of the "glue logic" is probably 74LS (or 74S on really
timing critical paths) circuits, as that was pretty much what there was; 74S
bipolar PROMs could be used for address decoding or other really awkward
logic, as in ABC80 itself. I don't think PALs were available quite yet;
ABC802/806 used them, though.

In ABC80, to the best of my knowledge, the only way to take over the bootstrap
control flow from the bus (without changing the decoder PROM inside the
computer) is via the DOS ROM initialization vector at address 604Bh, so it
would make sense for Smartaid to take over the DOS ROM area during bootup.

This isn't *quite* as simple as it sounds, because there is no firm indication
on the ABC bus of an actual CPU reset; the RST# line is generated by IN (7)
which could come from other places.

My best guess (i.e. what I probably would do) would be to look at A15:A13 = 0
five cycles before RST# goes low; this is when the instruction fetch would
have happened for an IN instruction. There are only two IN instructions in the
BASIC interpreter that can access port 7: address 0068h, which is part of the
reset flow, and address 31C7/31BEh which is the BASIC INP() instruction.

This is a shift register, (e.g. 74LS164, or 5 D-flipflops which might be
useful if there is something else that one wants to latch to CLK), a 3-input
NOR gate, and a flip flop; it is quite possible that with some cleverness one
can reuse some of the address decoding logic that one would anyway need.

	-hpa


More information about the ABC80 mailing list