toast is a 16-bit architecture spec, an emulator, a subscalar FPGA implementation, and an assembler.
Read documents on the architecture, and the application binary interface.
- Fix assembler to include calling convention and register renamings
- Fix the emulator, create an emulated screen
- Finish VGA text mode (Maybe a smaller VGA text mode font for more lines)
- VGA buffer currently takes up too much of the IO mapped space, maybe consider changing to 0x0000: Address, 0x0001: Value type of memory addressing.
- Implement elementary OS / Basic interpreter
- Extend functionality of assembler
- Add
callmacro
- Add
- Implement a compiler backend for C->
toastcompilation - Add floating point module, maybe a 32-bit variant?
- IRQ and handlers (keyboard driver testing TBD...)
- Implement a
rtiinstruction that allows for more interrupts to occur. Currently, interrupts will nest themselves and cause a ton of issues.-
rtiwill also need to restore the status register -
rtiwill also stop other interrupts from occuring
-
- Implement better multi-interrupt support.
-
Add Register Banking (Maybe...) - Implement
multanddivin hardware - Re-implement stack to grow downwards and add addressing with offset
load r5 r6 0xAto load@r6 + 10