libmsx
C library for MSX
|
Definitions of MSX SYSTEM Workarea. More...
Go to the source code of this file.
Data Structures | |
struct | cgpnt |
MSX Structure of CGPNT . More... | |
Macros | |
#define | WORKAREA_H |
Variables | |
static volatile void ** | DISKVE |
MSX Pointer to pointer to disk error routine. | |
static volatile void ** | BREAKV |
MSX Pointer to pointer to CTRL +C routine. | |
static volatile uint8_t | RAMAD0 |
MSX Slot address of page #0 of RAM. | |
static volatile uint8_t | RAMAD1 |
MSX Slot address of page #1 of RAM. | |
static volatile uint8_t | RAMAD2 |
MSX Slot address of page #2 of RAM. | |
static volatile uint8_t | RAMAD3 |
MSX Slot address of page #3 of RAM. | |
static volatile uint8_t | MASTERS |
MSX Slot address of the master FDC cartridge. | |
static volatile uint8_t | RDPRIM [5] |
MSX Inter-slot read from primary slot. | |
static volatile uint8_t | WRPRIM [7] |
MSX Inter-slot write to primary slot. | |
static volatile uint8_t | CLPRIM [14] |
MSX Inter-slot call to primary slot. | |
static volatile void * | USRTAB [10] |
MSX Table of start address of USR0 ..USR9 . | |
static volatile uint8_t | LINL40 |
MSX WIDTH in SCREEN 0 | |
static volatile uint8_t | LINL32 |
MSX WIDTH in SCREEN 1 | |
static volatile uint8_t | LINLEN |
MSX WIDTH of the current screen. | |
static volatile uint8_t | CRTCNT |
MSX Number of lines of the current screen. | |
static volatile uint8_t | CLMLST |
MSX Used for PRINT statement. | |
static volatile uint16_t | TXTNAM |
MSX SCREEN 0 / Pattern name table address. | |
static volatile uint16_t | TXTCOL |
MSX2 SCREEN 0 / Color table address. | |
static volatile uint16_t | TXTCGP |
MSX SCREEN 0 / Pattern generator table address. | |
static volatile uint16_t | TXTATR |
(unused) | |
static volatile uint16_t | TXTPAT |
(unused) | |
static volatile uint16_t | T32NAM |
MSX SCREEN 1 / Pattern name table address. | |
static volatile uint16_t | T32COL |
MSX SCREEN 1 / Color table address. | |
static volatile uint16_t | T32CGP |
MSX SCREEN 1 / Pattern generator table address. | |
static volatile uint16_t | T32ATR |
MSX SCREEN 1 / Sprite attribute table address. | |
static volatile uint16_t | T32PAT |
MSX SCREEN 1 / Sprite pattern generator table address. | |
static volatile uint16_t | GRPNAM |
MSX SCREEN 2 / Pattern name table address. | |
static volatile uint16_t | GRPCOL |
MSX SCREEN 2 / Color table address. | |
static volatile uint16_t | GRPCGP |
MSX SCREEN 2 / Pattern generator table address. | |
static volatile uint16_t | GRPATR |
MSX SCREEN 2 / Sprite attribute table address. | |
static volatile uint16_t | GRPPAT |
MSX SCREEN 2 / Sprite pattern generator table address. | |
static volatile uint16_t | MLTNAM |
MSX SCREEN 3 / Pattern name table address. | |
static volatile uint16_t | MLTCOL |
(unused) | |
static volatile uint16_t | MLTCGP |
MSX SCREEN 3 / Pattern generator table address. | |
static volatile uint16_t | MLTATR |
MSX SCREEN 3 / Sprite attribute table address. | |
static volatile uint16_t | MLTPAT |
MSX SCREEN 3 / Sprite pattern generator table address. | |
static volatile uint8_t | CLIKSW |
MSX Key click beep switch (0:off, non-zero:on). | |
static volatile uint8_t | CSRY |
MSX Y coordinate of cursor. | |
static volatile uint8_t | CSRX |
MSX X coordinate of cursor. | |
static volatile uint8_t | CNSDFG |
MSX Function Key display switch (0:off, non-zero:on). | |
static volatile uint8_t | RG0SAV |
MSX Saved value for VDP R#0 register. | |
static volatile uint8_t | RG1SAV |
MSX Saved value for VDP R#1 register. | |
static volatile uint8_t | RG2SAV |
MSX Saved value for VDP R#2 register. | |
static volatile uint8_t | RG3SAV |
MSX Saved value for VDP R#3 register. | |
static volatile uint8_t | RG4SAV |
MSX Saved value for VDP R#4 register. | |
static volatile uint8_t | RG5SAV |
MSX Saved value for VDP R#5 register. | |
static volatile uint8_t | RG6SAV |
MSX Saved value for VDP R#6 register. | |
static volatile uint8_t | RG7SAV |
MSX Saved value for VDP R#7 register. | |
static volatile uint8_t | STATFL |
MSX Saved value for VDP S#0 register. | |
static volatile uint8_t | TRGFLG |
MSX Joystick trigger button state. | |
static volatile uint8_t | FORCLR |
MSX Foreground color. | |
static volatile uint8_t | BAKCLR |
MSX Background color. | |
static volatile uint8_t | BDRCLR |
MSX Border color. | |
static volatile uint8_t | MAXUPD [3] |
MSX Internal use of LINE statement. | |
static volatile uint8_t | MINUPD [3] |
MSX Internal use of LINE statement. | |
static volatile uint8_t | ATRBYT |
MSX Color in graphic mode / attribute byte. | |
static volatile void * | QUEUES |
MSX Pointer to the queue table of PLAY statement. | |
static volatile uint8_t | FRCNEW |
MSX Internal use of BASIC interpreter. | |
static volatile uint8_t | SCNCNT |
MSX Key scanning interval time. | |
static volatile uint8_t | REPCNT |
MSX Interval time until auto repeat of key input. | |
static volatile void * | PUTPNT |
MSX Pointer to key buffer for writing. | |
static volatile void * | GETPNT |
MSX Pointer to key buffer for reading. | |
static volatile uint8_t | FNKSTR [10][16] |
MSX String for each function keys. | |
static volatile struct cgpnt const | CGPNT |
MSX Location of the current fonts. | |
static volatile uint16_t | NAMBAS |
MSX Current pattern name table address. | |
static volatile uint16_t | CGPBAS |
MSX Current pattern generator table address. | |
static volatile uint16_t | PATBAS |
MSX Current sprite pattern generator table address. | |
static volatile uint16_t | ATRBAS |
MSX Current sprite attribute table address. | |
static volatile uint8_t | EXBRSA |
MSX2 The slot address of SUB ROM | |
static volatile uint8_t | HOKVLD |
MSX Extended BIOS flag. | |
static volatile uint8_t | DRVTBL [8] |
MSX Slot and number of drives for each Floppy Disk Controller (FDC). | |
static volatile uint16_t | HIMEM |
MSX The highest address of free area (bottom of stack). | |
static volatile uint16_t | JIFFY |
MSX Free-running counter that counts up every VSYNC interrupts. | |
static volatile uint8_t | EXPTBL [4] |
MSX Expansion flags for each primary slots. | |
static volatile uint8_t | SLTTBL [4] |
MSX Save area for expanded slot select registers. | |
static volatile uint8_t | SLTATR [64] |
MSX Attributes for application (cartridge). | |
static volatile uint8_t | SLTWRK [128] |
MSX Workarea for applications (cartridge). | |
static volatile uint8_t | H_KEYI [5] |
Hook for interrupts. | |
static volatile uint8_t | H_TIMI [5] |
Hook for timer interrupts (VSYNC). | |
static volatile uint8_t | FCALL [5] |
MSX Used by extended BIOS. | |
static volatile uint8_t | DISINT [5] |
MSX Used by DOS. | |
static volatile uint8_t | ENAINT [5] |
MSX Used by DOS | |
static volatile uint8_t | RG8SAV |
MSX2 Saved value for VDP R#8 register. | |
static volatile uint8_t | RG9SAV |
MSX2 Saved value for VDP R#9 register. | |
static volatile uint8_t | RG10SA |
MSX2 Saved value for VDP R#10 register. | |
static volatile uint8_t | RG11SA |
MSX2 Saved value for VDP R#11 register. | |
static volatile uint8_t | RG12SA |
MSX2 Saved value for VDP R#12 register. | |
static volatile uint8_t | RG13SA |
MSX2 Saved value for VDP R#13 register. | |
static volatile uint8_t | RG14SA |
MSX2 Saved value for VDP R#14 register. | |
static volatile uint8_t | RG15SA |
MSX2 Saved value for VDP R#15 register. | |
static volatile uint8_t | RG16SA |
MSX2 Saved value for VDP R#16 register. | |
static volatile uint8_t | RG17SA |
MSX2 Saved value for VDP R#17 register. | |
static volatile uint8_t | RG18SA |
MSX2 Saved value for VDP R#18 register. | |
static volatile uint8_t | RG19SA |
MSX2 Saved value for VDP R#19 register. | |
static volatile uint8_t | RG20SA |
MSX2 Saved value for VDP R#20 register. | |
static volatile uint8_t | RG21SA |
MSX2 Saved value for VDP R#21 register. | |
static volatile uint8_t | RG22SA |
MSX2 Saved value for VDP R#22 register. | |
static volatile uint8_t | RG23SA |
MSX2 Saved value for VDP R#23 register. | |
static volatile uint8_t | RG25SA |
MSX2+ Saved value for VDP R#25 register. | |
static volatile uint8_t | RG26SA |
MSX2+ Saved value for VDP R#26 register. | |
static volatile uint8_t | RG27SA |
MSX2+ Saved value for VDP R#27 register. | |
Definitions of MSX SYSTEM Workarea.
Definition in file workarea.h.
struct cgpnt |
Data Fields | ||
---|---|---|
uint8_t | slot | Slot of the current fonts. |
struct font * | addr | Address of the current fonts. |
#define WORKAREA_H |
Definition at line 19 of file workarea.h.
|
static |
MSX
Pointer to pointer to disk error routine.
Definition at line 30 of file workarea.h.
|
static |
MSX
Pointer to pointer to CTRL
+C
routine.
Definition at line 35 of file workarea.h.
|
static |
MSX
Slot address of page #0 of RAM.
Definition at line 44 of file workarea.h.
|
static |
MSX
Slot address of page #1 of RAM.
Definition at line 53 of file workarea.h.
|
static |
MSX
Slot address of page #2 of RAM.
Definition at line 62 of file workarea.h.
|
static |
MSX
Slot address of page #3 of RAM.
Definition at line 71 of file workarea.h.
|
static |
MSX
Slot address of the master FDC cartridge.
Definition at line 80 of file workarea.h.
|
static |
MSX
Inter-slot read from primary slot.
Definition at line 83 of file workarea.h.
|
static |
MSX
Inter-slot write to primary slot.
Definition at line 84 of file workarea.h.
|
static |
MSX
Inter-slot call to primary slot.
Definition at line 85 of file workarea.h.
|
static |
MSX
Table of start address of USR0
..USR9
.
Definition at line 88 of file workarea.h.
|
static |
MSX
WIDTH in SCREEN 0
Definition at line 90 of file workarea.h.
|
static |
MSX
WIDTH in SCREEN 1
Definition at line 91 of file workarea.h.
|
static |
MSX
WIDTH of the current screen.
Definition at line 92 of file workarea.h.
|
static |
MSX
Number of lines of the current screen.
Definition at line 93 of file workarea.h.
|
static |
MSX
Used for PRINT
statement.
Definition at line 94 of file workarea.h.
|
static |
MSX
SCREEN 0 / Pattern name table address.
Definition at line 97 of file workarea.h.
|
static |
MSX2
SCREEN 0 / Color table address.
Definition at line 98 of file workarea.h.
|
static |
MSX
SCREEN 0 / Pattern generator table address.
Definition at line 99 of file workarea.h.
|
static |
(unused)
Definition at line 100 of file workarea.h.
|
static |
(unused)
Definition at line 101 of file workarea.h.
|
static |
MSX
SCREEN 1 / Pattern name table address.
Definition at line 103 of file workarea.h.
|
static |
MSX
SCREEN 1 / Color table address.
Definition at line 104 of file workarea.h.
|
static |
MSX
SCREEN 1 / Pattern generator table address.
Definition at line 105 of file workarea.h.
|
static |
MSX
SCREEN 1 / Sprite attribute table address.
Definition at line 106 of file workarea.h.
|
static |
MSX
SCREEN 1 / Sprite pattern generator table address.
Definition at line 107 of file workarea.h.
|
static |
MSX
SCREEN 2 / Pattern name table address.
Definition at line 109 of file workarea.h.
|
static |
MSX
SCREEN 2 / Color table address.
Definition at line 110 of file workarea.h.
|
static |
MSX
SCREEN 2 / Pattern generator table address.
Definition at line 111 of file workarea.h.
|
static |
MSX
SCREEN 2 / Sprite attribute table address.
Definition at line 112 of file workarea.h.
|
static |
MSX
SCREEN 2 / Sprite pattern generator table address.
Definition at line 113 of file workarea.h.
|
static |
MSX
SCREEN 3 / Pattern name table address.
Definition at line 115 of file workarea.h.
|
static |
(unused)
Definition at line 116 of file workarea.h.
|
static |
MSX
SCREEN 3 / Pattern generator table address.
Definition at line 117 of file workarea.h.
|
static |
MSX
SCREEN 3 / Sprite attribute table address.
Definition at line 118 of file workarea.h.
|
static |
MSX
SCREEN 3 / Sprite pattern generator table address.
Definition at line 119 of file workarea.h.
|
static |
MSX
Key click beep switch (0:off, non-zero:on).
Definition at line 122 of file workarea.h.
|
static |
MSX
Y coordinate of cursor.
Definition at line 123 of file workarea.h.
|
static |
MSX
X coordinate of cursor.
Definition at line 124 of file workarea.h.
|
static |
MSX
Function Key display switch (0:off, non-zero:on).
Definition at line 125 of file workarea.h.
|
static |
MSX
Saved value for VDP R#0 register.
Definition at line 128 of file workarea.h.
|
static |
MSX
Saved value for VDP R#1 register.
Definition at line 129 of file workarea.h.
|
static |
MSX
Saved value for VDP R#2 register.
Definition at line 130 of file workarea.h.
|
static |
MSX
Saved value for VDP R#3 register.
Definition at line 131 of file workarea.h.
|
static |
MSX
Saved value for VDP R#4 register.
Definition at line 132 of file workarea.h.
|
static |
MSX
Saved value for VDP R#5 register.
Definition at line 133 of file workarea.h.
|
static |
MSX
Saved value for VDP R#6 register.
Definition at line 134 of file workarea.h.
|
static |
MSX
Saved value for VDP R#7 register.
Definition at line 135 of file workarea.h.
|
static |
MSX
Saved value for VDP S#0 register.
Definition at line 137 of file workarea.h.
|
static |
MSX
Joystick trigger button state.
Definition at line 140 of file workarea.h.
|
static |
MSX
Foreground color.
Definition at line 142 of file workarea.h.
|
static |
MSX
Background color.
Definition at line 143 of file workarea.h.
|
static |
MSX
Border color.
Definition at line 144 of file workarea.h.
|
static |
MSX
Internal use of LINE
statement.
Definition at line 146 of file workarea.h.
|
static |
MSX
Internal use of LINE
statement.
Definition at line 147 of file workarea.h.
|
static |
MSX
Color in graphic mode / attribute byte.
Definition at line 148 of file workarea.h.
|
static |
MSX
Pointer to the queue table of PLAY
statement.
Definition at line 150 of file workarea.h.
|
static |
MSX
Internal use of BASIC interpreter.
Definition at line 152 of file workarea.h.
|
static |
MSX
Key scanning interval time.
Definition at line 153 of file workarea.h.
|
static |
MSX
Interval time until auto repeat of key input.
Definition at line 154 of file workarea.h.
|
static |
MSX
Pointer to key buffer for writing.
Definition at line 155 of file workarea.h.
|
static |
MSX
Pointer to key buffer for reading.
Definition at line 156 of file workarea.h.
|
static |
MSX
String for each function keys.
Definition at line 176 of file workarea.h.
|
static |
MSX
Location of the current fonts.
Definition at line 195 of file workarea.h.
|
static |
MSX
Current pattern name table address.
Definition at line 197 of file workarea.h.
|
static |
MSX
Current pattern generator table address.
Definition at line 198 of file workarea.h.
|
static |
MSX
Current sprite pattern generator table address.
Definition at line 199 of file workarea.h.
|
static |
MSX
Current sprite attribute table address.
Definition at line 200 of file workarea.h.
|
static |
MSX2
The slot address of SUB ROM
MSX1
, there is no SUB ROM and EXBRSA == 0
. Definition at line 216 of file workarea.h.
|
static |
MSX
Extended BIOS flag.
Definition at line 221 of file workarea.h.
|
static |
MSX
Slot and number of drives for each Floppy Disk Controller (FDC).
DRVTBL[*] | explanation |
---|---|
DRVTBL[0] | Number of drives of the 1st FDC |
DRVTBL[1] | Slot address of the 1st FDC |
DRVTBL[2] | Number of drives of the 2nd FDC |
DRVTBL[3] | Slot address of the 2nd FDC |
DRVTBL[4] | Number of drives of the 3rd FDC |
DRVTBL[5] | Slot address of the 3rd FDC |
DRVTBL[6] | Number of drives of the 4th FDC |
DRVTBL[7] | Slot address of the 4th FDC |
Definition at line 241 of file workarea.h.
|
static |
MSX
The highest address of free area (bottom of stack).
Definition at line 246 of file workarea.h.
|
static |
MSX
Free-running counter that counts up every VSYNC interrupts.
Definition at line 258 of file workarea.h.
|
static |
MSX
Expansion flags for each primary slots.
The bit #7 of EXPTBL[i] indicates whether the primary slot #i is expanded or not. If the bit #7 was 1
, the primary slot #i is expanded to 4 secondary slots. Otherwise, the primary slot #i is single slot.
And the EXPTBL[0] is also indicates actual MAIN ROM slot address. For any other EXPTBL[i], only bit #7 is used.
A slot address (or 'slot' in short) is a 8 bit value consists of the following:
Definition at line 277 of file workarea.h.
|
static |
MSX
Save area for expanded slot select registers.
SLTTBL[i] is saved value of expanded slot select register of the primary slot #i.
Value of a expanded slot select register is a 8 bit value consists of the following:
Definition at line 290 of file workarea.h.
|
static |
MSX
Attributes for application (cartridge).
For each slot, indicates which pages contain or do not contain MSX-BASIC program text, MSX-BASIC extended device routines, and/or MSX-BASIC extended statements.
There is 1 byte for each page of each slots. For page #p of slot #m-n, SLTATR[i]
is used where i = 16*m + 4*n + p
.
SLTATR[*] | corresponding page/slot |
---|---|
SLTATR[ 0] | for page #0 of slot #0-0 |
SLTATR[ 2] | for page #1 of slot #0-0 |
... | ... |
SLTATR[62] | for page #2 of slot #3-3 |
SLTATR[63] | for page #3 of slot #3-3 |
Each SLTATR[i]
is a 8 bit value consists of the following:
Definition at line 316 of file workarea.h.
|
static |
MSX
Workarea for applications (cartridge).
There is 2 bytes for each page of each slots. For page #p of slot #m-n, SLTWRK[2*i]
and SLTWRK[2*i+1]
are used where i = 16*m + 4*n + p
.
SLTWRK[*] | corresponding page/slot |
---|---|
SLTWRK[ 0] and SLTWRK[ 1] | for page #0 of slot #0-0 |
SLTWRK[ 2] and SLTWRK[ 3] | for page #1 of slot #0-0 |
... | ... |
SLTWRK[124] and SLTWRK[125] | for page #2 of slot #3-3 |
SLTWRK[126] and SLTWRK[127] | for page #3 of slot #3-3 |
Definition at line 332 of file workarea.h.
|
static |
Hook for interrupts.
Definition at line 337 of file workarea.h.
|
static |
Hook for timer interrupts (VSYNC).
Definition at line 338 of file workarea.h.
|
static |
MSX
Used by extended BIOS.
Definition at line 350 of file workarea.h.
|
static |
MSX
Used by DOS.
Definition at line 351 of file workarea.h.
|
static |
MSX
Used by DOS
Definition at line 352 of file workarea.h.
|
static |
MSX2
Saved value for VDP R#8 register.
Definition at line 356 of file workarea.h.
|
static |
MSX2
Saved value for VDP R#9 register.
Definition at line 357 of file workarea.h.
|
static |
MSX2
Saved value for VDP R#10 register.
Definition at line 358 of file workarea.h.
|
static |
MSX2
Saved value for VDP R#11 register.
Definition at line 359 of file workarea.h.
|
static |
MSX2
Saved value for VDP R#12 register.
Definition at line 360 of file workarea.h.
|
static |
MSX2
Saved value for VDP R#13 register.
Definition at line 361 of file workarea.h.
|
static |
MSX2
Saved value for VDP R#14 register.
Definition at line 362 of file workarea.h.
|
static |
MSX2
Saved value for VDP R#15 register.
Definition at line 363 of file workarea.h.
|
static |
MSX2
Saved value for VDP R#16 register.
Definition at line 364 of file workarea.h.
|
static |
MSX2
Saved value for VDP R#17 register.
Definition at line 365 of file workarea.h.
|
static |
MSX2
Saved value for VDP R#18 register.
Definition at line 366 of file workarea.h.
|
static |
MSX2
Saved value for VDP R#19 register.
Definition at line 367 of file workarea.h.
|
static |
MSX2
Saved value for VDP R#20 register.
Definition at line 368 of file workarea.h.
|
static |
MSX2
Saved value for VDP R#21 register.
Definition at line 369 of file workarea.h.
|
static |
MSX2
Saved value for VDP R#22 register.
Definition at line 370 of file workarea.h.
|
static |
MSX2
Saved value for VDP R#23 register.
Definition at line 371 of file workarea.h.
|
static |
MSX2+
Saved value for VDP R#25 register.
Definition at line 374 of file workarea.h.
|
static |
MSX2+
Saved value for VDP R#26 register.
Definition at line 375 of file workarea.h.
|
static |
MSX2+
Saved value for VDP R#27 register.
Definition at line 376 of file workarea.h.