Processor Instruction Sets
|
09-03-2021, 11:05 PM
(This post was last modified: 09-03-2021 11:07 PM by Mike T..)
Post: #1
|
|||
|
|||
Processor Instruction Sets
I'm trying to finish a project I started a very long time ago and have recently spent sometime looking at the listings of the ROMs for the Classic, Woodstock, and Spice series and was rather surprised to discover that although they all use the ACT processor some opcodes are not the same.
HP35 Code:
HP33 Code:
Are these differences actually documented anywhere (outside of the source code to simulators like Nonpareil)? It is very confusing! Mike T. HP21, HP25, HP32E, HP33C, HP34C, HP10C, HP11C, HP12C, HP32S, HP22S |
|||
09-04-2021, 12:57 AM
(This post was last modified: 09-04-2021 12:58 AM by teenix.)
Post: #2
|
|||
|
|||
RE: Processor Instruction Sets
There are differences with ACT instructions sets between HP-01, Classic and Woodstock series.
I guess the ACT's from these different series were never meant to be interchanged and it was probably easier to implement the op-codes in this way due to internal chip design. This list may help, but cannot guarantee 110% ;-) Code:
cheers Tony |
|||
09-04-2021, 03:34 AM
Post: #3
|
|||
|
|||
RE: Processor Instruction Sets
A little information on the evolution of the CPUs on the HP handhelds.
https://www.hpmuseum.org/techcpu.htm |
|||
09-04-2021, 04:03 PM
Post: #4
|
|||
|
|||
RE: Processor Instruction Sets
Thank you!
I was starting to think I was losing it. That list should come in very handy. All I need to do now is get my head around the strange behaviour of the 'P' register... (09-04-2021 12:57 AM)teenix Wrote: There are differences with ACT instructions sets between HP-01, Classic and Woodstock series. Mike T. HP21, HP25, HP32E, HP33C, HP34C, HP10C, HP11C, HP12C, HP32S, HP22S |
|||
09-05-2021, 12:40 AM
(This post was last modified: 09-05-2021 12:42 AM by teenix.)
Post: #5
|
|||
|
|||
RE: Processor Instruction Sets
(09-04-2021 04:03 PM)Mike T. Wrote: Thank you! You might by the time you finish, which never seems to happen ;-) for HP67, HP-91, HP-97, HP29c, Spice A bug in ARC chips cause a problem when the P register wraps around This might help if you understand Pascal... Code:
cheers Tony |
|||
09-07-2021, 02:37 PM
Post: #6
|
|||
|
|||
RE: Processor Instruction Sets
(09-05-2021 12:40 AM)teenix Wrote: You might by the time you finish, which never seems to happen ;-)LOL - you don't know how true that is... If you look at some of the comments in my source code you will discover just how long I've already been working on this - though to be fair there was a bit of a gap in the middle (of about 6 years) but I in my defence I have been teaching my self C and X11 at the same time! (https://github.com/mike632t/x11-calc) Looks like the P register is even stranger than I thought. Discovering that the binary value in to op code bears no relationship (that I can work out) to the value of P was odd enough. I can only assume that the way the registers arranged on the chip means the digits are not in order. Mike T. Mike T. HP21, HP25, HP32E, HP33C, HP34C, HP10C, HP11C, HP12C, HP32S, HP22S |
|||
09-08-2021, 05:45 PM
(This post was last modified: 09-08-2021 05:46 PM by Alejandro Paz(Germany).)
Post: #7
|
|||
|
|||
RE: Processor Instruction Sets
Regarding P on the woodstocks, I recently thought that maybe it wraps from 13 to 0 and from 0 down to 13 and that causes the problem, what may have been a good idea to avoid 14 and 15 may have caused more problems. (Haven't tested this idea).
What baffles me is the apparent random choice of opcodes, arguments and encoding of the arithmetic group. I suppose they where implemented in a kind of PLA (hardwired) where it didn't make any difference to sort them or not. Maybe the circuits in the patent can shine some light, but I did not want to look into them and "taint" my efforts . Regarding the encoding of literals, maybe they where trying to obfuscate it in case the people at ti wanted to copy it ? Anyways ti approach is a bit different, if I remember correctly. (At least the TI-81..6 have no special purpose processor but uses Z80's decimal support at its fullest). |
|||
09-09-2021, 06:12 AM
Post: #8
|
|||
|
|||
RE: Processor Instruction Sets
Hi Alejandro,
How is your TTL project coming along? cheers Tony |
|||
09-09-2021, 06:09 PM
Post: #9
|
|||
|
|||
RE: Processor Instruction Sets
Thanks for asking:
After several iterations of ideas, simulations, long walks and sleepness nights, I think I have come up with a workable "design": Original instruction set (I wanted to re-write it at some point), a micro-sequenced ALU, using EPROMs (saves like 50 chips) and a discrete (with registers and adders) ALU. And a 2 phase clock, I dropped the single clock (too much fpga ghosts in my head) it simplifies some parts of the sequencing of the ALU. I'm testing the microsequenced ALU now, building the real thing, I mean. I did the clock using a '74 and a couple of ANDs to discover that it glitches , I'll use 4 D FFs, it will not glitch . (The daily job kind of gets in the way of doing productive work, if you know what I mean ) Best regards, Ale |
|||
09-09-2021, 06:54 PM
(This post was last modified: 09-09-2021 11:32 PM by Mike T..)
Post: #10
|
|||
|
|||
RE: Processor Instruction Sets
That is the trouble with this hobby (obsession).
I've not even half finished my first simulation attempt and I'm already thinking how I can use the CPU code in a Pi (or even a Pico) with a different display interface to drive real LEDs. Must resist the .... Mike T. HP21, HP25, HP32E, HP33C, HP34C, HP10C, HP11C, HP12C, HP32S, HP22S |
|||
09-09-2021, 11:29 PM
Post: #11
|
|||
|
|||
RE: Processor Instruction Sets | |||
09-09-2021, 11:30 PM
Post: #12
|
|||
|
|||
RE: Processor Instruction Sets | |||
09-26-2021, 10:53 PM
Post: #13
|
|||
|
|||
RE: Processor Instruction Sets
(09-04-2021 12:57 AM)teenix Wrote: There are differences with ACT instructions sets between HP-01, Classic and Woodstock series.Just wondering as the same op code can't be used for both instructions on the Woodstock processor which one is correct.. ? (I think it is the former..) Mike T. Mike T. HP21, HP25, HP32E, HP33C, HP34C, HP10C, HP11C, HP12C, HP32S, HP22S |
|||
09-26-2021, 11:37 PM
Post: #14
|
|||
|
|||
RE: Processor Instruction Sets
An error I think
[ data -> C ] may not be implemented in Woodstock, I cannot see this instruction in any of the code lists. They use instructions like [ data register 0 -> C ] cheers Tony |
|||
10-03-2021, 07:26 PM
Post: #15
|
|||
|
|||
RE: Processor Instruction Sets
Only the Woodstock/Topcat series, 19C, and 67 use the ACT processor. Despite the physical packaging, the 67 is NOT a Classic series machine, at least from an electrical and architecture view.
The Spice (30) series don't use an ACT, but they are architecturally compatible with it other than bank switching and self-test. The Classic series, 46, 81, 1722A, and 9805 use the ARC and C&T chips, with a different architecture (instruction set and encoding). The HP-01 uses it's own architecture, 48 bits wide rather than 56, and it's somewhere between the Classic and Woodstock architectures. The 41 and Voyagers use Nut, also with a different architecture. Even though the Classic, Woodstock, and Nut architectures aren't identical, they are all quite similar The big divergences from the original 56-bit architecture are Capricorn, as used in the 75 and Series 80, and Saturn, used in the 71B, Pioneers, 18C/19B/19BII, 28C/28S, 38, 39, 48, and 49, and then 6502-based and ARM-based calculators. And of course the "big" desktops (9100, 9810/20/30, 9815/25/35/45, etc) use entirely different architectures from the handheld and handheld-derived machines. |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 2 Guest(s)