4BoD: Difference between revisions
Jump to navigation
Jump to search
(Created page with "'''4BoD''' (4 Bits of DOOM) is a hyper-minimalist fantasy console inspired by Milton Bradley Microvision. It was created as an entry for [https://itch.io/jam/fc-dev-jam FC Dev jam].") |
(+cat) |
||
(9 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
'''4BoD''' (4 Bits of DOOM) is a hyper-minimalist fantasy console inspired by Milton Bradley Microvision. It was created as an entry for [https://itch.io/jam/fc-dev-jam FC Dev jam]. | [[File:4BoD_Logo.PNG|thumb|Logo]] | ||
'''4BoD''' (4 Bits of DOOM) is a hyper-minimalist fantasy console inspired by Milton Bradley Microvision. It was created as an entry for [https://itch.io/jam/fc-dev-jam FC Dev jam] by [https://itch.io/profile/puarsliburf puarsliburf games] in 2017. Now there are lots of reimplementations, programming languages, and games. | |||
==Capabilities== | |||
'''Program memory''': 3072b (256 12-bit instructions).<br> | |||
'''RAM''': 16 nibbles (64b).<br> | |||
'''Screen''': 16x16 (1:1) 1-bit.<br> | |||
'''Instruction set''': 16 instructions.<br> | |||
'''Sounds''': no. | |||
==Instruction Set== | |||
Instructions set (from documentation file by puarsliburf): | |||
OP |A |B |Description | |||
0000 - NOP | |||
0001 AAAA - Sets the accumulator to the value stored at memory position AAAA | |||
0010 AAAA - Sets memory position AAAA to the value stored in the accumulator | |||
0011 AAAA - Sets the accumulator to AAAA | |||
0100 - Sets the accumulator to the buttons that have been pressed | |||
- Ones place = left button | |||
- Twos place = right button | |||
- Fours place = up button | |||
- Eights place = down button | |||
0101 - Increments the accumulator (Do this 15 times to make a subtraction by overflow) | |||
0110 - Clears the screen | |||
0111 - Shifts the accumulator left | |||
1000 - Shifts the accumulator right | |||
1001 AAAA BBBB - Sets the accumulator to pixel position memory AAAA, memory BBBB | |||
1010 AAAA BBBB - Flips pixel position memory AAAA, memory BBBB | |||
1011 AAAA - Sets a flag called AAAA (Flag 15 is forever 0, bug) | |||
1100 AAAA - Jumps to flag memory position AAAA | |||
1101 AAAA - Only perform next action if memory position AAAA is equal to the accumulator | |||
1110 AAAA - Only perform next action if memory position AAAA is greater than the accumulator | |||
1111 AAAA - Only perform next action if memory position AAAA is less than the accumulator | |||
==4BoD FC Family== | |||
* '''4BoD''' by Puarsliburf. | |||
** [https://github.com/oshaboy/4bod-reimplementation 4bod reimplementation] by [https://esolangs.org/wiki/User:Oshaboy Oshaboy]: 4bod reimplementation written in Python. | |||
** [https://github.com/Sam36502/4BOD-C 4BOD-C] by [https://github.com/Sam36502 Sam36502]: C-reimplementation of 4BOD Fantasy Console using raylib. | |||
** [https://github.com/Sam36502/4BOD-Go 4BOD-Go] by [https://github.com/Sam36502 Sam36502]: A Golang reimplementation of 4BOD fantasy console. | |||
** [https://github.com/ItsYurix/NibbleStudio 4BoD-SB](NibbleStudio Micro0.1) by [https://github.com/ItsYurix Yurix]: Implementation in Small Basic with pauses, restarts. | |||
*** [https://github.com/ItsYurix/NibbleStudio 4BoD-CS](NibbleStudio Micro0.2+) by [https://github.com/ItsYurix Yurix]: A C# reimplementation, works faster. | |||
* [https://github.com/Sam36502/4BID-N 4BID-N] by [https://github.com/Sam36502 Sam36502]: A 4-Bit Fantasy Console heavily inspired by the 4BoD console by Puarsliburf. | |||
** [https://github.com/Sam36502/4RCH 4RCH] by [https://github.com/Sam36502 Sam36502]: A 4-bit fantasy console/computer. | |||
* [https://itsyurix.itch.io/blip-4-fc BLIP-4] by [https://github.com/ItsYurix Yurix]: Fantasy console inspired by Microvision, NES, 4BoD, 4BID-N. | |||
[[Category:Fantasy consoles]] | |||
[[Category:4 bit consoles]] | |||
[[Category:Memory-mapped systems]] |
Latest revision as of 10:01, 29 November 2023
4BoD (4 Bits of DOOM) is a hyper-minimalist fantasy console inspired by Milton Bradley Microvision. It was created as an entry for FC Dev jam by puarsliburf games in 2017. Now there are lots of reimplementations, programming languages, and games.
Capabilities[edit]
Program memory: 3072b (256 12-bit instructions).
RAM: 16 nibbles (64b).
Screen: 16x16 (1:1) 1-bit.
Instruction set: 16 instructions.
Sounds: no.
Instruction Set[edit]
Instructions set (from documentation file by puarsliburf):
OP |A |B |Description 0000 - NOP 0001 AAAA - Sets the accumulator to the value stored at memory position AAAA 0010 AAAA - Sets memory position AAAA to the value stored in the accumulator 0011 AAAA - Sets the accumulator to AAAA 0100 - Sets the accumulator to the buttons that have been pressed - Ones place = left button - Twos place = right button - Fours place = up button - Eights place = down button 0101 - Increments the accumulator (Do this 15 times to make a subtraction by overflow) 0110 - Clears the screen 0111 - Shifts the accumulator left 1000 - Shifts the accumulator right 1001 AAAA BBBB - Sets the accumulator to pixel position memory AAAA, memory BBBB 1010 AAAA BBBB - Flips pixel position memory AAAA, memory BBBB 1011 AAAA - Sets a flag called AAAA (Flag 15 is forever 0, bug) 1100 AAAA - Jumps to flag memory position AAAA 1101 AAAA - Only perform next action if memory position AAAA is equal to the accumulator 1110 AAAA - Only perform next action if memory position AAAA is greater than the accumulator 1111 AAAA - Only perform next action if memory position AAAA is less than the accumulator
4BoD FC Family[edit]
- 4BoD by Puarsliburf.
- 4bod reimplementation by Oshaboy: 4bod reimplementation written in Python.
- 4BOD-C by Sam36502: C-reimplementation of 4BOD Fantasy Console using raylib.
- 4BOD-Go by Sam36502: A Golang reimplementation of 4BOD fantasy console.
- 4BoD-SB(NibbleStudio Micro0.1) by Yurix: Implementation in Small Basic with pauses, restarts.
- 4BID-N by Sam36502: A 4-Bit Fantasy Console heavily inspired by the 4BoD console by Puarsliburf.
- BLIP-4 by Yurix: Fantasy console inspired by Microvision, NES, 4BoD, 4BID-N.