-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsoft80_kplot.s
52 lines (42 loc) · 983 Bytes
/
soft80_kplot.s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//
// Groepaz/Hitmen, 12.10.2015
//
// lowlevel kplot function for the soft80 implementation
//
#import "soft80.inc"
soft80_kplot:
bcs getpos
stx CURS_Y
sty CURS_X
sei
lda $01
pha
lda #$34 // enable RAM under I/O
sta $01
// calc pointer to bitmap
lda soft80_bitmapylo,x
clc
adc soft80_bitmapxlo,y
sta SCREEN_PTR
lda soft80_bitmapyhi,x
adc soft80_bitmapxhi,y
sta SCREEN_PTR+1
tya
and #1
sta soft80_internal_cursorxlsb
// calc pointer to vram
tya
lsr //a
clc
adc soft80_vramlo,x
sta CRAM_PTR
lda #0
adc soft80_vramhi,x
sta CRAM_PTR+1
pla
sta $01
cli
getpos:
ldx CURS_Y
ldy CURS_X
rts