; ; Zero page variables and I/O definitions for the CBM 510 ; ; Taken from a kernal disassembly done by myself in 2000/2001. ; ; Ullrich von Bassewitz, 13.09.2001 ;----------------------------------------------------------------------------- ; Zeropage stuff ExecReg = $0000 IndReg = $0001 ; --------------------------------------------------------------------------- ; Screen size XSIZE = 40 YSIZE = 25 ;----------------------------------------------------------------------------- ; I/O Definitions ; I/O $d800: VIC VIC_SPR0_X = $00 VIC_SPR0_Y = $01 VIC_SPR1_X = $02 VIC_SPR1_Y = $03 VIC_SPR2_X = $04 VIC_SPR2_Y = $05 VIC_SPR3_X = $06 VIC_SPR3_Y = $07 VIC_SPR4_X = $08 VIC_SPR4_Y = $09 VIC_SPR5_X = $0A VIC_SPR5_Y = $0B VIC_SPR6_X = $0C VIC_SPR6_Y = $0D VIC_SPR7_X = $0E VIC_SPR7_Y = $0F VIC_SPR_HI_X = $10 VIC_SPR_ENA = $15 VIC_SPR_EXP_Y = $17 VIC_SPR_EXP_X = $1D VIC_SPR_MCOLOR = $1C VIC_SPR_BG_PRIO = $1B VIC_SPR_MCOLOR0 = $25 VIC_SPR_MCOLOR1 = $26 VIC_SPR0_COLOR = $27 VIC_SPR1_COLOR = $28 VIC_SPR2_COLOR = $29 VIC_SPR3_COLOR = $2A VIC_SPR4_COLOR = $2B VIC_SPR5_COLOR = $2C VIC_SPR6_COLOR = $2D VIC_SPR7_COLOR = $2E VIC_CTRL1 = $11 VIC_CTRL2 = $16 VIC_HLINE = $12 VIC_VIDEO_ADR = $18 VIC_IRR = $19 ; Interrupt request register VIC_IMR = $1A ; Interrupt mask register VIC_BORDERCOLOR = $20 VIC_BG_COLOR0 = $21 VIC_BG_COLOR1 = $22 VIC_BG_COLOR2 = $23 VIC_BG_COLOR3 = $24 ; I/O $da00: SID 6581 SID_S1Lo = $00 SID_S1Hi = $01 SID_PB1Lo = $02 SID_PB1Hi = $03 SID_Ctl1 = $04 SID_AD1 = $05 SID_SUR1 = $06 SID_S2Lo = $07 SID_S2Hi = $08 SID_PB2Lo = $09 SID_PB2Hi = $0A SID_Ctl2 = $0B SID_AD2 = $0C SID_SUR2 = $0D SID_S3Lo = $0E SID_S3Hi = $0F SID_PB3Lo = $10 SID_PB3Hi = $11 SID_Ctl3 = $12 SID_AD3 = $13 SID_SUR3 = $14 SID_FltLo = $15 SID_FltHi = $16 SID_FltCtl = $17 SID_Amp = $18 SID_ADConv1 = $19 SID_ADConv2 = $1A SID_Noise = $1B SID_Read3 = $1C ; I/O $db00: CIA 6526 Inter Process Communication ; I/O $dc00: CIA 6526 .struct CIA PRA .byte PRB .byte DDRA .byte DDRB .byte .union .struct TALO .byte TAHI .byte .endstruct TA .word .endunion .union .struct TBLO .byte TBHI .byte .endstruct TB .word .endunion TOD10 .byte TODSEC .byte TODMIN .byte TODHR .byte SDR .byte ICR .byte CRA .byte CRB .byte .endstruct ; I/O $dd00: ACIA 6551 .struct ACIA DATA .byte STATUS .byte CMD .byte CTRL .BYTE .endstruct ; I/O $de00: Triport #1 6525 ; I/O $df00: Triport #2 6525 .struct TPI PRA .byte PRB .byte .union PRC .byte INT .byte .endunion DDRA .byte DDRB .byte .union DDRC .byte IMR .byte .endunion CR .byte AIR .byte .endstruct ; Out video memory address COLOR_RAM = $D400 ; System bank