WonderWitch/FreyaOS

From WSdev Wiki
Jump to navigationJump to search

FreyaOS is an operating system and library set for WonderWitch, present in the second-to-last 64 KB of any WonderWitch cartridge.

It provides the following library functionality:

  • process management,
  • file system access,
  • IL library management.

It additionally provides an user interface, which allows launching programs and performing file management/transfer operations.

File format

FreyaOS updates are officially in obfuscated .bin files. These contain the code and data of the OS.

When flashed to cartridge, a footer is added at the final 16 bytes of the 64 KiB block (0x6FFF0) with the following contents:

OS footer contents
Offset Length Contents
0 5 jmp far $E000:$0000 ($EA $00 $00 $00 $E0)
5 1 $00
6 2 Size of OS data, in units of 128 bytes

Revisions

  • FreyaOS 1.0.0 (July 18th, 2000 [1]; launch version)
  • FreyaOS 1.0.2 (September 2nd, 2000 [2])
  • FreyaOS 1.0.3 (November 1st, 2000 [3])
  • FreyaOS 1.1.0 (December 24th, 2000 [1])
  • FreyaOS 1.1.1 (February 7th, 2001 [1])
  • FreyaOS 1.1.2 (June 20th, 2001 [4])
    • Improved file system stability.
  • FreyaOS 1.1.3 (June 26th, 2001 [5])
    • Fixed a regression in programs which used resource files.
    • Fixed the lseek() function in the file system library.
  • FreyaOS 1.1.4 (September 27th, 2001 [6])
  • FreyaOS 1.1.5 (March 5th, 2002 [6])
  • FreyaOS 1.1.6 beta1 (April 30th, 2002 [7])
    • Fixed IRAM corruption when calling open()/stat() after initializing SoundIL.
  • FreyaOS 1.2.0 (July 13th, 2002 [8])
    • Validated for SwanCrystal consoles.
  • FreyaOS 1.2.0S
    • Special, stripped-down version of FreyaOS 1.2.0 used on pre-programmed Judgement Silversword and Dicing Knight cartridges.

Documentation

Notes