Roland,
did you put a Control-E as the first character of the CALL "EXEC" command?
Thats what I see in the article on the 4052A assembler.
Monty
![]() |
![]() |
Roland,
did you put a Control-E as the first character of the CALL "EXEC" command?
Thats what I see in the article on the 4052A assembler.
Monty
I added Tektronix keys to the emulator layout - to address the difference in location of punctuation characters and moved PAGE and BREAK to that key row
I made a new pull request, Jon.
Monty
Monty,
I like the key graphics!
Here is where I have got to on the 4052 emulator. I have added the extension instruction mnemonics to the table (along with the estimated number of bytes for the new instructions). The mnemonics start with a '?' for the extension instructions. I have assumed 2 bytes for an IMMEDIATE addressing mode for the extension instructions - but this may be 3 (or more) bytes...
I haven't included the I/O yet.
On startup it is generally silent (except where it tries to peek/poke I/O ports). It also alerts you when the memory test gets as far as the CONSTANT ROM at 0xE000 (and tries to write to it).
As soon as it hits a 4052 extension instruction - it reports the instruction and starts a trace of instruction execution and register contents from there onwards.
The trace seems to indicate to me that the logic is stuck in a loop trying to perform some sort of test using the extension instructions - and it keeps getting the wrong answer (as they are not implemented yet)...
I think next we need a proper description of the extension instructions. The 4051 FPMATHS does give us a clue for some of the instructions - but not all of them...
I may have a think about disassembling the microcode whilst I am away on my business trip. Watch this space.
Anyhow, here are the files if you are interested.
Regards - and keep up the excellent work.
Dave
Dave,
Maybe it would be interesting to 'plug' Jos's 4052 Diagnostic ROM into the 4052 emulator and let it run the emulator looking for problems. You would need to add the port that is written to for the diagnostic LEDs - and I guess the input port where the diagnostic rom reads the DIP switches to select a test.
That diagnostic rom has to be simpler to disassemble than all the other roms in the emulator.
Monty
Thanks for attaching the files, I'll look through them. I was thinking we could keep the mc6800.js the same for both emulators and only the 4052 firmware would make use of the extended capabilities.
I'd like to merge your mc6800.js updates with the copy in Github and upload the 4052 HTML and js code so you can create pull requests for easier merging to the master copy. I'm hoping the code for the display, keyboard, GPIB, and ROM are similarly structured in the js that I can reuse the restructured code I did for the 4051.
"One man's garbage is another man's treasure."
Good thinking about the diagnostic ROM/RAM (although disassembly is not a problem - as the emulator performs this on the fly). It would, however, be good to get the 4052 emulator running with something as a 'proof of concept'.
The mc6800.js should be fine for both the 4051 and 4052. Maybe a few 'if' statements required to customise the code? I think there is a litttle way to go yet before we start to integrate the two together. I think I have found where the vectors are located (in CONSTANT ROM) and have already disassembled the reset and (what I think is) the NMI vector.
The HTML file should be pretty consistent too.
I would feel somewhat happier about identifying what these darn instructions do (even a simple explanation of them).
Dave
I wouldn't rule out yet another bad RAM, which is why I've ordered the diagnostix module rebuild from Jos. I've had those weird SYSTEM ERRORs come up a few times when the tape goes wrong. The fact is however, it shouldn't have even tried to READ from tape in the first place, so that's doubly bizarre.
As for CALL EXEC with CTRL-E... never saw that before. I'll have to try next time I'm home with the 4052 at hand. That won't be for another few, uh, months...
FWIW, I have the v5.1 firmware, which I think was the last one released for the original 4052. Dumps can be found on Jos' FTP site, and I think I have them on my Goggle Drive too.
Btw, where can I upload some tape images? Somebody mentioned putting these into git?
--Roland
"END OF LINE" [MCP, 1982]
"An admin that isn't a bit hackerish is just the guy mopping up the keyboard" [Phrack V0b I3f P12]
"Any appearance of danger is simply a device to enhance your experience" [Futureworld, 1976]
I don't know if https://github.com/jonbstanley/Tek405xEmulator is a good place for these images, but you could make a fork from this master branch, create a new folder and add the tape images, then generate a pull request for me to bring it back into the master.
Have you checked the latest mc6800.js in Github? I reorganized how the code is structured and especially the function calls between mc6800.js and TEKTRONIX4051.js so it is easier to follow the dependencies. I also already did add in the Tek extended instructions in the Github copy of mc6800.js. Might save us both the trouble of merging in the future if we merge early when there are fewer changes.
"One man's garbage is another man's treasure."
Bookmarks