Post Reply 
WIP: 16C firmware hack for more memory
01-24-2023, 08:00 AM
Post: #11
RE: WIP: 16C firmware hack for more memory
OK, I got the 999 program step limit implemented.

f CLEAR REG wasn't clearing all the data registers. because I'd overlooked the constant it uses of (register RAM address base - 1), so I've fixed that.

I've just discovered that the code that takes a register number (possibly from I) and computes the hardware address and shift position sometimes skips over one nibble, That never happens within the first 203 bytres of registers. With 4 bit registers, and 237 hardware registers for user data & program, and a program taking up two hardware regisres, there are 235 hardware registers available for use as data registers. When the word size is 1 to 4 bits, that should be 3290 4-bit registers (0 through 3289). f MEM shows "290", which is correct aside from being left-truncated to three digits. However, I actually only get 3286 registers (0 through 3285). Four are missing, and they are due to skipped nibbles in RAM at hardware addresses 0x40, 0x71, 0xa2, and 0xd3.

With word size 8, there are also four skipped nibbles, in the same hardware addresses but not the same digit positions, resulting in two 8-bit registers missing.

With word size 12, there's only one missing register, and the skipped nibbles are in the same hardware addresses,

With word size 56, there's only one missing register, and the skipped nibbles are in 0x41, 0x72, 0xa3, and 0xd4, one word higher.

So the skipped nibbles have a definite pattern that should help me identify why the microcode is doing that.

I'm somewhat surprised that the computation works as well as it does, and that it actually supports over 3000 registers. In FLOAT mode, f MEM shows 235 registers, but the indirect addressing in FLOAT can't handle more than 0 through 99.

I need to hack f MEM to be able to show 4 digits of register count. There's enough room in the display if I shift the "r-" one space left.

Question: should I hack the f MEM code to show r-099 in FLOAT mode, or let it show more than 100 even though you can't access those past 99? Limirig it to 99 is probably not too difficult. Certainly not as difficult as hacking the indirect code to allow more than 99 in FLOAT mode. Though maybe I should do that.
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: WIP: 16C firmware hack for more memory - brouhaha - 01-24-2023 08:00 AM
More labels? - brouhaha - 01-30-2023, 06:40 AM
statistical registers - brouhaha - 04-22-2023, 06:00 AM



User(s) browsing this thread: 1 Guest(s)