more reference material and working text blit

This commit is contained in:
David Stancu 2018-01-28 17:29:30 -05:00
parent 1ec7f27dcc
commit 3d01ea6af6
2 changed files with 43 additions and 15 deletions

View File

@ -46,4 +46,5 @@ There are a lot of good materials out there: here is what I used to make this ga
- [SNES CPU overview, same CPU, nice insights](https://github.com/michielvoo/SNES/wiki/CPU) - [SNES CPU overview, same CPU, nice insights](https://github.com/michielvoo/SNES/wiki/CPU)
- [SNES opcode list](http://wiki.metroidconstruction.com/doku.php?id=super:technical_information:asm_mnemonics) - [SNES opcode list](http://wiki.metroidconstruction.com/doku.php?id=super:technical_information:asm_mnemonics)
- [65816 primer](http://softpixel.com/~cwright/sianse/docs/65816NFO.HTM) - [65816 primer](http://softpixel.com/~cwright/sianse/docs/65816NFO.HTM)
- [Another 6502 reference, insightful](https://github.com/wiz-lang/wiz/wiki/Registers-and-Memory-(6502)) - [Another 6502 reference, insightful](https://github.com/wiz-lang/wiz/wiki/Registers-and-Memory-(6502))
- [65816 interrupts guide](http://6502.org/tutorials/65c816interrupts.html)

View File

@ -23,28 +23,25 @@
stal $00C051 ; select text mode only. "only"? stal $00C051 ; select text mode only. "only"?
ldal $00C054 ; select text page 1 (there are 2) ldal $00C054 ; select text page 1 (there are 2)
ldal $00C056 ; select "low res" graphics ldal $00C056 ; select "low res" graphics
rep #$30 ; go back to 16-bit mode
; ok, we are done toggling switches, let's go make a string ldx #hithere+2 ; strl, first two bytes are strlen, # denotes immediate addr val
rep #$20 ldy #$0400 ; start of text buffer on 00
ldal hithere
dec
ldx #2 mvn $02, $00
:loopy nop brk
lda hithere,x
stal $000400,x
cpx hithere
inx
bcs outbrk
jmp :loopy
outbrk brk
; Important locations ; Important locations
SPEAKER equ $E0C030 SPEAKER equ $E0C030
PRODOS16 equ $E100A8 PRODOS16 equ $E100A8
jsl PRODOS16 jsl PRODOS16
; This exit code is "device busy", why is it the only one
; that works?! ; This exit code is "device busy", why is it the only one
; that works?!
da $29 da $29
adrl QP adrl QP
bcs ERROR bcs ERROR
@ -377,6 +374,36 @@ hithere strl "this was excruciating"