All public logs
From WSdev Wiki
Jump to navigationJump to search
Combined display of all available logs of WSdev Wiki. You can narrow down the view by selecting a log type, the username (case-sensitive), or the affected page (also case-sensitive).
- 11:11, 23 February 2025 Asie talk contribs created page Boot ROM (Created page with "The WonderSwan boot ROM is where the console begins execution on power on. * On the "mono" model, it occupies an area from <tt>$FF000</tt> to <tt>$FFFFF</tt>, for a total of 4 KiB. * On the Color model, it occupies an area from <tt>$FE000</tt> to <tt>$FFFFF</tt>, for a total of 8 KiB. It performs the following activities: * checks if the cartridge self-test passed; * checks if the cartridge footer is valid; * if START is held when the console is turned on, enters the...")
- 11:06, 23 February 2025 Asie talk contribs created page Display/Windows (Created page with "The Screen 2 and Sprite layers can optionally have their drawing restricted within or without specific rectangular windows. In the case of Screen 2, one can use the Display Control port to configure if the window should render only the tiles inside of it. Alternatively, once can configure the window to only render tiles outside of it, in which case the window rectangle acts as a cut-out. {| class="wikitable" ! ! Window inside ! Window outside |- ! Pixel inside | align=...")
- 09:54, 23 February 2025 Asie talk contribs created page Display/Sprites (Created page with " The display system can show up to 128 sprites at once. Sprites are always drawn in front of Screen 1, but they can be drawn in front of or behind Screen 2. Sprites are stored in a sprite table in the console's internal RAM. It consists of up to 128 four-byte entries, of which any sequential slice can be displayed: <pre> (Byte 1) (Byte 0) 15 bit 8 7 bit 0 ---- ---- ---- ---- vhPi pppt tttt tttt |||| |||| |||| |||| |||| |||+--++++-++++- Tile index (0-511...")
- 09:54, 23 February 2025 Asie talk contribs created page Display/Screens (Created page with " A screen is a layout of tiles. Each cell in a screen controls one 8x8 tile. The display system can show two distinct screens simultaneously. It also supports hardware flipping of tiles, both horizontally and vertically. The size of each screen is fixed at 32x32 cells or 256x256 pixels, while each cell is stored as a two-byte word: <pre> Address 15 bit 8 7 bit 0 ---- ---- ---- ---- 0bbb byyy yyxx xxx. ||| |||| |||| ||| ||| |||| ||++-+++-- X coord...")
- 09:51, 23 February 2025 Asie talk contribs created page Display/Palette (Created page with "The display system provides sixteen different palettes that can be used to color or shade tiles. * Palettes 0-7 can be used for the two screens only; * Palettes 8-15 can be used for both screens and sprites. == Palette format == === Mono === In ''mono'' modes, palettes are stored in I/O ports 0x20 through 0x3F. Each palette contains four three-bit entries, which are pointers into a global, four-bit shade lookup table: <pre> Palette Global shade LUT...")
- 09:40, 23 February 2025 Asie talk contribs created page Display/Tile Data (Created page with "== Tile data == The tile data is stored at a fixed memory location: * <tt>$2000</tt> - <tt>$3FFF</tt> for 2 bit per pixel tiles in "mono" mode, for a total of 512 tiles. * <tt>$2000</tt> - <tt>$5FFF</tt> for 2 bit per pixel tiles in "color" mode, for a total of 1024 tiles. * <tt>$4000</tt> - <tt>$BFFF</tt> for 4 bit per pixel tiles in "color" mode, for a total of 1024 tiles. == Tile data formats == === 2 bits per pixel, planar === The tiles are stored in an interlea...")
- 09:38, 23 February 2025 Asie talk contribs created page Display/LCD Icons (Created page with "The WonderSwan features thirteen fixed LCD segments which are displayed to the right<sup>(color)</sup> or below<sup>(mono)</sup> the main display. These are: * Six under control of software ** Large circle ** Medium circle ** Small circle ** Horizontal orientation ** Vertical orientation ** (Shooting) Star (Sleep) * Four software can query ** Speaker ** Volume A (small wave<sup>(mono)</sup>, center wave<sup>(color)</sup...")
- 15:21, 22 February 2025 Asie talk contribs created page Display/IO Ports (Created page with "== Graphics I/O ports == {{Anchor|Display Control}} === Display Control ($00) === <pre> 7 bit 0 ---- ---- ..wo Ws21 || |||| || |||+- Enable Screen 1 layer || ||+-- Enable Screen 2 layer || |+--- Enable Sprite layer || +---- Enable Sprite window |+------ Screen 2 tiles are drawn (if window enabled): | 0 = inside window, | 1 = outside window. +------- Enable Screen 2 window </pre> {{Anchor|Display Background}} === Display Background Co...")
- 15:58, 5 February 2025 Asie talk contribs created page Template:Cc0-1.0 (Created page with "{{PAGENAME}} [https://creativecommons.org/publicdomain/zero/1.0/ cc0-1.0 license text]")
- 15:57, 5 February 2025 Asie talk contribs created page File:MobileWonderGate PCB bottom.jpg (Bottom of the MobileWonderGate peripheral's PCB.)
- 15:57, 5 February 2025 Asie talk contribs uploaded File:MobileWonderGate PCB bottom.jpg (Bottom of the MobileWonderGate peripheral's PCB.)
- 15:57, 5 February 2025 Asie talk contribs created page File:MobileWonderGate PCB top.jpg (Top of the MobileWonderGate peripheral's PCB.)
- 15:57, 5 February 2025 Asie talk contribs uploaded File:MobileWonderGate PCB top.jpg (Top of the MobileWonderGate peripheral's PCB.)
- 15:57, 5 February 2025 Asie talk contribs created page MediaWiki:Licenses (Created page with "* Unknown license|I don't know * cc-by-4.0|Creative Commons Attribution 4.0 * cc0-1.0|CC0 1.0")
- 18:42, 26 December 2024 Asie talk contribs created page NEC V30MZ undocumented instructions (Created page with "TODO. For now, see https://github.com/FluBBaOfWard/WSCpuTest/blob/main/README.md")
- 14:32, 26 December 2024 Asie talk contribs created page NEC V30MZ instruction set (auto-generated initial template)
- 17:46, 24 November 2024 Asie talk contribs created page WonderWitch/Flash (Created page with "The WonderWitch cartridge features a 512KiB flash chip - the MBM29DL400TC. While the WonderSwan SoC pervents writes to the ROM area, it can be written to via the SRAM area using port $CE on the Bandai 2003 mapper. TODO: Document commands. == Links == * [https://github.com/up-n-atom/WonderWitch/blob/main/Datasheets/MBM29DL400BC-12PFTN_to_MBM29DL400TC-90PFTN.pdf Datasheet]")
- 16:39, 20 October 2024 Asie talk contribs created page WonderWitch/FreyaBIOS/System (Created page with "The System interrupt provides assorted system-related functionality. == Types == === Suspend/resume structure === This structure is stored in SRAM block 3, offset <code>$7E00</code> (core 1) and <code>$BF00</code> (core 0). {| class="wikitable" |- ! Offset !! Size !! Contents |- | $0000 || 16384 || Copy of RAM area <code>$0000</code> - <code>$3FFF</code> |- | $4000 || 2 || Stack segment? |- | $4002 || 2 || Data segment? |- | $4004 || 224 || Copy of IO ports <code>$00...")
- 19:13, 19 October 2024 Asie talk contribs created page WonderWitch/Memory map (Created page with "== Memory map == {| class="wikitable" |+ WonderWitch memory map ! Address ! ASCII, 1 screen ! ASCII, 2 screens ! Shift-JIS, 1 screen ! Shift-JIS, 2 screens |- | style="text-align: center;" | 0x0000 | colspan="4" style="text-align: center;" | Interrupt vectors |- | style="text-align: center;" | 0x0100 | colspan="4" style="text-align: center;" | ? |- | style="text-align: center;" | 0x0E00 | rowspan="7" style="text-align: center;" | | rowspan="5" style="text-align: center;...")
- 12:51, 19 October 2024 Asie talk contribs created page WonderWitch/IL/IlibIL (Created page with "IlibIL is a library used to load other indirect libraries present on the system. == Functions == === open === <code>int open(const char far *name, IL far *buffer);</code> Load the specified IL <code>name</code> from <code>/rom0</code> or <code>/kern</code>. The IL header is copied to the provided <code>buffer</code> with addresses appropriately relocated to match the IL's location in ROM. === open_system === <code>int open_system(const char far *name, IL far *buffe...")
- 12:01, 19 October 2024 Asie talk contribs created page WonderWitch/IL/ResumeIL (Created page with "== ResumeIL == ResumeIL is a library which augments the process suspend/resume functionality of the built-in ProcIL library to also archive the memory areas <code>0x4000 - 0xBFFF</code> (WSC expanded/4bpp tile memory) and <code>0xFE00 - 0xFFFF</code> (WSC palette memory). This is done by copying this memory to <code>/ram0/resume.dat</code>. === Limitations === - This approach only allows suspending and resuming one process.")
- 11:19, 19 October 2024 Asie talk contribs created page WonderWitch/FreyaBIOS/Timer (Created page with "The Timer interrupt provides an abstraction layer for the WonderSwan's timers, as well as the on-cartridge RTC. == Types == === RTC fields === The RTC field indexes match the order of fields returned by the RTC chip. Note that FreyaBIOS transparently converts the values to and from BCD. {| class="wikitable" |- ! Index !! Data !! Format |- | 0 || Year || 0 - 99; 0 is assumed to be the year 2000. |- | 1 || Month || 1 - 12 |- | 2 || Date...")
- 18:02, 18 October 2024 Asie talk contribs created page WonderWitch/Process (Created page with "== Memory layout == Process memory is stored in SRAM banks 3 (process 0 - typically used by FreyaOS), 2 (process 1) and 1 (process 2). The entire bank is available to the process. === Process control block === The process control block contains information about the running process. It is stored in the first 96 bytes of data. {| class="wikitable" |+ Process control block structure |- ! Offset !! Length !! Contents |- | 0 || 4 || Compiler ID, zero-terminated string; s...")
- 15:53, 18 October 2024 Asie talk contribs created page WonderWitch/IL (Created page with "Indirect libraries (IL) are a FreyaOS feature designed to work around the 64KB segment limit of applications by offloading helper functionality to separate library binaries. == Calling convention == All functions exposed by an IL use the standard 8086 C calling convention - cdecl. * The stack is allocated and cleaned by the caller. * <code>AX</code>, <code>BX</code>, <code>CX</code>, <code>DX</code> can be modified freely by the callee. All other registers must be res...")
- 14:21, 17 October 2024 Asie talk contribs created page WonderWitch/Filesystem (Created page with "== Mount points == {| class="wikitable" |+ FreyaOS mount points |- ! Path !! File data location !! File table location !! File table size (entries) !! Description |- | <code>/rom0</code> || ROM (384 KB) || SRAM bank 3, $16F2 || 128 || |- | <code>/ram0</code> || SRAM bank 0 (64 KB) || SRAM bank 3, $06F2 || 64 || |- | <code>/</code> || || SRAM bank 3, $02F2 || 16 || |} == File table entry format == {| class="wikitable" |+ Header contents |- ! Offset !! Length !! Conten...")
- 07:57, 15 August 2024 Asie talk contribs created page NEC V30MZ interrupts (Created page with "The NEC V30MZ provides six of the eight interrupts provided by the 80186. == Interrupts == === INT 0 - Divide Error === This interrupt is emitted as the result of a DIV<sup>IDIV</sup> or DIVU<sup>DIV</sup> instruction. === INT 1 - Single Step/Break === This interrupt is emitted if the single step flag is set after executing an instruction. (The instruction which changed the single step flag is ignored.) The single step flag is cleared for the duration of the interru...")
- 09:36, 5 August 2024 Asie talk contribs created page NEC V30MZ registers (Created page with "= NEC V30MZ registers = * Four 16-bit general-purpose registers, with their (low, high) components accessible as individual 8-bit sub-registers: ** '''AX'''<sup>AW</sup> ('''AL''', '''AH''') - the ''accumulator'' register, ** '''BX'''<sup>BW</sup> ('''BL''', '''BH''') - the ''base'' register, ** '''CX'''<sup>CW</sup> ('''CL''', '''CH''') - the ''count'' register, ** '''DX'''<sup>DW</sup> ('''DL''', '''DH''') - the ''data'' register, * Four additional 16-bit registers: *...")
- 09:36, 5 August 2024 Asie talk contribs created page NEC V30MZ flags (Created page with " = NEC V30MZ flags = == Layout == The V30MZ processor features a 16-bit flag register: 15 bit 8 7 bit 0 ---- ---- ---- ---- m111 odit sz0a 0p1c | |||| || | | | | |||| || | | +- Carry (CF<sup>CY</sup>) | |||| || | +--- Parity (PF<sup>P</sup>) | |||| || +------ Auxillary Carry (AF<sup>AC</sup>) | |||| |+-------- Zero (Z) | |||| +--------- Sign (S) | |||+------------ Single Step<sup>Break</sup> (TF<sup>BRK</sup>)...")
- 20:37, 30 July 2024 Asie talk contribs created page WonderWitch/FreyaBIOS/Bank (Created page with "The Bank interrupt provides an abstraction layer for accessing the WonderWitch cartridge's flash and RAM. == Interrupts == === INT $18/AH=$00 - bank_set_map === * AH = $00 * BX = Bank region * CX = Number of bank to map to region Bank regions: * 0 = SRAM (1000:xxxx) * 1 = ROM0 (2000:xxxx) * 2 = ROM1 (3000:xxxx) === INT $18/AH=$01 - bank_get_map === * AH = $01 * BX = Bank region Return: * AX = Number of bank mapped to region === INT $18/AH=$02 - bank_read_byte =...")
- 13:42, 27 July 2024 Asie talk contribs created page WonderWitch/FreyaBIOS/Communication (Created page with "The Communication (comm) interrupt provides an abstraction layer and helpers for the WonderSwan's serial port. == Interrupts == === INT $14/AH=$00 - comm_open === * AH = $00 Opens the serial port. Note that the baud rate must be set before calling <code>comm_open</code>. === INT $14/AH=$01 - comm_close === * AH = $01 Closes the serial port. === INT $14/AH=$02 - comm_send_char === * AH = $02 * BL = Character (byte) to send. Return: * AX = Return code....")
- 08:34, 27 July 2024 Asie talk contribs created page WonderWitch/FreyaBIOS/Text (Created page with "The Text interrupt provides a text output display using one of the WonderSwan's screens. == Interrupts == === INT $13/AH=$00 - text_screen_init === * AH = $00 Initializes a text window (see INT $13/AH=$01) with the following default settings: * X, Y = 0, 0 * width, height = 28, 18 * starting tile = 512 - font tile count (in ASCII mode) * starting tile = 512 - (width x height) (in Shift-JIS and mixed modes) === INT $13/AH=$01 - text_window_init === * AH = $01 * BL...")
- 16:08, 24 July 2024 Asie talk contribs created page WonderWitch/FreyaBIOS/Key (Created page with "The Display interrupt provides helper functions for accessing the WonderSwan's keypad. == Interrupts == === INT $11/AH=$00 - key_press_check === * AH = $00 Return: * AX = A bitmask containing the currently held keys. <pre> 15 bit 8 7 bit 0 ---- ---- ---- ---- .... 4321 4321 bas. |||| |||| ||| |||| |||| ||+- Start |||| |||| |+-- A |||| |||| +--- B |||| ++++----- X1/X2/X3/X4 ++++----------- Y1/Y2/Y3/Y4 </pr...")
- 20:27, 23 July 2024 Asie talk contribs created page WonderWitch/FreyaBIOS/Display (Created page with "The Display interrupt provides an abstraction layer and helpers for the WonderSwan's display hardware. Note that features specific to the WonderSwan Color are implemented using libwwc, which is linked statically with the user program and thus not part of the BIOS call surface. == Interrupts == === INT $12/AH=$00 - display_control === * AH = $00 * BX = Display Control value === INT $12/AH=$01 - display_st...")
- 08:18, 20 July 2024 Asie talk contribs created page WonderWitch/FreyaBIOS/Sound (Created page with "The Sound interrupt provides an abstraction layer for the WonderSwan's sound hardware. == Interrupts == === INT 15/AH=00h - sound_init === * AH = 00h === INT 15/AH=01h - sound_set_channel === * AH = 01h * BL = Channel Control value === INT 15/AH=02h - sound_get_channel === * AH = 02h Return: * AL = Channel Control value === INT 15/AH=03h - sound_set_output === * AH = 03h * BL = Sound#S...")
- 05:54, 17 March 2024 Asie talk contribs created page WonderWitch/FreyaOS (Created page with "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. == Revisions == * FreyaOS 1.0.0 * FreyaOS 1.0.2 (September 2nd, 2000 <r...")
- 09:34, 20 February 2024 Fiskbit talk contribs changed group membership for Asie from (none) to administrator