|
|
Joined: Aug 2015
Posts: 406
Senior Member
|
OP
Senior Member
Joined: Aug 2015
Posts: 406 |
Has anyone given this subject some thoughts? I've just read the report by two guys that made a core memory shield for Arduino: http://www.corememoryshield.com/index.htmlI wonder if the software on the PDP8:s etc had so close knowledge about how the core memory worked and that the process of reading of writing was done partly by software? Or was it fully abstracted by hardware and just mapped into memory so there is no need to emulate this level at all?
Because I can
|
|
|
|
Joined: May 2009
Posts: 2,208 Likes: 354
Very Senior Member
|
Very Senior Member
Joined: May 2009
Posts: 2,208 Likes: 354 |
It was fully abstracted by hardware, so no need to emulate at that level.
As for the PDP-8, the current CPU core is just a shell with nothing implemented. I've back-burnered it for the time being as there are some interesting issues associated with emulating it that I've yet to work through - namely, the modular nature of the IOB instruction.
The different peripherals for the PDP-8 actually added their own opcodes that handled certain bit configurations of the overall IOB instruction. Given the fact that ideally, these peripherals would be implemented as slot devices, it raises the question of how I would go about implementing support for them in the disassembler.
|
|
|
|
Joined: Aug 2015
Posts: 406
Senior Member
|
OP
Senior Member
Joined: Aug 2015
Posts: 406 |
Hehe, I just love those oldies and how they innovated things. I believe that the 8087 FPU is doing something similar, interpreting unknown opcodes outside the CPU. There are also a bunch of descrete CPU:s that would be interesting to think about, like the Ericsson AXE switchboard CPU for instance, for which the disassembler might be a challange because new opcodes were probably added between revisions of the board (thats is just my guess): http://ericssonhistory.com/Global/E...20V.61/Ericsson_Review_Vol_61_1984_4.pdf
Because I can
|
|
|
|
Joined: Mar 2001
Posts: 17,179 Likes: 211
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,179 Likes: 211 |
JD: I'd suggest IOB execution and disassembly callbacks from the CPU core that the driver would hook directly up to the bus, and the bus would pass it through the relevant device(s) depending on what's plugged in. (Do bits in the instruction address specific device(s), or is the opcode just passed on the bus in the hopes that something claims it?)
|
|
|
|
Joined: Feb 2008
Posts: 326
Senior Member
|
Senior Member
Joined: Feb 2008
Posts: 326 |
Existing driver for PDP1 is actually have same type of handling IOB, so maybe a good approach would be updating PDP1 first to use that mechanism.
|
|
|
|
Joined: Sep 2004
Posts: 392 Likes: 4
Senior Member
|
Senior Member
Joined: Sep 2004
Posts: 392 Likes: 4 |
JD: I'd suggest IOB execution and disassembly callbacks from the CPU core that the driver would hook directly up to the bus, and the bus would pass it through the relevant device(s) depending on what's plugged in. (Do bits in the instruction address specific device(s), or is the opcode just passed on the bus in the hopes that something claims it?) I'd recommend even going a step further and create a device interface class a la the Z80 daisy chain. The interface class can have methods for the disassembler and execution, and all IOB devices can derive from it.
|
|
|
0 members (),
455
guests, and
0
robots. |
Key:
Admin,
Global Mod,
Mod
|
|
Forums9
Topics9,308
Posts121,678
Members5,069
|
Most Online1,283 Dec 21st, 2022
|
|
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!
|
|
|
|
|