Live data from Hacker News

I decided to build a nine-bit computer

madned.substack.com

61–70 of 71 posts

Re: I decided to build a nine-bit computer

#61
post #22

Long ago I interned for the group supporting the C-30 ARPANET IMP. At one point the IMP was a 16-bit machine, emulating the old Honeywell (?) minicomputer that the original IMP code was written for. At some point they needed more memory, so they lashed on another 4-bit bit slice, and it became a 20-bit machine. There was an alternate microcode load for it, which implemented an instruction set similar to that of a PDP…

IIRC MSP430 microcontrollers do something like that, too. They have low-power 16-bit CPUs, but you can't do a lot with 64k memory space so newer models have instructions with 20-bit addressing.

They're fun to work with; some versions have FRAM instead of Flash memory.

Re: I decided to build a nine-bit computer

#62
post #43

Wrote an emulator of a simple 12-bit CPU once, and ran a few examples (coded in binary, of course) on it. It's a fun exercise - highly recommended!

Unfortunately, I don't have it anymore, but I was shown a souvenir IBM manual once for a machine with six bit bytes. Probably a 704.

Re: I decided to build a nine-bit computer

#63

Nintendo 64 had a 9-bit RAM (Rambus RDRAM). Only 8 bits of each byte were accessible from the MIPS CPU for obvious reasons; the 9th bit was only used by the GPU (called "RDP") to store extra information while rendering (begin a UMA architecture, the CPU used the same RDRAM used by the CPU). Typically it contained a flag called "coverage" that was used to discriminate pixels on the edge of polygons, that were later su…

Earlier today I was idly wondering: if aliens invented computers and went through the whole 8-bit era, 16-bit era etc. - would they perhaps have developed architectures which had additional "shadow" or "tag" bits on every word? What might they use them for?

The idea being maybe an intelligent race with different balance of motivations might not do only the minimum economical thing, instead being willing to trade X% of memory bits or X% of instructions per second or X% more chips for other purposes. For example extra tag bits might be used to encode where the data came from or its datatype, or additional clock cycles between instructions might be used to run a reliability check on the program as it executes, etc.

Re: I decided to build a nine-bit computer

#64
post #22

Long ago I interned for the group supporting the C-30 ARPANET IMP. At one point the IMP was a 16-bit machine, emulating the old Honeywell (?) minicomputer that the original IMP code was written for. At some point they needed more memory, so they lashed on another 4-bit bit slice, and it became a 20-bit machine. There was an alternate microcode load for it, which implemented an instruction set similar to that of a PDP…

IIRC MSP430 microcontrollers do something like that, too. They have low-power 16-bit CPUs, but you can't do a lot with 64k memory space so newer models have instructions with 20-bit addressing. They're fun to work with; some versions have FRAM instead of Flash memory.

FRAM is pretty neat. I considered using an MSP430FR5969-SP for a component on a satellite but backed off when I learned more about the destructive read process. We were concerned about a transient bitflip during the write back and had no where safe to store program code other than the FRAM itself. Instead, we went with a RISC-V core in an FPGA and used an 8 channel ADC to cover the telemetry reporting the MSP430 was supposed to handle. I spent a lot of time writing fast, safe code for it so was a little disappointed it never made it into the final design.

Re: I decided to build a nine-bit computer

#65
post #22

Long ago I interned for the group supporting the C-30 ARPANET IMP. At one point the IMP was a 16-bit machine, emulating the old Honeywell (?) minicomputer that the original IMP code was written for. At some point they needed more memory, so they lashed on another 4-bit bit slice, and it became a 20-bit machine. There was an alternate microcode load for it, which implemented an instruction set similar to that of a PDP…

The CPU was called MBB (Microprogrammable Building Block).

Here's the C/30 Programmer's Reference for the "Native Mode Firmware System". That was the software that ran in the native 20-bit mode rather than emulating the 16-bit Honeywell mini.

https://walden-family.com/impcode/c30-nmfs-programmers-refer...

Re: I decided to build a nine-bit computer

#66
post #46

Related question - is there an FGPA simulator / designer which works on OS X?

This one is written in Java: https://github.com/hneemann/Digital You can export your project as a Verilog file that can be used in the various FPGA tools.

Brilliant, thank you.

Re: I decided to build a nine-bit computer

#67
When I was bored, I thought about a minimal six-bit computer with a three-byte address bus (18 bit).

I went ahead and tried to design a machine language for that computer. There are three registers: the three-byte accumulator, the two-byte stack pointer and a 6 bit wide flag register and these addressing modes: accumulator, immediate, absolute, relative and stack.

It's possible that I will try to implement this system with the help of a FGPA.

Just out of curiosity. As a hobby.

Re: I decided to build a nine-bit computer

#70

> The answer to why you would still want to build an FPGA system is (and always has been) speed. > So I quickly gave up on creating something that could only exist on my FPGA board I've been doing some FGPA stuff and I think that's the wrong way to look at it. Yes FPGAs are often useful when you need raw speed but that's not the only advantage over CPUs. You also get extremely low latency and direct control of IO pin…

I agree with you. I had a brief stint in hardware design, and an FPGA is almost always going to be worse than dedicated hardware for a task, but it's extraordinarily flexible. Most workflows I saw - you design the hardware on the FPGA (hugely useful for quickly testing and prototyping) then you outsource and actually build a custom chip if you really want speed. It's also a great polyfill tool - since it can take the…

Hey horsawlarway,

This is definitely the wrong way to ask but in another thread about the PineNote, you mentioned you have a flow to sync your RM2 to Bookstack -- are your scripts on github or any other place? If not, would you consider making them public or posting on Reddit /r/selfhosted/ and/or /r/RemarkableTablet/ ?

I'm new to HN (as a poster, long-time lurker) and I didn't find a way to directly send you a message.

Post reply on HN