Hacker News new | ask | show | jobs
by smoyer 4764 days ago
Interesting project ... but what about hardware?

It would be pretty trivial to create a uP out of high-speed logic that would execute each instruction in a single clock cycle. Add a PIC uC to actually load the program memory and you could have a nice little console machine.

As a side note, I've spent most of my career building uC systems that communicate via RS-232 or RS-485 (if they communicated with the outside world at all), so imagine my surprise to find I couldn't buy a laptop with a serial port. It's like the end of an era (yes ... I know about USB-to-serial adapters).

2 comments

Is there a place where embedded systems job listings tend to be posted?
The industry rag is "Embedded" ( http://www.embedded.com/ ) which replaced the print version published as "Embedded Systems Programming". There used to be three to four pages of "Help Wanted" ads near the back of each issue and that was the best place to find embedded systems jobs. The reality is that most job boards have these listings now (and they're usually cross-listed) but you often have to search for embedded related topics to find them. Try PIC, Microchip, ARM, uC, uP, etc.
I have distant dreams of building a shell out of this and putting it on a Raspberry Pi...

Beyond that, it's far too young for me to decide.

Out of curiosity, am I correct (from your follow-up post) that your cell size is 16-bits (integer range of [0..65535]) and that your tape size is only 256?

I suppose it works but convention seems to be 30,000+ bytes and 8-bit cells. Of course, getting pedantic about brainfuck conventions is a bit beside the point (like Orthodox Discordianism). I just want to know if I'm correct and, if so, I'm curious about what is gained through such nonconventional decisions.

I want the core Brainfuck to be as simple and clear-cut as possible. I can implement negative numbers when I get to the assembly stage, and I limited tape size because I'm implementing multiple tapes in the future. I'd rather have many smaller tapes instead of fewer large ones.
That makes a lot of sense. However, I'd still consider your work a success if it broke the 30,000 barrier in cell count. The brainfuck spec says at least 30k cells. It's not an upper limit.

I get why you excluded negative numbers. I was wondering if I was correct in understanding the cell size to be 2 bytes because it's typical for it to be 1 byte.

Am I correct that - on a cell at 0 (or + on a cell at MaxVal) is a no-op, just like < and > at the end of the tape?

You are correct.

Also, we will actually be breaking 30,000 cells. Just not with a single tape :).