Displaying text: Difference between revisions
Jump to navigation
Jump to search
m (4 revisions: Import from wikkii) |
mNo edit summary |
||
Line 27: | Line 27: | ||
"ASCIISTART" should be the fix tile number corresponding to ASCII value 0. This depends on what tileset you are using. Usually, onboard fix tilesets have a full 8x8 font starting at tile #0. | "ASCIISTART" should be the fix tile number corresponding to ASCII value 0. This depends on what tileset you are using. Usually, onboard fix tilesets have a full 8x8 font starting at tile #0. | ||
The VRAM address is calculated from the desired text position: D1=#FIXMAP+(Y+2+((X+1)*32)) | The VRAM address is calculated from the desired text position: D1=#FIXMAP+(Y+2+((X+1)*32)), [[68k ASM defines|"FIXMAP"]] being #$7000. | ||
[[ASM | |||
[[Category:Code]] | [[Category:Code]] |
Revision as of 13:24, 28 June 2011
ASM routine for displaying text with a 8x8 pixel font on the fix layer:
;Displays text pointed by A0 at the VRAM address in D1. $FF:Next line, $00:End of text. ;Uses A0, D0 and REG_VRAMMOD. ASCIISTART is the character 0 fix tile. Write8Text: move.w d1,VRAM_ADDR move.w #$20,VRAM_MOD .textmaplp: clr.w d0 move.b (a0)+,d0 tst.b d0 beq .textmapend cmp.b #$FF,d0 bne .nolinejump addq.w #1,d1 move.w d1,VRAM_ADDR bra .textmaplp .nolinejump: addq.w ASCIISTART,d0 move.w d0,VRAM_RW bra textmaplp .textmapend: rts
"ASCIISTART" should be the fix tile number corresponding to ASCII value 0. This depends on what tileset you are using. Usually, onboard fix tilesets have a full 8x8 font starting at tile #0.
The VRAM address is calculated from the desired text position: D1=#FIXMAP+(Y+2+((X+1)*32)), "FIXMAP" being #$7000.