4BOD Fantasy Console
A downloadable console for Windows
The 4 Bits Of DOOM! (cue dramatic thunder) is a hyper-minimalist fantasy console vaguely aesthetically modelled after the Milton Bradley Microvision. I wrote it over a weekend when I was 14 as a secondary entry to a development jam.
It features a whopping 384 bytes of program memory (256 12-bit instructions), 16 nibbles of RAM and a 16x16 1-bit screen. The instruction set is insanely limited, consisting of 16 instructions and notably not featuring a way to do subtraction except by overflow. Writing code for it is a challenge, and that's the point.
A word of warning though, it does try to run the entire code every frame. Putting it in an infinite loop will crash it.
Until recently it was also completely busted, with me unable to fix it due to losing the source code. I've recently recovered it, and fixed the issue.
Status | Released |
Category | Tool |
Platforms | Windows |
Rating | Rated 3.5 out of 5 stars (2 total ratings) |
Author | puarsliburf games |
Made with | GameMaker |
Tags | 1-bit, 4-bit, esoteric, fantasy-console, programming |
Download
Install instructions
Just unzip the ZIP and run the EXE. Don't put save tata in the same directory as the system itself, as this confuses the loading system
Development log
- Fixed it (again)Nov 21, 2022
- Fixed it (hopefully)Nov 20, 2022
Comments
Log in with itch.io to leave a comment.
how do I do something in this?
The Fantasy Consoles Discord server is back!
As of now, we have dedicated channels for:
(33) Fantasy Consoles
(17) Fantasy Computers
(13) Engines
and
(7) Game Creation Systems.
4BOD is of course included.
https://discord.gg/jcT9CXDgHB
Hello, I'm just wondering about something real quick. You see, me and an associate are attempting to recreate a 4BOD emulator, but there seems to be some strange behavior in this official version that doesn't make sense. Specifically, this program:
1010 0000 0000
0101
0010 0000
According to the documentation, this should create a diagonal line which flashes across the screen. However, it seems to leave behind a single pixel at the top left. Is there any specific reason for this, or is it a bug?
That is most definitely a bug. For some reason the accumulator seems to start with a value of 1. This was written in a few days before I really knew what I was doing so there are probably a lot of weird quirks like that.
Sadly the source code for this, as well as my other FC made at around the same time, were on a hard drive that's since gone kaput, so I can't really fix it.
How is development going
Yes, the mouse only registers 1/4 of the pixel size, in the top-left-hand corner of it. If you click in the middle or beyond that pixel, it plots the incorrect next one.
As for hanging on an infinite loop. I had this problem in S2 years ago. Simply check to see if a loop is iterated 1000 times or more. If so, exit out saying "Infinite Loop Detected."
Also as it is 4BOD a good name would be "Forbode." And yes it is rather forboding to code in.
You've really put the "Hell" in "Hello World!"
download version picks up the mouse wrong, as in, it picks up the location of the mouse offset in both x and y axi
app thinks the mouse is half a pixel (4pod pixel) off to the right and half down
Yeah, wasn't able to figure out what was causing this at the time and, like I've said on a previous comment, I've managed to lose the source code somehow so fixing it isn't really an option. Sorry for the inconvenience
is there any social media on wich i could ask you a few things?
Not really, no. And as you can probably tell I don't even check my messages here very often
Nice! I started to use this for learning the lowest level of code (even made a tiny but pitiful compiler, perhaps I'll add additional functionality like ADD and SUB), but it seems that occasionally the code will never loop or freeze up if I try to create an infinite loop. I know it's been about 2 years, but you still asked to mention about bugs.
Hello! The reason the program seizes up if you try to make an infinite loop is that it tries to run through the entire code on a single frame. It runs the code every frame so technically everything in 4BOD is an infinite loop and it's more difficult to make something run only once. I know this isn't exactly the best way to do this but hindsight's 20/20 and like you said, it's been 2 years.
If this doesn't help and you're sure you've found an issue with the program itself then I'm afraid I can't really help since I've managed to lose the source code for this thing. The only thing I can do to help in that case is recommend you to use the Windows build instead of the online version since it's more stable.
Hope this explains your problem.