mirror of
https://github.com/fadden/6502bench.git
synced 2024-11-03 23:06:09 +00:00
0fc121c9cb
While disassembling some code I found that I wanted the ROM entry points, but the zero page usage was significantly different and the ROM labels were distracting. Splitting the symbol file in two was a possibility, but I'm afraid this will lead to a very large collection of very small files, and we'll lose any sense of relation between the ROM entry points and the ZP addresses used to pass arguments. Platform symbols have the lowest priority when resolving by address, but using that to hide the unwanted labels requires creating project symbols or local variables for things that you might not know what they do yet. It's possible to hide a platform symbol by adding another symbol with the same label and an invalid value. This change formalizes and extends the "hiding" of platform symbols to full erasure, so that they don't clutter up the symbol table. This also tightens up the platform symbol parser to only accept values in the range 0 <= value <= 0x00ffffff (24-bit positive integers). An "F8-ROM-nozp" symbol file is now part of the standard set. A project can include that to erase the zero-page definitions. (I'm not entirely convinced this is the right approach, so I'm not doing this treatment on other symbol files... consider this an experiment. Another approach would be some sort of conditional inclusion, or perhaps erase-by-tag, but that requires some UI work in the app to define what you want included or excluded.)
46 lines
1.2 KiB
Plaintext
46 lines
1.2 KiB
Plaintext
; Copyright 2019 faddenSoft. All Rights Reserved.
|
|
; See the LICENSE.txt file for distribution terms (Apache 2.0).
|
|
|
|
;
|
|
; Sometimes code uses the ROM entry points but redefines the zero-page
|
|
; addresses for its own purposes. Having the MON_* symbols is distracting.
|
|
; This erases them from the symbol table.
|
|
;
|
|
; To use: include this file, and ensure it comes after F8-ROM.sym65 in
|
|
; the platform symbol file list.
|
|
;
|
|
|
|
*SYNOPSIS Remove monitor ROM zero-page symbols
|
|
|
|
MON_WNDLEFT @ erase
|
|
MON_WNDWDTH @ erase
|
|
MON_WNDTOP @ erase
|
|
MON_WNDBTM @ erase
|
|
MON_CH @ erase
|
|
MON_CV @ erase
|
|
MON_GBASL @ erase
|
|
MON_GBASH @ erase
|
|
MON_H2 @ erase
|
|
MON_V2 @ erase
|
|
MON_COLOR @ erase
|
|
MON_INVFLAG @ erase
|
|
MON_PROMPT @ erase
|
|
MON_CSWL @ erase
|
|
MON_CSWH @ erase
|
|
MON_KSWL @ erase
|
|
MON_KSWH @ erase
|
|
MON_PCL @ erase
|
|
MON_PCH @ erase
|
|
MON_A1L @ erase
|
|
MON_A1H @ erase
|
|
MON_A2L @ erase
|
|
MON_A2H @ erase
|
|
MON_A3L @ erase
|
|
MON_A3H @ erase
|
|
MON_A4L @ erase
|
|
MON_A4H @ erase
|
|
MON_A5L @ erase
|
|
MON_A5H @ erase
|
|
MON_RNDL @ erase
|
|
MON_RNDH @ erase
|