Jo Engine
2024.04.28
Jo Sega Saturn Engine
|
Jo Engine Sega Saturn constants (addresses, memory sizes, etc) More...
Go to the source code of this file.
Macros | |
#define | JO_VDP1_VRAM |
VDP1 VRAM (512 kilobytes) More... | |
#define | JO_VDP1_FB |
VDP1 Frame buffer (256 kilobytes) More... | |
#define | JO_VDP1_REG |
VDP1 I/O register address. More... | |
#define | JO_VDP1_LAST_REG |
Last VDP1 I/O register address. More... | |
#define | JO_VDP1_TVMR |
TV mode selection. More... | |
#define | JO_VDP1_FBCR |
Controls the frame buffer. More... | |
#define | JO_VDP1_PTMR |
Plot trigger. More... | |
#define | JO_VDP1_EWDR |
Erase/write color. More... | |
#define | JO_VDP1_EWLR |
Erase/write upper-left position. More... | |
#define | JO_VDP1_EWRR |
Erase/write lower-right position. More... | |
#define | JO_VDP1_ENDR |
Force draw end. More... | |
#define | JO_VDP1_EDSR |
Transfer end status. More... | |
#define | JO_VDP1_LOPR |
Return the last command table processed. More... | |
#define | JO_VDP1_COPR |
Return the current command table processed. More... | |
#define | JO_VDP1_MODR |
Mode status. More... | |
#define | JO_VDP1_USER_AREA_SIZE |
VDP1 user area size. More... | |
#define | JO_VDP1_USER_AREA_END_ADDR |
VDP1 user area end address. More... | |
#define | JO_VDP1_TEXTURE_DEF_BASE_ADDRESS |
VDP1 Sprite base address. More... | |
#define | JO_VDP2_REG |
VDP2 I/O register address. More... | |
#define | JO_VDP2_LAST_REG |
Last VDP2 I/O register address. More... | |
#define | JO_VDP2_VRAM |
VDP2 VRAM (512 kilobytes) = A0 + A1 + B0 + B1. More... | |
#define | JO_VDP2_VRAM_A0 |
VDP2 VRAM Bank A0 (128 kilobytes) More... | |
#define | JO_VDP2_VRAM_A1 |
VDP2 VRAM Bank A1 (128 kilobytes) More... | |
#define | JO_VDP2_VRAM_B0 |
VDP2 VRAM Bank B0 (128 kilobytes) More... | |
#define | JO_VDP2_VRAM_B1 |
VDP2 VRAM Bank B1 (128 kilobytes) More... | |
#define | JO_VDP2_CRAM |
VDP2 Color RAM (4 kilobytes) More... | |
#define | JO_VDP2_BANK_SIZE |
VDP2 VRAM Bank size (128 kilobytes) More... | |
#define | JO_VDP2_NBG0_CEL_ADR |
#define | JO_VDP2_NBG0_MAP_ADR |
#define | JO_VDP2_NBG1_CEL_ADR |
#define | JO_VDP2_NBG1_MAP_ADR |
#define | JO_VDP2_TVMD |
#define | JO_VDP2_EXTEN |
#define | JO_VDP2_TVSTAT |
#define | JO_VDP2_VRSIZE |
#define | JO_VDP2_HCNT |
#define | JO_VDP2_VCNT |
#define | JO_VDP2_RAMCTL |
#define | JO_VDP2_CYCA0L |
#define | JO_VDP2_CYCA0U |
#define | JO_VDP2_CYCA1L |
#define | JO_VDP2_CYCA1U |
#define | JO_VDP2_CYCB0L |
#define | JO_VDP2_CYCB0U |
#define | JO_VDP2_CYCB1L |
#define | JO_VDP2_CYCB1U |
#define | JO_VDP2_BGON |
#define | JO_VDP2_MZCTL |
#define | JO_VDP2_SFSEL |
#define | JO_VDP2_SFCODE |
#define | JO_VDP2_CHCTLA |
#define | JO_VDP2_CHCTLB |
#define | JO_VDP2_BMPNA |
#define | JO_VDP2_BMPNB |
#define | JO_VDP2_PNCN0 |
#define | JO_VDP2_PNCN1 |
#define | JO_VDP2_PNCN2 |
#define | JO_VDP2_PNCN3 |
#define | JO_VDP2_PNCR |
#define | JO_VDP2_PLSZ |
#define | JO_VDP2_MPOFN |
#define | JO_VDP2_MPOFR |
#define | JO_VDP2_MPABN0 |
#define | JO_VDP2_MPCDN0 |
#define | JO_VDP2_MPABN1 |
#define | JO_VDP2_MPCDN1 |
#define | JO_VDP2_MPABN2 |
#define | JO_VDP2_MPCDN2 |
#define | JO_VDP2_MPABN3 |
#define | JO_VDP2_MPCDN3 |
#define | JO_VDP2_MPABRA |
#define | JO_VDP2_MPCDRA |
#define | JO_VDP2_MPEFRA |
#define | JO_VDP2_MPGHRA |
#define | JO_VDP2_MPIJRA |
#define | JO_VDP2_MPKLRA |
#define | JO_VDP2_MPMNRA |
#define | JO_VDP2_MPOPRA |
#define | JO_VDP2_MPABRB |
#define | JO_VDP2_MPCDRB |
#define | JO_VDP2_MPEFRB |
#define | JO_VDP2_MPGHRB |
#define | JO_VDP2_MPIJRB |
#define | JO_VDP2_MPKLRB |
#define | JO_VDP2_MPMNRB |
#define | JO_VDP2_MPOPRB |
#define | JO_VDP2_SCXIN0 |
#define | JO_VDP2_SCXDN0 |
#define | JO_VDP2_SCYIN0 |
#define | JO_VDP2_SCYDN0 |
#define | JO_VDP2_ZMXIN0 |
#define | JO_VDP2_ZMXDN0 |
#define | JO_VDP2_ZMYIN0 |
#define | JO_VDP2_ZMYDN0 |
#define | JO_VDP2_SCXIN1 |
#define | JO_VDP2_SCXDN1 |
#define | JO_VDP2_SCYIN1 |
#define | JO_VDP2_SCYDN1 |
#define | JO_VDP2_ZMXIN1 |
#define | JO_VDP2_ZMXDN1 |
#define | JO_VDP2_ZMYIN1 |
#define | JO_VDP2_ZMYDN1 |
#define | JO_VDP2_SCXN2 |
#define | JO_VDP2_SCYN2 |
#define | JO_VDP2_SCXN3 |
#define | JO_VDP2_SCYN3 |
#define | JO_VDP2_ZMCTL |
#define | JO_VDP2_SCRCTL |
#define | JO_VDP2_VCSTAU |
#define | JO_VDP2_VCSTAL |
#define | JO_VDP2_LSTA0U |
#define | JO_VDP2_LSTA0L |
#define | JO_VDP2_LSTA1U |
#define | JO_VDP2_LSTA1L |
#define | JO_VDP2_LCTAU |
#define | JO_VDP2_LCTAL |
#define | JO_VDP2_BKTAU |
#define | JO_VDP2_BKTAL |
#define | JO_VDP2_RPMD |
#define | JO_VDP2_RPRCTL |
#define | JO_VDP2_KTCTL |
#define | JO_VDP2_KTAOF |
#define | JO_VDP2_OVPNRA |
#define | JO_VDP2_OVPNRB |
#define | JO_VDP2_RPTAU |
#define | JO_VDP2_RPTAL |
#define | JO_VDP2_WPSX0 |
#define | JO_VDP2_WPSY0 |
#define | JO_VDP2_WPEX0 |
#define | JO_VDP2_WPEY0 |
#define | JO_VDP2_WPSX1 |
#define | JO_VDP2_WPSY1 |
#define | JO_VDP2_WPEX1 |
#define | JO_VDP2_WPEY1 |
#define | JO_VDP2_WCTLA |
#define | JO_VDP2_WCTLB |
#define | JO_VDP2_WCTLC |
#define | JO_VDP2_WCTLD |
#define | JO_VDP2_LWTA0U |
#define | JO_VDP2_LWTA0L |
#define | JO_VDP2_LWTA1U |
#define | JO_VDP2_LWTA1L |
#define | JO_VDP2_SPCTL |
#define | JO_VDP2_SDCTL |
#define | JO_VDP2_CRAOFA |
#define | JO_VDP2_CRAOFB |
#define | JO_VDP2_LNCLEN |
#define | JO_VDP2_SFPRMD |
#define | JO_VDP2_CCCTL |
#define | JO_VDP2_SFCCMD |
#define | JO_VDP2_PRISA |
#define | JO_VDP2_PRISB |
#define | JO_VDP2_PRISC |
#define | JO_VDP2_PRISD |
#define | JO_VDP2_PRINA |
#define | JO_VDP2_PRINB |
#define | JO_VDP2_PRIR |
#define | JO_VDP2_RESERVE |
#define | JO_VDP2_CCRSA |
#define | JO_VDP2_CCRSB |
#define | JO_VDP2_CCRSC |
#define | JO_VDP2_CCRSD |
#define | JO_VDP2_CCRNA |
#define | JO_VDP2_CCRNB |
#define | JO_VDP2_CCRR |
#define | JO_VDP2_CCRLB |
#define | JO_VDP2_CLOFEN |
#define | JO_VDP2_CLOFSL |
#define | JO_VDP2_COAR |
#define | JO_VDP2_COAG |
#define | JO_VDP2_COAB |
#define | JO_VDP2_COBR |
#define | JO_VDP2_COBG |
#define | JO_VDP2_COBB |
#define | JO_WORK_RAM_BOOT_ROM |
ROM BIOS functions. More... | |
#define | JO_WORK_RAM_SLAVE_CPU_STACK_AREA |
Slave CPU stack. More... | |
#define | JO_WORK_RAM_MASTER_CPU_DEFAULT_STACK |
Master CPU stack. More... | |
#define | JO_WORK_RAM_UNKNOWN_USAGE |
TODO: UNKNOW USAGE, BUT CAN I USE IT ? More... | |
#define | JO_WORK_RAM_USER_PROGRAM_AND_DATA |
User area. More... | |
#define | JO_WORK_RAM_SORT_LIST |
Table buffer for DMA transfers of sprite control data (MAX_POLYGON+5)*3*4BYTE = 0x549C. More... | |
#define | JO_WORK_RAM_USER_PROGRAM_AND_DATA_END |
Alias to JO_WORK_RAM_SORT_LIST. More... | |
#define | JO_WORK_RAM_DMA_TRANSFERT_LIST |
DMA control table for transfer requests during blanking MAX_TRANSFER*3*4BYTE = 0xF0. More... | |
#define | JO_WORK_RAM_WINDOW_0_ZBUFFER |
Primary buffer for polygon sort (for window 0) 128*4 = 0x200. More... | |
#define | JO_WORK_RAM_WINDOW_1_ZBUFFER |
Primary buffer 2 polygon sort (for window 1) 128*4 = 0x200. More... | |
#define | JO_WORK_RAM_POLYGON_SORT_ZBUFFER |
Secondary buffer for polygon sort 256*4 = 0x400. More... | |
#define | JO_WORK_RAM_SPRITE_BUFFER_1 |
Sprite control data buffer (MAX_POSYGON+5)*36 = 0xFDD4. More... | |
#define | JO_WORK_RAM_SPRITE_BUFFER_2 |
Sprite control data buffer 2 (MAX_POSYGON+5)*36 = 0xFDD4. More... | |
#define | JO_WORK_RAM_POLYGON_VERTEX_CALC_BUFFER |
Vertex position buffer for polygon calculations MAX_VERTICES*16 = 0x9C40. More... | |
#define | JO_WORK_RAM_LIGHT_COLORS_BUFFER |
Data table for colors generated due to light source effects 33*32 = 0x420. More... | |
#define | JO_WORK_RAM_COMMAND_BUFFER |
Command passing buffer from master to slave MAX_POLYGON*32 = 0xE100. More... | |
#define | JO_WORK_RAM_STACK_AREA |
Stack area (0x216C) More... | |
#define | JO_WORK_RAM_SYSTEM_WORK |
System variable area (the GBR register always points here) 0x400byte. More... | |
#define | JO_WORK_RAM_SYSTEM_WORK_SIZE |
#define | JO_IS_PTR_INSIDE_USER_RAM_AREA(PTR) |
Check if the pointer is inside user area WORK RAM. More... | |
#define | JO_IS_ARRAY_INSIDE_USER_RAM_AREA(ARRAY) |
Check if the array is inside user area WORK RAM. More... | |
Jo Engine Sega Saturn constants (addresses, memory sizes, etc)
#define JO_IS_ARRAY_INSIDE_USER_RAM_AREA | ( | ARRAY | ) |
Check if the array is inside user area WORK RAM.
ARRAY | An array like char[256] |
#define JO_IS_PTR_INSIDE_USER_RAM_AREA | ( | PTR | ) |
Check if the pointer is inside user area WORK RAM.
PTR | Pointer |
#define JO_VDP1_COPR |
Return the current command table processed.
#define JO_VDP1_EDSR |
Transfer end status.
#define JO_VDP1_ENDR |
Force draw end.
#define JO_VDP1_EWDR |
Erase/write color.
#define JO_VDP1_EWLR |
Erase/write upper-left position.
#define JO_VDP1_EWRR |
Erase/write lower-right position.
#define JO_VDP1_FB |
VDP1 Frame buffer (256 kilobytes)
#define JO_VDP1_FBCR |
Controls the frame buffer.
#define JO_VDP1_LAST_REG |
Last VDP1 I/O register address.
#define JO_VDP1_LOPR |
Return the last command table processed.
#define JO_VDP1_MODR |
Mode status.
#define JO_VDP1_PTMR |
Plot trigger.
#define JO_VDP1_REG |
VDP1 I/O register address.
#define JO_VDP1_TEXTURE_DEF_BASE_ADDRESS |
VDP1 Sprite base address.
#define JO_VDP1_TVMR |
TV mode selection.
#define JO_VDP1_USER_AREA_END_ADDR |
VDP1 user area end address.
#define JO_VDP1_USER_AREA_SIZE |
VDP1 user area size.
#define JO_VDP1_VRAM |
VDP1 VRAM (512 kilobytes)
#define JO_VDP2_BANK_SIZE |
VDP2 VRAM Bank size (128 kilobytes)
#define JO_VDP2_BGON |
#define JO_VDP2_BKTAL |
#define JO_VDP2_BKTAU |
#define JO_VDP2_BMPNA |
#define JO_VDP2_BMPNB |
#define JO_VDP2_CCCTL |
#define JO_VDP2_CCRLB |
#define JO_VDP2_CCRNA |
#define JO_VDP2_CCRNB |
#define JO_VDP2_CCRR |
#define JO_VDP2_CCRSA |
#define JO_VDP2_CCRSB |
#define JO_VDP2_CCRSC |
#define JO_VDP2_CCRSD |
#define JO_VDP2_CHCTLA |
#define JO_VDP2_CHCTLB |
#define JO_VDP2_CLOFEN |
#define JO_VDP2_CLOFSL |
#define JO_VDP2_COAB |
#define JO_VDP2_COAG |
#define JO_VDP2_COAR |
#define JO_VDP2_COBB |
#define JO_VDP2_COBG |
#define JO_VDP2_COBR |
#define JO_VDP2_CRAM |
VDP2 Color RAM (4 kilobytes)
#define JO_VDP2_CRAOFA |
#define JO_VDP2_CRAOFB |
#define JO_VDP2_CYCA0L |
#define JO_VDP2_CYCA0U |
#define JO_VDP2_CYCA1L |
#define JO_VDP2_CYCA1U |
#define JO_VDP2_CYCB0L |
#define JO_VDP2_CYCB0U |
#define JO_VDP2_CYCB1L |
#define JO_VDP2_CYCB1U |
#define JO_VDP2_EXTEN |
#define JO_VDP2_HCNT |
#define JO_VDP2_KTAOF |
#define JO_VDP2_KTCTL |
#define JO_VDP2_LAST_REG |
Last VDP2 I/O register address.
#define JO_VDP2_LCTAL |
#define JO_VDP2_LCTAU |
#define JO_VDP2_LNCLEN |
#define JO_VDP2_LSTA0L |
#define JO_VDP2_LSTA0U |
#define JO_VDP2_LSTA1L |
#define JO_VDP2_LSTA1U |
#define JO_VDP2_LWTA0L |
#define JO_VDP2_LWTA0U |
#define JO_VDP2_LWTA1L |
#define JO_VDP2_LWTA1U |
#define JO_VDP2_MPABN0 |
#define JO_VDP2_MPABN1 |
#define JO_VDP2_MPABN2 |
#define JO_VDP2_MPABN3 |
#define JO_VDP2_MPABRA |
#define JO_VDP2_MPABRB |
#define JO_VDP2_MPCDN0 |
#define JO_VDP2_MPCDN1 |
#define JO_VDP2_MPCDN2 |
#define JO_VDP2_MPCDN3 |
#define JO_VDP2_MPCDRA |
#define JO_VDP2_MPCDRB |
#define JO_VDP2_MPEFRA |
#define JO_VDP2_MPEFRB |
#define JO_VDP2_MPGHRA |
#define JO_VDP2_MPGHRB |
#define JO_VDP2_MPIJRA |
#define JO_VDP2_MPIJRB |
#define JO_VDP2_MPKLRA |
#define JO_VDP2_MPKLRB |
#define JO_VDP2_MPMNRA |
#define JO_VDP2_MPMNRB |
#define JO_VDP2_MPOFN |
#define JO_VDP2_MPOFR |
#define JO_VDP2_MPOPRA |
#define JO_VDP2_MPOPRB |
#define JO_VDP2_MZCTL |
#define JO_VDP2_NBG0_CEL_ADR |
#define JO_VDP2_NBG0_MAP_ADR |
#define JO_VDP2_NBG1_CEL_ADR |
#define JO_VDP2_NBG1_MAP_ADR |
#define JO_VDP2_OVPNRA |
#define JO_VDP2_OVPNRB |
#define JO_VDP2_PLSZ |
#define JO_VDP2_PNCN0 |
#define JO_VDP2_PNCN1 |
#define JO_VDP2_PNCN2 |
#define JO_VDP2_PNCN3 |
#define JO_VDP2_PNCR |
#define JO_VDP2_PRINA |
#define JO_VDP2_PRINB |
#define JO_VDP2_PRIR |
#define JO_VDP2_PRISA |
#define JO_VDP2_PRISB |
#define JO_VDP2_PRISC |
#define JO_VDP2_PRISD |
#define JO_VDP2_RAMCTL |
#define JO_VDP2_REG |
VDP2 I/O register address.
#define JO_VDP2_RESERVE |
#define JO_VDP2_RPMD |
#define JO_VDP2_RPRCTL |
#define JO_VDP2_RPTAL |
#define JO_VDP2_RPTAU |
#define JO_VDP2_SCRCTL |
#define JO_VDP2_SCXDN0 |
#define JO_VDP2_SCXDN1 |
#define JO_VDP2_SCXIN0 |
#define JO_VDP2_SCXIN1 |
#define JO_VDP2_SCXN2 |
#define JO_VDP2_SCXN3 |
#define JO_VDP2_SCYDN0 |
#define JO_VDP2_SCYDN1 |
#define JO_VDP2_SCYIN0 |
#define JO_VDP2_SCYIN1 |
#define JO_VDP2_SCYN2 |
#define JO_VDP2_SCYN3 |
#define JO_VDP2_SDCTL |
#define JO_VDP2_SFCCMD |
#define JO_VDP2_SFCODE |
#define JO_VDP2_SFPRMD |
#define JO_VDP2_SFSEL |
#define JO_VDP2_SPCTL |
#define JO_VDP2_TVMD |
#define JO_VDP2_TVSTAT |
#define JO_VDP2_VCNT |
#define JO_VDP2_VCSTAL |
#define JO_VDP2_VCSTAU |
#define JO_VDP2_VRAM |
VDP2 VRAM (512 kilobytes) = A0 + A1 + B0 + B1.
#define JO_VDP2_VRAM_A0 |
VDP2 VRAM Bank A0 (128 kilobytes)
#define JO_VDP2_VRAM_A1 |
VDP2 VRAM Bank A1 (128 kilobytes)
#define JO_VDP2_VRAM_B0 |
VDP2 VRAM Bank B0 (128 kilobytes)
#define JO_VDP2_VRAM_B1 |
VDP2 VRAM Bank B1 (128 kilobytes)
#define JO_VDP2_VRSIZE |
#define JO_VDP2_WCTLA |
#define JO_VDP2_WCTLB |
#define JO_VDP2_WCTLC |
#define JO_VDP2_WCTLD |
#define JO_VDP2_WPEX0 |
#define JO_VDP2_WPEX1 |
#define JO_VDP2_WPEY0 |
#define JO_VDP2_WPEY1 |
#define JO_VDP2_WPSX0 |
#define JO_VDP2_WPSX1 |
#define JO_VDP2_WPSY0 |
#define JO_VDP2_WPSY1 |
#define JO_VDP2_ZMCTL |
#define JO_VDP2_ZMXDN0 |
#define JO_VDP2_ZMXDN1 |
#define JO_VDP2_ZMXIN0 |
#define JO_VDP2_ZMXIN1 |
#define JO_VDP2_ZMYDN0 |
#define JO_VDP2_ZMYDN1 |
#define JO_VDP2_ZMYIN0 |
#define JO_VDP2_ZMYIN1 |
#define JO_WORK_RAM_BOOT_ROM |
ROM BIOS functions.
#define JO_WORK_RAM_COMMAND_BUFFER |
Command passing buffer from master to slave MAX_POLYGON*32 = 0xE100.
#define JO_WORK_RAM_DMA_TRANSFERT_LIST |
DMA control table for transfer requests during blanking MAX_TRANSFER*3*4BYTE = 0xF0.
#define JO_WORK_RAM_LIGHT_COLORS_BUFFER |
Data table for colors generated due to light source effects 33*32 = 0x420.
#define JO_WORK_RAM_MASTER_CPU_DEFAULT_STACK |
Master CPU stack.
#define JO_WORK_RAM_POLYGON_SORT_ZBUFFER |
Secondary buffer for polygon sort 256*4 = 0x400.
#define JO_WORK_RAM_POLYGON_VERTEX_CALC_BUFFER |
Vertex position buffer for polygon calculations MAX_VERTICES*16 = 0x9C40.
#define JO_WORK_RAM_SLAVE_CPU_STACK_AREA |
Slave CPU stack.
#define JO_WORK_RAM_SORT_LIST |
Table buffer for DMA transfers of sprite control data (MAX_POLYGON+5)*3*4BYTE = 0x549C.
#define JO_WORK_RAM_SPRITE_BUFFER_1 |
Sprite control data buffer (MAX_POSYGON+5)*36 = 0xFDD4.
#define JO_WORK_RAM_SPRITE_BUFFER_2 |
Sprite control data buffer 2 (MAX_POSYGON+5)*36 = 0xFDD4.
#define JO_WORK_RAM_STACK_AREA |
Stack area (0x216C)
#define JO_WORK_RAM_SYSTEM_WORK |
System variable area (the GBR register always points here) 0x400byte.
#define JO_WORK_RAM_SYSTEM_WORK_SIZE |
#define JO_WORK_RAM_UNKNOWN_USAGE |
TODO: UNKNOW USAGE, BUT CAN I USE IT ?
#define JO_WORK_RAM_USER_PROGRAM_AND_DATA |
User area.
#define JO_WORK_RAM_USER_PROGRAM_AND_DATA_END |
Alias to JO_WORK_RAM_SORT_LIST.
#define JO_WORK_RAM_WINDOW_0_ZBUFFER |
Primary buffer for polygon sort (for window 0) 128*4 = 0x200.
#define JO_WORK_RAM_WINDOW_1_ZBUFFER |
Primary buffer 2 polygon sort (for window 1) 128*4 = 0x200.