retroforth/interfaces/native
crc 36629d02b2 retro/native: add -word forms for port i/o
FossilOrigin-Name: aafd5cf43fdf65f42a89961b52f1873b4e4809e43cbc698a392b3f5ba38f9ad3
2019-02-20 19:19:31 +00:00
..
bin move experimental/ to interface/native 2018-01-31 18:26:06 +00:00
x86 retro/native: add -word forms for port i/o 2019-02-20 19:19:31 +00:00
386.ld move experimental/ to interface/native 2018-01-31 18:26:06 +00:00
386.s retro/native: drop the old assembly display driver 2019-02-20 18:16:37 +00:00
386flat.ld native: linker script for flat binary, load custom gdt 2018-01-31 18:42:42 +00:00
fbsd.s move experimental/ to interface/native 2018-01-31 18:26:06 +00:00
fbsd64.s move experimental/ to interface/native 2018-01-31 18:26:06 +00:00
image.c retro/native: add -word forms for port i/o 2019-02-20 19:19:31 +00:00
linux.s move experimental/ to interface/native 2018-01-31 18:26:06 +00:00
macos.s interfaces/native (non-libc) now supports macos/x86-64 [needs newer nasm than the one Apple ships] 2018-02-10 21:19:51 +00:00
Makefile retro/native: include the block editor (no storage support yet, but it does run) 2019-02-20 15:29:10 +00:00
obsd64.s native: now builds native386 under openbsd, start work on openbsd/amd64 support 2019-01-14 03:26:25 +00:00
README.md bump copyright year in native sources 2019-01-04 03:29:59 +00:00
retro.c retro/native: add -word forms for port i/o 2019-02-20 19:19:31 +00:00

RETRO/NATIVE

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)
    • Native (32-bit, x86, multiboot)