commit 6704b7a

zzo38  ·  2024-03-06 02:58:12 +0000 UTC
parent 8b2de1e
Add (unimplemented) extension for extended text input and for Game Boy graphics/audio.
1 files changed,  +86, -0
+86, -0
 1@@ -54,6 +54,51 @@ when drawing sprites.
 2 Other bits are currently unused.
 3 
 4 
 5+=== b076ddca-db5a-11ee-bddb-002618745416 (Extended text input) ===
 6+
 7+(DRAFT)
 8+
 9+This extension is used for extended text input with TRON character codes.
10+The current version number is 1.
11+
12+The ports are:
13+
14+x0 - Vector *
15+x2 - TRON volume
16+x3 - TRON plane
17+x4 - TRON code *
18+x6 - Intended mode
19+x7 - Effective mode
20+
21+The vector and intended mode should be set by the program, and the emulator
22+will set the other fields to be read by the program.
23+
24+The mode flags are:
25+
26+* bit0 = Normal keyboard input (with the standard keyboard device). If
27+this is set in the intended mode, then keyboard events will trigger the
28+standard input device. In the effective mode, it is set if this event will
29+(or did) trigger the standard input device.
30+
31+* bit1 = Extended keyboard input. If this is set in the intended mode, then
32+it requests TRON character input, and will trigger this device's vector
33+when TRON character input is available; if this bit is clear then ASCII (or
34+extended ASCII) input is supported. In the effective mode, it is set if
35+this event will (or did) trigger this device, which it does if a TRON
36+character input is available.
37+
38+* bit2 = Bracketed paste. Setting it in the intended mode enables this
39+feature. In the effective mode,this bit will be set if it is currently
40+doing a bracketed paste.
41+
42+The initial value for the intended mode is 0x01. Note that bit0 and bit1
43+are not mutually exclusive; if both are set, then it is possible (but not
44+necessarily) that a keyboard event will trigger both devices. If neither
45+bit is set, then text input is not requested (some implementations might
46+use this to hide the on-screen keyboard). Also, the effective mode is set
47+for both kinds of input events, regardless of the intended mode.
48+
49+
50 === c7e5d57e-1201-11ee-bee4-002618745416 (Sequencer) ===
51 
52 (DRAFT)
53@@ -118,3 +163,44 @@ If this extension is not available, then programs should use the screen
54 vector for audio timing.
55 
56 
57+=== d02b5508-db5d-11ee-bb94-002618745416 (Game Boy emulation) ===
58+
59+(DRAFT)
60+
61+This extension is only intended to be available for multi-system emulators
62+that includes varvara and Game Boy, although this is not required (it is
63+also possible to implement in an emulator that doesn't emulate the rest of
64+Game Boy). (This is not fully defined yet, and cannot be used at this time.
65+For example, there is currently no way to set colour/mono mode, and many
66+other things are also missing.)
67+
68+The ports are:
69+
70+x0 - Vector *
71+x2 - Register address
72+x3 - Register data
73+x4 - Display position X *
74+x6 - Display position Y *
75+x8 - VRAM bank 0 *
76+xA - VRAM bank 1 *
77+xF - Display flag
78+
79+The register address corresponds to addresses 0xFF00 to 0xFFFF of Game Boy
80+memory, and then you can read/write the data by the register data port.
81+
82+Display position is the top-left corner of the Game Boy display inside of
83+the varvara display.
84+
85+The display flag bits can be:
86+
87+* bit0 = Display Game Boy screen. The varvara foreground layer is displayed
88+in front of the Game Boy screen; the varvara background layer is suppressed
89+in the area where the Game Boy screen is displayed.
90+
91+* bit1 = Display objects outside of Game Boy bounding box. (If not set, the
92+objects cannot be displayed outside of this bounding box.)
93+
94+* bit2 = Use varvara palettes for Game Boy display.
95+
96+Note that the varvara audio and Game Boy audio can be mixed together.
97+