WonderWitch/FreyaBIOS
From WSdev Wiki
Jump to navigationJump to search
FreyaBIOS is a boot program and hardware abstraction layer for WonderWitch, present in the top-most (last) 64 KB of any WonderWitch cartridge.
It provides the following functionality:
- bring-up code,
- interrupt-based hardware abstraction layer, providing a more user-friendly (and less direct) interface to the WonderSwan hardware,
- 8x8 ASCII and kanji fonts,
- a monitor program, allowing FreyaOS recovery and updates via XMODEM.
Other functionality (like file system access) is instead included as part of FreyaOS' system libraries; some other functionality (like WonderSwan Color support) is implemented as part of the development tooling.
Revisions
- FreyaBIOS 1.0.0
Fonts
As part of its ROM image, FreyaBIOS provides two fonts.
Alphanumeric font
The alphanumeric font is used by FreyaBIOS in the ASCII and mixed text modes. It provides characters 0 through 127, which are based on codepage 437, but with the following differences:
| Character index | Unicode codepoint for CP437 | A | Unicode codepoint/Notes for FreyaBIOS | A |
|---|---|---|---|---|
| $01 | $263A | ☺ | Circle around smiley face omitted. | |
| $07 | $2022 | • | Smaller than $08 | |
| $08 | $25D8 | ◘ | $25AB | ▫ |
| $09 | $25CB | ○ | Closer to $25E6; same size as $08 | ◦ |
| $0A | $25D9 | ◙ | $25A3 | ▣ |
| $14 | $00B6 | ¶ | $2705 | ✅ |
| $15 | $00A7 | § | $2022; same size as $08 | • |
| $16 | $25AC | ▬ | Two $07-sized horizontal dots | |
| $1C | $221F | ∟ | $00A9 | © |
| $5C | $005C | \ | $005C | \ |
| $7F | $2302 | ⌂ | $2302 | ⌂ |
Shift-JIS font
Most of the image is taken up by the ELISA FONT, used by FreyaBIOS in the Shift-JIS text mode.
Interrupts
- Exit (INT $10)
- Key (INT $11)
- Display (INT $12)
- Text (INT $13)
- Communication (INT $14)
- Sound (INT $15)
- Timer (INT $16)
- System (INT $17)
- Bank (INT $18)
Freya Monitor
TODO