Homebrewing a digital computer

From: Kevin Schoedel <schoedel_at_kw.igs.net>
Date: Sat Nov 11 20:52:06 2000

(On Chuck McManis' design)

>>Could one build "nixie tube emulators", for instance using seven-segment
>>LEDs, and then borrow real ones from some other device for special
>>occasions?
>
>No. Nixie is one of 10 output (highvoltage very low current) and
>7Segment is different in every other way. For an era machine 7 segment
>using incandescent lamps would be valid!

Sorry, I didn't express myself clearly. In Chuck's machine the
displayed value comes from a 12 line I/O bus. He could build two
different display devices to attach to the bus: one for everyday use,
with LEDs and bcd-to-7-segment decoders, and one special occasions,
with decoders and drivers and sockets for the nixie tubes that he
borrows from whatever machine they otherwise belong to.

>>>4 - CLEAR
>>> Reset the accumulator (and flags).
>>> Example: 400 - clears the state of the machine.
>>> Note: This seems a waste of a major opcode.
>
> [....]
>
>You could have a microcoded bit that if set clears the AC. Depends
>on the number of bits you have to use.

Yes, he could make 4xx an encoded operation (like pdp8 operate
instructions) such that 400 happens to perform a clear. Or he could
make 4xx load the accumulator with 0xx, so that 400 is again a clear;
this may fit the spirit of the design better. In either case he need
not disclose the extra features at first :-)


(On mine)

>>After several partial designs than included IN and OUT operations, I
>>decided to punt I/O almost completely. [...]
>
>Limts the machine significantly.

Yes. But since I'm doing a pure 8-bit machine, including 8-bit memory
address, it's *already* limited significantly. I do currently have one
unassigned opcode, so I could add an I/O instruction if it turns out I
have enough board space. More likely I'll just move on to design #2,
where I can hide complexity in microcode.

>>I have provisionally punted the CALL, too, as a separate operation;
>> [...]
>
>Look at how PDP-5/8 and other did it. [...]
> PC-> SUB1, SUB1->PC, PC+1->, fetch PC

Yes, I'm still considering something like that, though I'd probably
keep it simpler, and just leave the PC in the accumulator: PC->AC,
MA->PC. I know this probably seems absurdly stripped down to anyone who
already knows what they're doing, but I don't, so I want to keep the
control very, very basic, to reduce the chance of serious errors.

>Suggestion:
>Eliminate the ISZ from the PDP8 ops and make IOT and ISZ in to
>INPUT(to ac) and OUTPUT(from AC).

I'm fairly sure I'll leave out I/O from this first design, and I'd
prefer to have 4/8 or at worst 6/8 memory operations to keep decoding
simple.

>Keep indirect addressing and drop page 0 addressing.

I think you're right. I know my current addressing scheme is too
complicated, and I no longer know why I've been so reluctant to give up
page 0 addressing. Do you have any comment on PC-page (upper bits from
PC, lower bits from instruction) versus PC-relative (PC + lower bits
from instruction, either sign extended or not)?

-- 
Kevin Schoedel
schoedel_at_kw.igs.net
Received on Sat Nov 11 2000 - 20:52:06 GMT

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:33:12 BST