#define OFFSET_WRAM 0x0
#define OFFSET_JUMPTBL 0x800
#define OFFSET_STORE_PPU_FUNCTBL 0x1800
#define OFFSET_STORE_IO_FUNCTBL 0x1820
#define OFFSET_STOREFUNC_TBL 0x18c0
#define OFFSET_LOADFUNC_TBL 0x18e4
#define OFFSET_LOAD_IO_FUNCTBL 0x1908
#define OFFSET_MMC5_STOREFUNC_TBL 0x1968
#define OFFSET_PAGE_TABLE 0x1a38
#define OFFSET_PPU2000H_OUTPUT 0x1a58
#define OFFSET_PPU2000H 0x1a60
#define OFFSET_QD4030H 0x1a68
#define OFFSET_EMUFRAME 0x1a6c
#define OFFSET_HEADERP 0x1a70
#define OFFSET_PRGROM 0x1a74
#define OFFSET_CHRROM 0x1a78
#define OFFSET_PRGSIZE 0x1a7c
#define OFFSET_CHRSIZE 0x1a80
#define OFFSET_CHR_OFFSET_MASK 0x1a84
#define OFFSET_QD4025H_RELEASE 0x1a88
#define OFFSET_QD4025H_TRIGGER 0x1a89
#define OFFSET_QD4025H_BAK 0x1a8a
#define OFFSET_QD_DIRTY 0x1a8b
#define OFFSET_MMC1_BIGROM 0x1a8c
#define OFFSET_DUMMY3 0x1a90
#define OFFSET_QD_INFO_BLOCK 0x1a94
#define OFFSET_QDIMAGE 0x1a9c
#define OFFSET_UCODE_WORKP 0x1aa0
#define OFFSET_QDOFFSET 0x1aa4
#define OFFSET_QD4020H 0x1aa8
#define OFFSET_GFXPTR 0x1ab0
#define OFFSET_CHRBANK_FUNCP 0x1ab4
#define OFFSET_LINECNT_OVER_FUNCP 0x1ab8
#define OFFSET_THREAD_STORE_DONE 0x1abc
#define OFFSET_THREAD_JUMPTBLP 0x1ac0
#define OFFSET_THREAD_PAGE_PTR 0x1ac4
#define OFFSET_THREAD_LINECYCLE 0x1ac8
#define OFFSET_WORK_RSPSIGNAL 0x1acc
#define OFFSET_THREAD_PC 0x1ad0
#define OFFSET_THREAD_RA 0x1ad4
#define OFFSET_THREAD_GP 0x1ad8
#define OFFSET_TRACE_FLAG 0x1adc
#define OFFSET_SOUNDCYCLE 0x1ae0
#define OFFSET_MMC3_R0 0x1ae4
#define OFFSET_MMC3_R1 0x1ae5
#define OFFSET_MMC3_R2 0x1ae6
#define OFFSET_MMC3_R3 0x1ae7
#define OFFSET_MMC3_R4 0x1ae8
#define OFFSET_MMC3_R5 0x1ae9
#define OFFSET_MMC3_R6 0x1aea
#define OFFSET_MMC3_R7 0x1aeb
#define OFFSET_MMC3_POINTER 0x1aec
#define OFFSET_STRIKEF_LINE 0x1aed
#define OFFSET_SUN5_CMD 0x1aee
#define OFFSET_SUN5_IRQ_L 0x1aef
#define OFFSET_SUN5_IRQ_H 0x1af0
#define OFFSET_VRC4_IRQ_L 0x1af1
#define OFFSET_VRC4_IRQ_H 0x1af2
#define OFFSET_VRC4_MAPMODE 0x1af3
#define OFFSET_VRC4_PBANK 0x1af4
#define OFFSET_VRC6_IRQ 0x1af5
#define OFFSET_VRC6_IRQ_SELECT 0x1af6
#define OFFSET_VRC6_REG_SWAP 0x1af7
#define OFFSET_VRC6_IRQ_REG 0x1af8
#define OFFSET_LINECNT_IRQ_ENABLED 0x1af9
#define OFFSET_IRQ_CAUSE 0x1afa
#define OFFSET_MMC1_SHIFTCOUNT 0x1afb
#define OFFSET_MMC1_SHIFTREG 0x1afc
#define OFFSET_MMC1_R0 0x1afd
#define OFFSET_MMC1_R1 0x1afe
#define OFFSET_MMC1_R2 0x1aff
#define OFFSET_MMC1_R3 0x1b00
#define OFFSET_MMC1_ROMBANK 0x1b01
#define OFFSET_MMC1_RAMBANK 0x1b02
#define OFFSET_MMC1_IGNORE_CHRBANK 0x1b03
#define OFFSET_MMC1_DQ4_MODE 0x1b04
#define OFFSET_MMC5_MULT_SRC 0x1b05
#define OFFSET_MMC5_BR3 0x1b06
#define OFFSET_MMC5_BR4 0x1b07
#define OFFSET_MMC5_BR5 0x1b08
#define OFFSET_MMC5_BR6 0x1b09
#define OFFSET_MMC5_BR7 0x1b0a
#define OFFSET_FORCE_MEDIA_SENSE_FLAG 0x1b0b
#define OFFSET_MMC5_AMODE_PAMODE 0x1b0c
#define OFFSET_MMC5_PBREX 0x1b0e
#define OFFSET_SS_PBANK0 0x1b10
#define OFFSET_SS_CHRBANK0 0x1b16
#define OFFSET_SS_IRQL 0x1b26
#define OFFSET_SS_IRQH 0x1b28
#define OFFSET_VRC4_LINECNT_SAVE 0x1b2a
#define OFFSET_CHRSEG_FOR_READ 0x1b2c
#define OFFSET_LINECNT 0x1b2e
#define OFFSET_LINECNT_IRQ 0x1b30
#define OFFSET_LINECNT_IRQ_PRESET 0x1b32
#define OFFSET_PPU_ADDR 0x1b34
#define OFFSET_VRAM_MIRROR_MASK_AND 0x1b36
#define OFFSET_VRAM_MIRROR_MASK_OR 0x1b38
#define OFFSET_DRAW_SCCV 0x1b3a
#define OFFSET_DRAW_SCCV_NEW 0x1b3c
#define OFFSET_PC 0x1b3e
#define OFFSET_WORK_4010H_OUTPUT 0x1b40
#define OFFSET_A 0x1b42
#define OFFSET_X 0x1b43
#define OFFSET_Y 0x1b44
#define OFFSET_SP 0x1b45
#define OFFSET_WORK_Z 0x1b46
#define OFFSET_WORK_C 0x1b47
#define OFFSET_WORK_V 0x1b48
#define OFFSET_WORK_N 0x1b49
#define OFFSET_WORK_RBDI 0x1b4a
#define OFFSET_PBANK_MASK 0x1b4b
#define OFFSET_GFX_SELBUF 0x1b4c
#define OFFSET_GFX_SELBUF_NEXT 0x1b4d
#define OFFSET_PALETTE_CHANGE_COUNT 0x1b4e
#define OFFSET_BG_CHRBANK_TOUCH_FLAG 0x1b4f
#define OFFSET_OBJ_CHRBANK_TOUCH_FLAG 0x1b50
#define OFFSET_DRAW_BG_CHRBANK_COUNT 0x1b51
#define OFFSET_BG_CHRBANK_CHANGE_COUNT 0x1b52
#define OFFSET_DRAW_OBJ_CHRBANK_COUNT 0x1b53
#define OFFSET_OBJ_CHRBANK_CHANGE_COUNT 0x1b54
#define OFFSET_DRAW_SCCH 0x1b55
#define OFFSET_SUN4 0x1b56
#define OFFSET_SUN4_VROM_ENABLED 0x1b57
#define OFFSET_SUN4_VROM0 0x1b58
#define OFFSET_SUN4_VROM1 0x1b59
#define OFFSET_OAM_CHANGE_COUNT 0x1b5a
#define OFFSET_WORK_4015H_OUTPUT 0x1b5b
#define OFFSET_WORK_4016H 0x1b5c
#define OFFSET_WORK_4017H 0x1b5d
#define OFFSET_SOUND_CYCLE_DIVIDER 0x1b5e
#define OFFSET_PC_HIST_OFFSET 0x1b5f
#define OFFSET_FORCE_STRUCTURE_ALIGNMENT 0x1b60
#define OFFSET_CHRBANK_REG0000 0x1b68
#define OFFSET_CHRBANK_REG0400 0x1b6a
#define OFFSET_CHRBANK_REG0800 0x1b6c
#define OFFSET_CHRBANK_REG0C00 0x1b6e
#define OFFSET_CHRBANK_REG1000 0x1b70
#define OFFSET_CHRBANK_REG1400 0x1b72
#define OFFSET_CHRBANK_REG1800 0x1b74
#define OFFSET_CHRBANK_REG1C00 0x1b76
#define OFFSET_MMC5_PBR0 0x1b78
#define OFFSET_MMC5_EXRAM 0x1b98
#define OFFSET_OAM 0x1fa0
#define OFFSET_BBRAM 0x20a0
#define OFFSET_TRAINER 0x40a0
#define OFFSET_PALETTE_BUF 0x42a0
#define OFFSET_SERIAL4016D1 0x42c0
#define OFFSET_SERIAL4016D0 0x42c4
#define OFFSET_SERIAL4017D5 0x42c8
#define OFFSET_SERIAL4017D4 0x42cc
#define OFFSET_SERIAL4017D3 0x42d0
#define OFFSET_SERIAL4017D2 0x42d4
#define OFFSET_SERIAL4017D1 0x42d8
#define OFFSET_SERIAL4017D0 0x42dc
#define OFFSET_WORK_4016D1 0x42e0
#define OFFSET_WORK_4016D0 0x42e4
#define OFFSET_WORK_4017D5 0x42e8
#define OFFSET_WORK_4017D4 0x42ec
#define OFFSET_WORK_4017D3 0x42f0
#define OFFSET_WORK_4017D2 0x42f4
#define OFFSET_WORK_4017D1 0x42f8
#define OFFSET_WORK_4017D0 0x42fc
#define OFFSET_GFXBUF 0x4300
#define OFFSET_GFXBUF2 0x86300
#define OFFSET_PC_HIST_BUF 0x86ec0
#define SIZEOF_RFCSTATE_OBJECT 0x86fc0
#ifndef __OFFSET_PL__
#undef KS_DEBUG
#ifndef KS_DEBUG
#undef ksPrintf
#define ksPrintf #
#else
#ifndef ksPrintf
#define ksPrintf osSyncPrintf
#endif
#endif
#define BG_BANK_CHANGE_COUNT_MAX 16
#define SIZEOF_BG_CHRBANK_TBL    ((BG_BANK_CHANGE_COUNT_MAX+1)*2*4)
#define OBJ_BANK_CHANGE_COUNT_MAX 8
#define SIZEOF_OBJ_CHRBANK_TBL   ((OBJ_BANK_CHANGE_COUNT_MAX+1)*2*8)
#define SIZEOF_DRAW_LIST         (8*240)
#define PALETTE_CHANGE_COUNT_MAX 8
#define SIZEOF_DRAW_PALETTE_BUF  (0x20*(PALETTE_CHANGE_COUNT_MAX+1))
#define SIZEOF_OAM               0x100
#define SIZEOF_OBJCHR            (0x20*0x40)
#define KS_RFC_VRAM_SIZE         0x800
#define SIZEOF_DRAW_VRAM         (KS_RFC_VRAM_SIZE*2)
#define SIZEOF_DRAW_AT_VRAM      0x400
#define SIZEOF_CHR_TOUCH_FLAG    (SIZEOF_DRAW_CHR/0x2000)
#if 0
#define SIZEOF_DRAW_CHR          0x10000 
#else
#define SIZEOF_DRAW_CHR          0x80000 
#endif
#define SIZEOF_LINE_INDEX_BUF    (256*240)
#define OFFSET_GFX_DRAW_2000H     0
#define OFFSET_GFX_DRAW_2001H     1
#define OFFSET_GFX_NEXT_LINE      2
#define OFFSET_GFX_DRAW_SCCH      3
#define OFFSET_GFX_DRAW_VRAM_ADDR 4
#define OFFSET_GFX_DRAW_BG_BANK   5
#define OFFSET_GFX_DRAW_OBJ_BANK  6
#define OFFSET_GFX_DRAW_VROM_R    7
#define OFFSET_GFXBUF_DRAW_LIST   0
#define OFFSET_GFXBUF_OAM0        (OFFSET_GFXBUF_DRAW_LIST+SIZEOF_DRAW_LIST)
#define OFFSET_GFXBUF_OAM1        (OFFSET_GFXBUF_OAM0+SIZEOF_OAM)
#define OFFSET_GFXBUF_OBJ_CHRBANK_TBL (OFFSET_GFXBUF_OAM1+SIZEOF_OAM)
#define OFFSET_GFXBUF_BG_CHRBANK_TBL  (OFFSET_GFXBUF_OBJ_CHRBANK_TBL+SIZEOF_OBJ_CHRBANK_TBL)
#define OFFSET_GFXBUF_PALETTE0    (OFFSET_GFXBUF_BG_CHRBANK_TBL+SIZEOF_BG_CHRBANK_TBL+8) 
#define OFFSET_GFXBUF_DRAW_VRAM   (OFFSET_GFXBUF_PALETTE0+SIZEOF_DRAW_PALETTE_BUF)
#define OFFSET_GFXBUF_CHR_TOUCH_FLAG (OFFSET_GFXBUF_DRAW_VRAM+SIZEOF_DRAW_VRAM+SIZEOF_DRAW_AT_VRAM)
#define OFFSET_GFXBUF_DRAW_CHR    (OFFSET_GFXBUF_CHR_TOUCH_FLAG+SIZEOF_CHR_TOUCH_FLAG)
#define SIZEOF_GFXBUF             (OFFSET_GFXBUF_DRAW_CHR+SIZEOF_DRAW_CHR)
#define SIZEOF_GFXBUF2            OFFSET_GFXBUF_DRAW_VRAM
#define OFFSET_UCODEWK_OBJCHR0    0
#define OFFSET_UCODEWK_OBJCHR1    (OFFSET_UCODEWK_OBJCHR0+SIZEOF_OBJCHR)
#define OFFSET_UCODEWK_DRAW_VRAM  (OFFSET_UCODEWK_OBJCHR1+SIZEOF_OBJCHR)
#define OFFSET_UCODEWK_CHR_TOUCH_FLAG (OFFSET_UCODEWK_DRAW_VRAM+SIZEOF_DRAW_VRAM)
#define OFFSET_UCODEWK_DRAW_CHR   (OFFSET_UCODEWK_CHR_TOUCH_FLAG+SIZEOF_CHR_TOUCH_FLAG)
#define OFFSET_UCODEWK_LINE_INDEX (OFFSET_UCODEWK_DRAW_CHR+SIZEOF_DRAW_CHR+256*0x10) 
#define SIZEOF_UCODEWK            (OFFSET_UCODEWK_LINE_INDEX+SIZEOF_LINE_INDEX_BUF+256*0x30) 
#endif
