mirror of
https://github.com/Russell-S-Harper/COMMON.git
synced 2025-02-20 07:29:07 +00:00
commit
c63ed4ea0c
@ -16,7 +16,7 @@ Why 6502 and not, for example, x86?
|
||||
|
||||
* 6502 assembler is very easy and has a large archive of existing functions
|
||||
* existing 6502 SWEET16 already has the “hard work” done
|
||||
* interesting to see it run in newer versions of 6502 processors
|
||||
* interesting to see it run in newer faster versions of 6502 processors
|
||||
* how do you think Bender does what he does? (or the Terminator!)
|
||||
|
||||
In progress:
|
||||
@ -34,7 +34,7 @@ The meat of the project:
|
||||
Auxiliary:
|
||||
|
||||
* `emulator/*`: 6502 emulator (borrowed Mike Chambers’ Fake6502 CPU emulator v1.1 ©2011)
|
||||
* `xa-pre-process/*`: utility `xapp` to convert 32-bit fixed decimal quantities so that `xa` can use them
|
||||
* `xa-pre-process/*`: my utility `xapp` to convert 32-bit fixed decimal quantities so that `xa` can use them
|
||||
|
||||
Right now, for testing purposes, the code builds everything into one file `system.obj` and runs the code in the last block loaded, in this case, the code corresponding to `page6.src`. Eventually will support decoupling of system and application files. Application files will be inherently relocatable.
|
||||
|
||||
|
@ -43,7 +43,7 @@ _3 TAX ; save operand for later
|
||||
ASL ; shift to get offset to register
|
||||
ASL
|
||||
TAX ; back to index
|
||||
RTS ; "return" to routine
|
||||
RTS ; "return" to routine
|
||||
_4 TXA ; get operand
|
||||
ASL ; shift to get offset to 0X instructions
|
||||
TAY
|
||||
@ -52,7 +52,7 @@ _4 TXA ; get operand
|
||||
LDA FN_0X,Y ; push low address
|
||||
PHA
|
||||
TXA ; restore operand
|
||||
RTS ; "return" to routine
|
||||
RTS ; "return" to routine
|
||||
_5 TXA ; get operand
|
||||
AND #$F ; mask to get index
|
||||
ASL ; shift to get offset to FX instructions
|
||||
@ -408,7 +408,7 @@ _ABSX .( ; sets register at X to absolute value
|
||||
RTS
|
||||
.)
|
||||
|
||||
_BKRRD .( ; implement banker's rounding on quadword pointed by X
|
||||
_BKRRD .( ; implement banker's rounding on quad-word pointed by X
|
||||
|
||||
; The logic table below shows the expected results. The only differences are
|
||||
; when the least significant byte (LSB) is 128 and the second byte (2B) is even
|
||||
@ -736,7 +736,7 @@ _6 JMP _RETI0X ; pull X, transfer I0 to r register, let it handle the return
|
||||
_MOD .(
|
||||
RTS
|
||||
.)
|
||||
|
||||
|
||||
_ESC .( ; ESC 00 - escape back into regular assembler
|
||||
PLA ; discard the COMMON _1 return address
|
||||
PLA
|
||||
|
Loading…
x
Reference in New Issue
Block a user