Skip to content
a barebones bootable platform to run the frotz z-code interpreter inside a VM
C C++ Other
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
dev fixed kb input bugs with ctrl characters
frotz fixed kb input bugs with ctrl characters
sys rearrange typedefs, create sys/types.h
tools
.gitignore minor bootloader cleanup
DiskFile.h new utility to convert .iso into a .isozip (combo .iso and .zip). won't
LICENSE building combination bootable ISO/hdd image; separated kernel/app, got a
Makefile remove iso2zip binary on clean
README.md
appmain.c building combination bootable ISO/hdd image; separated kernel/app, got a
assert.h recreate assert.h
bootcommon.asm minor bootloader cleanup
bootloader.asm cdrom booting runs the kernel; factored out common bootloader code;
frotzos.h code rearranging, including fzos port into frotz project
frotzos.md building combination bootable ISO/hdd image; separated kernel/app, got a
fzos.sort don't insert sectors in iso for zip file; order files in zip file so …
hdd.c some progress on ata reading
int_stage0.asm building combination bootable ISO/hdd image; separated kernel/app, got a
interrupts.c some progress on ata reading
iso9660.c don't insert sectors in iso for zip file; order files in zip file so …
iso9660.h iso2zip inserts sectors for local file header if needed.
isoboot.asm cdrom booting runs the kernel; factored out common bootloader code;
kernel.c some progress on ata reading
kernel.h add map_phys; cleanup iso2zip; make .izo file; update README
kernel.ld building combination bootable ISO/hdd image; separated kernel/app, got a
kmain.c building combination bootable ISO/hdd image; separated kernel/app, got a
kprintf.c moved device drivers into dev/ subdirectory
ksyscalls.c building combination bootable ISO/hdd image; separated kernel/app, got a
kvirtmem.c add map_phys; cleanup iso2zip; make .izo file; update README
linker.ld building combination bootable ISO/hdd image; separated kernel/app, got a
malloc.c timeout on os_read_key; use dlmalloc; organize/cleanup kb/hw code
sbrk.c building combination bootable ISO/hdd image; separated kernel/app, got a
signal.h improve build process so frotz library requires only one change to th…
stdarg.h kprintf over serial output, cleaned up DEBUG
stdint.h building combination bootable ISO/hdd image; separated kernel/app, got a
stdio.c new utility to convert .iso into a .isozip (combo .iso and .zip). won't
stdio.h building combination bootable ISO/hdd image; separated kernel/app, got a
stdlib.c building combination bootable ISO/hdd image; separated kernel/app, got a
stdlib.h recreate assert.h
strdup.c building combination bootable ISO/hdd image; separated kernel/app, got a
string.c building combination bootable ISO/hdd image; separated kernel/app, got a
string.h add memcmp
syscall_impl.c building combination bootable ISO/hdd image; separated kernel/app, got a
syscall_impl.h
syscalls.c building combination bootable ISO/hdd image; separated kernel/app, got a
syscalls.h building combination bootable ISO/hdd image; separated kernel/app, got a
x86.h atapi working to read sectors

README.md

Barebones Frotz platform

a return to the golden era of bootable games

This builds a .izo image that can be booted in a VM to run a .z5 program.

Features

  • standalone image--only an x86 hypervisor required to play
  • instantly boots directly into game
  • minimal extraneous code
  • no closed-source software except for game itself
  • original z-code file easily identifiable and extractable via .zip

To use the resulting .izo

  1. (optional) truncate --size=1MB savedisk.img
  2. qemu-system-i386 -cdrom LostPig.izo [-hda savedisk.img]

TODO/bugs:

  • lost pig color glitch on first scroll
  • os_read_line positioning bug after timeout/continuation
  • extended characters (etude.z5/7)
Something went wrong with that request. Please try again.