1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-08-20 11:28:58 +00:00
6502bench/SourceGen/RuntimeData/Apple/F8-ROM-nozp.sym65
Andy McFadden 0fc121c9cb Add ability to "erase" previously-defined platform symbols
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.)
2019-10-27 11:09:16 -07:00

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