1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-12-12 21:29:30 +00:00
6502bench/SourceGen/RuntimeData/Apple/DOS33.sym65
Andy McFadden 5b75ae35fc Fix ANDImm flag updater
For nonzero values we were leaving Z=prev, which is wrong when Z=0
because the AND result might be zero.  Now if Z=1 we leave it alone,
but if Z=0 we now set it to Z=?.

Test 1003-flags-and-branches was testing for the (incorrect)
behavior, so we're now running into a BRK.  This is fine.
2020-02-01 16:41:44 -08:00

42 lines
1.8 KiB
Plaintext

; Copyright 2018 faddenSoft. All Rights Reserved.
; See the LICENSE.txt file for distribution terms (Apache 2.0).
;
; Source: Beneath Apple DOS
*SYNOPSIS DOS 3.3 public addresses and constants.
DOS_WRM @ $03d0 ;DOS warmstart entry point
DOS_CLD @ $03d3 ;DOS coldstart entry point
DOS_FM @ $03d6 ;DOS file manager entry point
DOS_RWTS @ $03d9 ;RWTS entry point
DOS_LOCFPL @ $03dc ;loads Y/A with address of FM param list
DOS_LOCRPL @ $03e3 ;loads Y/A with address of RWTS IOB
DOS_CHARIO @ $03ea ;jumps to routine that connects DOS KSW/CSW
; I/O scratchpad RAM addresses
; See Apple II Reference Manual table 26 (page 83)
DOS_BOOT_SLOT @ $05f8 ;disk controller boot slot
DOS_FILE_LENGTH @ $aa60 2 ;range length for LOAD and BLOAD
DOS_FILE_ADDRESS @ $aa72 2 ;address of last file loaded
RWTS_ENTRY @ $b7b5 ;disable interrupts and call RWTS
RWTS_PARAM_BLOCK @ $b7e8 ;RWTS parameter block
RWTS_TABLE_TYPE @ $b7e8 ;table type, must be $01
RWTS_SLOT_NUM @ $b7e9 ;slot number times 16
RWTS_DRIVE_NUM @ $b7ea ;drive number (1 or 2)
RWTS_VOL_EXP @ $b7eb ;volume number expected (0 matches all)
RWTS_TRACK_NUM @ $b7ec ;track number (0 - 34)
RWTS_SECTOR_NUM @ $b7ed ;sector number (0-15)
RWTS_DCT @ $b7ee 2 ;pointer to Device Characteristics Table
RWTS_BUF @ $b7f0 2 ;pointer to data buffer for READ/WRITE
;RWTS_UNUSED @ $b7f2
RWTS_PARTIAL_COUNT @ $b7f3 ;byte count for partial sector
RWTS_CMD_CODE @ $b7f4 ;0=seek, 1=read, 2=write, 4=format
RWTS_ERR_CODE @ $b7f5 ;err code (when carry set)
; $10=write protected, $20=volume mismatch, $40=drive error, $08=INIT error
RWTS_VOL_FOUND @ $b7f6 ;volume number found
RWTS_SLOT_FOUND @ $b7f7 ;slot number found
RWTS_DRIVE_FOUND @ $b7f8 ;drive number found