retroforth/experimental
crc 757a4045fc experimental: add gdt from RETRO9
FossilOrigin-Name: ada17c3df663734aa20aba70cd5f8d45e23ded36a0b5099ea4fc231c6ee23117
2018-01-30 21:44:44 +00:00
..
bin check in experimental work on retro-w/o-libc (FreeBSD/x86, FreeBSD/x86-64, Linux/x86, very early work on standalone x86 version) 2018-01-30 17:25:44 +00:00
386.ld check in experimental work on retro-w/o-libc (FreeBSD/x86, FreeBSD/x86-64, Linux/x86, very early work on standalone x86 version) 2018-01-30 17:25:44 +00:00
386.s experimental: add gdt from RETRO9 2018-01-30 21:44:44 +00:00
fbsd.s experimental: add video driver code from Sam Falvos FTS/Forth [was previously included as part of RETRO9, source/video.asm and source/util.asm] 2018-01-30 21:30:49 +00:00
fbsd64.s experimental: add video driver code from Sam Falvos FTS/Forth [was previously included as part of RETRO9, source/video.asm and source/util.asm] 2018-01-30 21:30:49 +00:00
image.c check in experimental work on retro-w/o-libc (FreeBSD/x86, FreeBSD/x86-64, Linux/x86, very early work on standalone x86 version) 2018-01-30 17:25:44 +00:00
linux.s experimental: add video driver code from Sam Falvos FTS/Forth [was previously included as part of RETRO9, source/video.asm and source/util.asm] 2018-01-30 21:30:49 +00:00
Makefile check in experimental work on retro-w/o-libc (FreeBSD/x86, FreeBSD/x86-64, Linux/x86, very early work on standalone x86 version) 2018-01-30 17:25:44 +00:00
README.md add some notes on this experiment 2018-01-30 21:43:55 +00:00
retro.c check in experimental work on retro-w/o-libc (FreeBSD/x86, FreeBSD/x86-64, Linux/x86, very early work on standalone x86 version) 2018-01-30 17:25:44 +00:00


| _ \ | | _ / _ \ / / | | | /_ | \ \ / / __| | / | | | | / () | / / | .` |/ _ | | | | \ V /| | ||_| || ||\/ // ||_// __| || _/ ||

This directory contains some experiments in building a RETRO system to run directly on hardware. As a stepping stone, it also includes some builds which require a host kernel, but no standard C library.

Initial Objectives:

  • Reuse as much of the existing VM implementation (in C) as possible.
  • Don't require a full blown kernel & userland to run
  • Work with a completely standard RETRO image
  • Minimally viable system: the basic listener (REPL)
  • Work on 32-bit x86 systems

Future Goals:

  • Support for more processors

    • x86-64
    • ARM (32-bit)
    • ARM (64-bit)
    • RISC-V
    • MIPS M4K (PIC32)

Current Status:

  • Working builds w/minimal host dependencies:

    • FreeBSD (32-bit, x86)
    • FreeBSD (64-bit, x86)
    • Linux (32-bit, x86)
  • Work on a multiboot compliant system for raw hardware is progressing