4 ms·
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 sin
by smoyer 13y 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).
- malonedotcc 13y agoI 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.
- michaelochurch 13y agoOut 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.
- malonedotcc 13y agoI 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.
- michaelochurch 13y agoThat 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?
- malonedotcc 13y agoYou are correct. Also, we will actually be breaking 30,000 cells. Just not with a single tape :).
- nitrogen 13y agoIs there a place where embedded systems job listings tend to be posted?
- smoyer 13y agoThe industry rag is "Embedded" ( http://www.embedded.com/ 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.