mirror of
https://github.com/ksherlock/x65.git
synced 2024-12-28 19:32:25 +00:00
Adding read-only labels to disassembler and Atari 7800 memory map file
- Changed how the instruction lookup is stored to more easily distinguish between read-only and other instructions - Added Atari 7800 labels (a78.lbl) - Added a keyword "read" to declare a read-only version of a data label to the labels file - Fixes to determining addresses representing data or code - Fixed missing data blocks that were exactly 16 bytes
This commit is contained in:
parent
214c32931a
commit
c96399d896
@ -26,6 +26,9 @@ x65dsasm binary disasm.txt [$skip[-$end]] [addr=$xxxx] [cpu=6502/65C02/65816]
|
||||
|
||||
### Updates
|
||||
|
||||
* a78.lbl file defining Atari 7800 hardware addresses
|
||||
* Switched the instruction info around to more easily determine read-only instructions
|
||||
* Various improvements distinguishing between code and data
|
||||
* c64.lbl file defining all c64 hardware addresses
|
||||
* Tracking label references outside of the code including zero page
|
||||
* Data / Code distinction improvements
|
||||
@ -47,13 +50,24 @@ A special data format is pointers indicating a function pointer table, the label
|
||||
defined with a range to limit the size. Each pointer within the pointer table will be
|
||||
assigned a code label.
|
||||
|
||||
If the keyword "pointers" is followed by the word "data" the pointers will be interpreted as
|
||||
data pointers instead of code pointers.
|
||||
|
||||
A label can be redefined with a different name for read-only instructions by using the keyword
|
||||
read after the address. The label must first be defined as a data label to be assigned a
|
||||
read-only name. Read only instructions include ora, and, bit, eor, adc, sbc, lda, ldx, ldy, cmp, cpy and cpx.
|
||||
|
||||
|
||||
Example labels file:
|
||||
|
||||
```
|
||||
TIA_VSYNC = $00 data
|
||||
TIA_CXM0P = $00 read
|
||||
Init = $1000 code Entry point into code
|
||||
SinTable = $1400 data 256 byte sinus table
|
||||
Interrupt = $10f3 code Interrupt code
|
||||
Callbacks = $1123-$112b pointers Array of function pointers
|
||||
MapRefs = $1200-$1240 pointers data Array of data pointers
|
||||
VIC_Sprite0_x = $d000 set sprite 0 x position
|
||||
VIC_Sprite0_y = $d001 set sprite 0 y position
|
||||
VIC_Sprite1_x = $d002 set sprite 1 x position
|
||||
|
100
disassembler/a78.lbl
Normal file
100
disassembler/a78.lbl
Normal file
@ -0,0 +1,100 @@
|
||||
TIA_VSYNC = $00 data
|
||||
TIA_VBLANK = $01 data
|
||||
TIA_WSYNC = $02 data
|
||||
TIA_RSYNC = $03 data
|
||||
TIA_NUSIZ0 = $04 data
|
||||
TIA_NUSIZ1 = $05 data
|
||||
TIA_COLUP0 = $06 data
|
||||
TIA_COLUP1 = $07 data
|
||||
TIA_COLUPF = $08 data
|
||||
TIA_COLUBK = $09 data
|
||||
TIA_CTRLPF = $0A data
|
||||
TIA_REFP0 = $0B data
|
||||
TIA_REFP1 = $0C data
|
||||
TIA_PF0 = $0D data
|
||||
TIA_PF1 = $0E data
|
||||
TIA_PF2 = $0F data
|
||||
TIA_RESP0 = $10 data
|
||||
TIA_RESP1 = $11 data
|
||||
TIA_RESM0 = $12 data
|
||||
TIA_RESM1 = $13 data
|
||||
TIA_RESBL = $14 data
|
||||
TIA_AUDC0 = $15 data
|
||||
TIA_AUDC1 = $16 data
|
||||
TIA_AUDF0 = $17 data
|
||||
TIA_AUDF1 = $18 data
|
||||
TIA_AUDV0 = $19 data
|
||||
TIA_AUDV1 = $1A data
|
||||
TIA_GRP0 = $1B data
|
||||
TIA_GRP1 = $1C data
|
||||
TIA_ENAM0 = $1D data
|
||||
TIA_ENAM1 = $1E data
|
||||
TIA_ENABL = $1F data
|
||||
TIA_HMP0 = $20 data
|
||||
TIA_HMP1 = $21 data
|
||||
TIA_HMM0 = $22 data
|
||||
TIA_HMM1 = $23 data
|
||||
TIA_HMBL = $24 data
|
||||
TIA_VDELP0 = $25 data
|
||||
TIA_VDELP1 = $26 data
|
||||
TIA_VDELBL = $27 data
|
||||
TIA_RESMP0 = $28 data
|
||||
TIA_RESMP1 = $29 data
|
||||
TIA_HMOVE = $2A data
|
||||
TIA_HMCLR = $2B data
|
||||
TIA_CXCLR = $2C data
|
||||
|
||||
TIA_CXM0P = $00 read
|
||||
TIA_CXM1P = $01 read
|
||||
TIA_CXP0FB = $02 read
|
||||
TIA_CXP1FB = $03 read
|
||||
TIA_CXM0FB = $04 read
|
||||
TIA_CXM1FB = $05 read
|
||||
TIA_CXBLPF = $06 read
|
||||
TIA_CXPPMM = $07 read
|
||||
TIA_INPT0 = $08 read
|
||||
TIA_INPT1 = $09 read
|
||||
TIA_INPT2 = $0A read
|
||||
TIA_INPT3 = $0B read
|
||||
TIA_INPT4 = $0C read
|
||||
TIA_INPT5 = $0D read
|
||||
|
||||
MARIA_Bkg_col = $0020 data
|
||||
MARIA_pal_0_col_1 = $0021 data
|
||||
MARIA_pal_0_col_2 = $0022 data
|
||||
MARIA_pal_0_col_3 = $0023 data
|
||||
MARIA_Wait_Sync = $0024 data
|
||||
MARIA_pal_1_col_1 = $0025 data
|
||||
MARIA_pal_1_col_2 = $0026 data
|
||||
MARIA_pal_1_col_3 = $0027 data
|
||||
MARIA_Status = $0028 data
|
||||
MARIA_pal_2_col_1 = $0029 data
|
||||
MARIA_pal_2_col_2 = $002A data
|
||||
MARIA_pal_2_col_3 = $002B data
|
||||
MARIA_Disp_List_Hi = $002C data
|
||||
MARIA_pal_3_col_1 = $002D data
|
||||
MARIA_pal_3_col_2 = $002E data
|
||||
MARIA_pal_3_col_3 = $002F data
|
||||
MARIA_Disp_List_Lo = $0030 data
|
||||
MARIA_pal_4_col_1 = $0031 data
|
||||
MARIA_pal_4_col_2 = $0032 data
|
||||
MARIA_pal_4_col_3 = $0033 data
|
||||
MARIA_Charbase = $0034 data
|
||||
MARIA_pal_5_col_1 = $0035 data
|
||||
MARIA_pal_5_col_2 = $0036 data
|
||||
MARIA_pal_5_col_3 = $0037 data
|
||||
MARIA_pal_6_col_1 = $0039 data
|
||||
MARIA_pal_6_col_2 = $003A data
|
||||
MARIA_pal_6_col_3 = $003B data
|
||||
MARIA_CTRL = $003C data
|
||||
MARIA_pal_7_col_1 = $003D data
|
||||
MARIA_pal_7_col_2 = $003E data
|
||||
MARIA_pal_7_col_3 = $003F data
|
||||
|
||||
RIOT_IO = $0280 data
|
||||
RIOT_IO_END = $0300 data
|
||||
RIOT_RAM = $0480 data
|
||||
RIOT_RAM_END = $0500 data
|
||||
RAM = $1800 data
|
||||
RAM_END = $2800 data
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user