Skip to content

sporeball/ABCO-1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ABCO-1

js-semistandard-style

the ABCO-1 is a hardware implementation of the OISC abcout.

each abcout instruction takes the form A, B, C and adds the value at memory address B to the value at memory address A; execution will then branch to memory address C if the result is greater than 255, or to the next instruction in sequence otherwise. it is assumed that addresses A and B both contain an unsigned 8-bit integer.

this is equivalent to the following C-like syntax:

*a += *b; if (*a > 255) { *a %= 256; ip = c; }

instructions are not memory-mapped, and instead instructions and user space are kept in separate blocks of memory.

it is important to keep in mind that abcout and its implementation in the form of the ABCO-1 are different things. i welcome implementations which don't adhere to all of the finer details that this one does.

folder structure

  • assembler/ - contains an assembler for ABCO-1 ROM files. you'll probably want to start here.

  • simulator/ - contains a software simulation of the ABCO-1.

  • prog/ - contains example programs and useful imports.

  • hardware/ - coming soon.

donate

you can support the development of this project and others via Patreon:

Support me on Patreon

About

a hardware implementation of the OISC abcout, with additional tools

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project