; ; Symbol file for Bally Game CPU ; ============================== ; ; Eight Ball Champ game ROM (U3) ; ============================== ; ; Peter J.C.Clare, 9th January 2000 ; ;============================================================================= ; ; Symbol file syntax ; ~~~~~~~~~~~~~~~~~~ ; ; A symbol file may contain the following commands: ; ; Define the CPU type ; cpu 6800 | 6801 | 6802 | 6803 | 6808 | 6809 ; ; Define a symbol corresponding to a value (usually an address) ; symbol ; ; Define a location that contains a word pointing to a code entry ; (for example, the reset entry point) ; vector
[] ; ; Define a table of vectors (i.e. a jump table) of length ; Each vector will be used as a code entry point if threading is used. ; vectab
[] ; ; Define a code entry point (for code threading) ; code
[] ; ; Define a single data byte, or length array of bytes ; byte
[] ; ; Define a single data word, or length array of words ; word
[] ; ; Define a table of addresses, which point to data, of length ; addrtab
[] ; ; Define a single data character, or length string of chars ; string
[] ; ; ; All commands must occupy a single line. Blank lines are ignored. ; The ';' character starts a comment - all remaining characters on a ; a line are ignored. Number values may be given in decimal (default), ; octal or hex using standard C conventions (e.g. 0x prefix for hex). ; ; The rest of this file serves as a practical example of how these ; commands may be used. ; ;============================================================================= ; ; General 6803 definitions ; cpu 6803 symbol 0x0000 ioPort1ddr symbol 0x0001 ioPort2ddr symbol 0x0002 ioPort1data symbol 0x0003 ioPort2data symbol 0x0008 timerCSR symbol 0x0009 timerHigh symbol 0x000A timerLow symbol 0x000B ocrHigh symbol 0x000C ocrLow symbol 0x000D icrHigh symbol 0x000E icrLow symbol 0x0010 sciModeControl symbol 0x0011 sciTRCS symbol 0x0012 sciRxData symbol 0x0013 sciTxData symbol 0x0014 ramControl vector 0xFFF0 sci_vector sci_entry vector 0xFFF2 tof_vector tof_entry vector 0xFFF4 ocf_vector ocf_entry vector 0xFFF6 icf_vector icf_entry vector 0xFFF8 irq_vector int_entry vector 0xFFFA swi_vector swi_entry vector 0xFFFC nmi_vector nmi_entry vector 0xFFFE res_vector reset ;============================================================================= ; ; General Bally Game CPU hardware definitions ; ; RAM and ROM start addresses symbol 0x0000 u4ram symbol 0x8000 u2rom ;jumpered for 27128 symbol 0xC000 u3rom ;jumpered for 27128 ;============================================================================= ; ; Eight Ball Champ specific definitions ; ; Note: this is by no means a complete set of definitions for ; all the code and data areas - just a selection. ; symbol 0x1017 jumpVector string 0xC001 msgGameId 13 byte 0xC12F byteTable1 28 byte 0xCC26 byteTable2 12 byte 0xF19C byteTable3 395 byte 0xEAD5 byteTable4 206 vectab 0xC011 jumpTable1 13 vectab 0xC02B jumpTable2 35 vectab 0xC073 jumpTable3 2 vectab 0xC077 jumpTable4 4 vectab 0xC2C5 jumpTable5 12 vectab 0xCC32 jumpTable6 11 vectab 0xCDCE jumpTable7 5 vectab 0xE002 jumpTable8 16 vectab 0xC07F vector3 vectab 0xC081 vector4 vectab 0xC085 vector5 vectab 0xC089 vector6 vectab 0xC090 vector7 vectab 0xC094 vector8 vectab 0xC096 vector9 vectab 0xC098 vector10 vectab 0xC09A vector11 vectab 0xC09C vector12 vectab 0xC09E vector13 vectab 0xC0A0 vector14 ;these are vectors in byteTable4 (5 bytes per entry) vectab 0xEB71 vector15 vectab 0xEB76 vector16 vectab 0xEB7B vector17 vectab 0xEB80 vector18 vectab 0xEB85 vector19 vectab 0xEB8A vector20 vectab 0xEB8F vector21 vectab 0xEB94 vector22 vectab 0xEB99 vector23 vectab 0xEB9E vector24 ;target addresses for index jumps code 0xECF0 code 0xED1F code 0xED40 code 0xEEA8 code 0xEF26 ;skip unused bytes at end of ROM just prior to interrupt vectors skip 0xFA56 0x059A