diff --git a/SourceGen/RuntimeData/Apple/Applesoft.sym65 b/SourceGen/RuntimeData/Apple/Applesoft.sym65 index 481a29d..90a4d64 100644 --- a/SourceGen/RuntimeData/Apple/Applesoft.sym65 +++ b/SourceGen/RuntimeData/Apple/Applesoft.sym65 @@ -69,12 +69,14 @@ BAS_AMPERV @ $03F5 3 ;JMP to function that handles Applesoft '&' cmds ; TODO: there are many more ; BAS_ERROR @ $D412 ;print error based on X-reg -BAS_FRMNUM @ $DD67 ;evalute expression at TXTPTR, result into FAC +BAS_FRMNUM @ $DD67 ;call FRMEVL, confirm expr is numeric +BAS_FRMEVL @ $DD7B ;eval expr at TXTPTR (num/str), result into FAC BAS_SYN_ERROR @ $DEC9 ;throw SYNTAX ERROR BAS_CHKCOM @ $DEBE ;checks TXTPTR for comma BAS_ILLQ_ERROR @ $E199 ;throw ILLEGAL QUANTITY ERROR BAS_GETADR @ $E752 ;convert FAC to 2-byte integer in LINNUM BAS_GETBYT @ $E6F8 ;gets byte, in X/FACLO +BAS_QINT @ $EBF2 ;converts FP value in FAC to int in FAC+1..FAC+4 BAS_HFNS @ $F6B9 ;get hi-res x/y for hplot ; diff --git a/SourceGen/RuntimeData/Apple/DOS33.sym65 b/SourceGen/RuntimeData/Apple/DOS33.sym65 index 83b1a2c..bdfc4ba 100644 --- a/SourceGen/RuntimeData/Apple/DOS33.sym65 +++ b/SourceGen/RuntimeData/Apple/DOS33.sym65 @@ -16,3 +16,25 @@ 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_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