mirror of
https://github.com/curioustorvald/tsvm.git
synced 2026-06-12 23:54:04 +09:00
suggestion of DMA sprite for TerranBASIC
This commit is contained in:
@@ -141,34 +141,38 @@ From the start of the memory space:
|
|||||||
2 bytes
|
2 bytes
|
||||||
argument for "command" (arg1: Byte, arg2: Byte)
|
argument for "command" (arg1: Byte, arg2: Byte)
|
||||||
write to this address FIRST and then write to "command" to execute the command
|
write to this address FIRST and then write to "command" to execute the command
|
||||||
86 bytes
|
76 bytes
|
||||||
*Unused*
|
*Unused*
|
||||||
IF hires_text THEN
|
|
||||||
418 bytes
|
2988 bytes
|
||||||
*Unused*
|
DMA Sprite Area - 18 bytes each, total of 166 sprites
|
||||||
2 bytes
|
1 byte
|
||||||
Cursor position in: (y*64 + x)
|
Sprite width
|
||||||
5120 bytes
|
1 byte
|
||||||
Text fore/back colours, 16 colours, LSB is foreground
|
Sprite height
|
||||||
5120 bytes
|
12 bytes - signed fixed point
|
||||||
Text buffer of 80x64 (7x7 character size)
|
Affine transformation A,B,C,D,X,Y
|
||||||
ELSE
|
1 byte
|
||||||
2978 bytes
|
Attributes
|
||||||
*Unused*
|
0b 0000 00vp
|
||||||
2 bytes
|
(p: 0 for above-all, 1 for below-text, v: show/hide)
|
||||||
Cursor position in: (y*32 + x)
|
3 bytes
|
||||||
2560 bytes
|
Pointer to raw pixmap data in Scratchpad Memory
|
||||||
Text foreground colours
|
|
||||||
2560 bytes
|
2 bytes
|
||||||
Text background colours
|
Cursor position in: (y*32 + x)
|
||||||
2560 bytes
|
2560 bytes
|
||||||
Text buffer of 80x32 (7x14 character size, and yes: actual character data is on the bottom)
|
Text foreground colours
|
||||||
|
2560 bytes
|
||||||
|
Text background colours
|
||||||
|
2560 bytes
|
||||||
|
Text buffer of 80x32 (7x14 character size, and yes: actual character data is on the bottom)
|
||||||
FI
|
FI
|
||||||
512 bytes
|
512 bytes
|
||||||
Palette stored in following pattern: 0b rrrr gggg, 0b bbbb aaaa, ....
|
Palette stored in following pattern: 0b rrrr gggg, 0b bbbb aaaa, ....
|
||||||
Palette number 255 is always full transparent (bits being all zero)
|
Palette number 255 is always full transparent (bits being all zero)
|
||||||
|
|
||||||
Optional Sprite Card (VRAM Bank 1 (256 kB))
|
(DRAFT) Optional Sprite Card (VRAM Bank 1 (256 kB))
|
||||||
250880 bytes
|
250880 bytes
|
||||||
Secondary framebuffer
|
Secondary framebuffer
|
||||||
533 bytes: Sprite attribute table
|
533 bytes: Sprite attribute table
|
||||||
|
|||||||
Reference in New Issue
Block a user