farolisto
Read-only Log in

Project board

ilo

ilo is a virtual computer implementing a dual stack processor with a simple instruction set and a few i/o devices. It's small and can be easily implemented and/or extended by an individual programmer.

Open project link ↗

Log in to add, edit, move, or delete cards.

Suggestions

2

BIOS Replacement

Look into what might be needed to do an actual BIOS replacement that has the ilo vm in x86 ROM.

BIOS Replacement

Detailed notes

No detailed notes have been added.

Write a spec for external i/o extensions via block-based RPC

working on it

Write a spec for external i/o extensions via block-based RPC

Detailed notes

No detailed notes have been added.

konilo.sh

1

Add support for more ilo implementations to be selected

working on it

Add support for more ilo implementations to be selected

Detailed notes

No detailed notes have been added.

implementations

39

aarch64 assembly

I have a working one derived from use of a C compiler, but want to replace this with a handwritten one.

testingworking on it

aarch64 assembly

Detailed notes

No detailed notes have been added.

cobol

gnu cobol

testingworking on it

cobol

Detailed notes

No detailed notes have been added.

forth

gforth

testingworking on it

forth

Detailed notes

No detailed notes have been added.

j

testingworking on it

j

Detailed notes

No detailed notes have been added.

perl

testingworking on it

perl

Detailed notes

No detailed notes have been added.

New Implementations

13

prolog

swi prolog

working on it

prolog

Detailed notes

No detailed notes have been added.

PowerPC assembly

working on it

PowerPC assembly

Detailed notes

No detailed notes have been added.

PowerPC-64 assembly

working on it

PowerPC-64 assembly

Detailed notes

No detailed notes have been added.

riscv32 assembly

working on it

riscv32 assembly

Detailed notes

No detailed notes have been added.

riscv64 assembly

working on it

riscv64 assembly

Detailed notes

No detailed notes have been added.

ruby

working on it

ruby

Detailed notes

No detailed notes have been added.

cobol

working on it

cobol

Detailed notes

No detailed notes have been added.

crystal

working on it

crystal

Detailed notes

No detailed notes have been added.

postscript

working on it

postscript

Detailed notes

No detailed notes have been added.

raku

working on it

raku

Detailed notes

No detailed notes have been added.

ocaml

working on it

ocaml

Detailed notes

No detailed notes have been added.

julia

working on it

julia

Detailed notes

No detailed notes have been added.

BASIC

For yabasic

working on it

BASIC

Detailed notes

No detailed notes have been added.

Documentation

5

VHDL

12

identify target boards

- Cmod A7 - ICEPI Zero

working on it

identify target boards

Detailed notes

No detailed notes have been added.

esp32

8

Overview

ESP32 is appealing from a cost perspective. There's a lot of cheap boards with interesting I/O options. Initial work is targeting the FabGL-VGA32 board, but I'm looking at others as well.

Overview

Detailed notes

No detailed notes have been added.

fabgl-vga32: add ps/2 keyboard support

working on it

fabgl-vga32: add ps/2 keyboard support

Detailed notes

No detailed notes have been added.

xteink-x4: evaluate feasibility

- RAM is limiting - has SD card support - Display has enough pixels - Would need keyboard support - Might be able to borrow from microslate for some of the work NOTE: This seems viable. Work on the process will begin this month, but is not a high priority target. We will need to implement swap to SD card for some of the RAM. This device has about 380K available RAM, which is a bit too tight to fit everything in RAM. Plan is to keep the system buffers and most of the lower half in actual RAM, and swap the middle pages of RAM out as needed.

working on it

xteink-x4: evaluate feasibility

Detailed notes

No detailed notes have been added.

rp2350

6

Overview

The RP2350 is a very inexpensive target. It has adequate RAM and good performance. This is currently the main target for my embedded projects.

Overview

Detailed notes

No detailed notes have been added.

support for external storage for blocks

📝

It'd be beneficial to support reading & writing blocks on an SD card, FRAM module, or other external storage.

deferred

support for external storage for blocks

Detailed notes

Currently blocked until get an SD breakout or an RP2350 board with an SD slot

teensy4.1

7

Overview

This was the original embedded target. It has plenty of RAM, good performance, and an SD card slot. It's unfortunately expensive compared to RP2350 and ESP32 targets though.

Overview

Detailed notes

No detailed notes have been added.

host device: display

It'd be useful to support an LCD display showing the terminal.

deferred

host device: display

Detailed notes

No detailed notes have been added.

host device: ps2 keyboard

Going along with a display, it'd be useful to support PS/2 keyboards for input.

deferred

host device: ps2 keyboard

Detailed notes

No detailed notes have been added.

host device: usb keyboard

Going along with a display, it'd be useful to support USB keyboards for input.

deferred

host device: usb keyboard

Detailed notes

No detailed notes have been added.

UEFI

9

aarch64: evaluate portability

working on it

aarch64: evaluate portability

Detailed notes

No detailed notes have been added.

update USB boot image with current rom, blocks

working on it

update USB boot image with current rom, blocks

Detailed notes

No detailed notes have been added.

Write tooling to automatically rebuild USB boot image

working on it

Write tooling to automatically rebuild USB boot image

Detailed notes

No detailed notes have been added.

Add support for Graphica-1

working on it

Add support for Graphica-1

Detailed notes

No detailed notes have been added.

Mouse Support

Mouse Support

Detailed notes

No detailed notes have been added.

Testing

1

Expand automated instruction set tests

Expand automated instruction set tests

Detailed notes

No detailed notes have been added.

Source Tree

3

Move experimental VM models to ilo-vm/experimental

Move experimental VM models to ilo-vm/experimental

Detailed notes

No detailed notes have been added.

ilo & graphics

2

Graphica-1

- Color palate support - Drawing primitives: - pixel - line - hline - vline - rect - circle - triangle - filled versions of each - paint region - non-blocking keyboard support Targets: - X11 - Wayland - Windows - SDL - HTML Canvas

testingworking on it

Graphica-1

Detailed notes

No detailed notes have been added.

Target Devices

3

Nintendo DS

Nintendo DS

Detailed notes

No detailed notes have been added.

Windows CE Palmtop

Windows CE Palmtop

Detailed notes

No detailed notes have been added.

HP 95/100/200LX

HP 95/100/200LX

Detailed notes

No detailed notes have been added.