@@ -33,9 +33,16 @@ goodbye:
33
33
.org $ 200
34
34
. byte "VMU SFR poke " ; ................... 16-byte Title
35
35
. byte "by https://github.com/jvsTSX " ; ... 32-byte Description
36
+
36
37
.org $ 240 ; >>> ICON HEADER
37
- .org $ 260 ; >>> PALETTE TABLE
38
- .org $ 280 ; >>> ICON DATA
38
+ .include icon "SFRpoke_DCicon.gif"
39
+
40
+
41
+
42
+
43
+
44
+
45
+
39
46
40
47
; /////////////////////////////////////////////////////////////
41
48
; /// GAME CODE ///
@@ -65,8 +72,6 @@ Flags = $F
65
72
; ////// START
66
73
Start: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
67
74
xor ACC
68
- ; st IE ; disable ints to configure them first
69
- ; st P3INT ; i don't want joypad ints
70
75
mov #% 10000000 , VCCR ; LCD ON
71
76
mov #% 00001001 , MCR ; LCD REFRESH ON, LCD GRAPHICS MODE, 83HZ
72
77
mov #% 10100001 , OCR
@@ -155,12 +160,9 @@ SkipInputs:
155
160
MainLoop: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MAIN START
156
161
ld P3 ; get keys from port 3
157
162
st C
158
-
159
- ; st $185 ; input test
160
163
161
164
ld LastKeys
162
165
be C , SkipInputs
163
- st B
164
166
ld C
165
167
st LastKeys
166
168
be # $ FF , SkipInputs ; whenever the routine enters on key release
@@ -268,6 +270,9 @@ BitEdit: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
268
270
CommonInputs: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
269
271
270
272
bp C , 4 , .NoA ; write
273
+ push C ; if you write to these, it breaks the app if you do
274
+ push PSW ; so backing 'em up just in case
275
+
271
276
ld SFRselect
272
277
st 2
273
278
bp PokeMode , 1 , .WrSecondhalf
@@ -288,6 +293,8 @@ CommonInputs: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
288
293
bn PokeMode , 0 , .WrModeICON
289
294
set1 T1CNT , 7
290
295
set1 BTCR , 6
296
+ pop PSW
297
+ pop C
291
298
jmpf goodbye ; or else EXIT
292
299
293
300
.WrModeICON:
@@ -301,6 +308,9 @@ CommonInputs: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
301
308
st @r2
302
309
set1 Flags , 7
303
310
311
+ pop PSW
312
+ pop C
313
+
304
314
bn Flags , 0 , .NoA
305
315
set1 Flags , 3
306
316
.NoA:
@@ -426,14 +436,6 @@ EnterMain: ; main loop starts at here for the first time, so graphics are initia
426
436
; this looks stupid but trust me
427
437
; a propper loop wouldn't be much better lol
428
438
429
- ldc
430
- st $ 1B4
431
- inc C
432
- ld C
433
- ldc
434
- st $ 1B5
435
- inc C
436
- ld C
437
439
ldc
438
440
st $ 1BA
439
441
inc C
@@ -456,6 +458,14 @@ EnterMain: ; main loop starts at here for the first time, so graphics are initia
456
458
ld C
457
459
ldc
458
460
st $ 1CB
461
+ inc C
462
+ ld C
463
+ ldc
464
+ st $ 1D4
465
+ inc C
466
+ ld C
467
+ ldc
468
+ st $ 1D5
459
469
460
470
clr1 Flags , 4
461
471
.NoModeRefresh:
@@ -513,9 +523,9 @@ DrawNumber: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;
513
523
; 2 = position
514
524
515
525
xor ACC
516
- mov # 5 , B
526
+ mov # 6 , B
517
527
mul
518
- mov # 2 , B
528
+ mov # 3 , B
519
529
520
530
. loop :
521
531
ld C
@@ -537,11 +547,6 @@ DrawNumber: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;
537
547
dec B
538
548
ld B
539
549
bnz . loop
540
-
541
- ld C
542
- ldc
543
- st @r2
544
-
545
550
ret
546
551
547
552
@@ -661,34 +666,41 @@ NumbersDisplay:
661
666
. byte % 01111100 ; 0
662
667
. byte % 10001010
663
668
. byte % 10010010
669
+ . byte % 10010010
664
670
. byte % 10100010
665
671
. byte % 01111100
666
- . byte % 00110000 ; 1
672
+ . byte % 00010000 ; 1
673
+ . byte % 00110000
667
674
. byte % 01010000
668
675
. byte % 00010000
669
676
. byte % 00010000
670
677
. byte % 11111110
671
678
. byte % 01111100 ; 2
672
679
. byte % 10000010
673
- . byte % 00001100
674
- . byte % 01110000
680
+ . byte % 00000010
681
+ . byte % 00011100
682
+ . byte % 01100000
675
683
. byte % 11111110
676
684
. byte % 01111100 ; 3
677
685
. byte % 10000010
678
- . byte % 00011110
686
+ . byte % 00011100
687
+ . byte % 00000010
679
688
. byte % 10000010
680
689
. byte % 01111100
681
690
. byte % 00100100 ; 4
682
691
. byte % 01000100
692
+ . byte % 10000100
683
693
. byte % 11111110
684
694
. byte % 00000100
685
695
. byte % 00000100
686
696
. byte % 11111110 ; 5
687
697
. byte % 10000000
688
698
. byte % 11111100
689
699
. byte % 00000010
690
- . byte % 11111100
691
- . byte % 01111100 ; 6
700
+ . byte % 10000010
701
+ . byte % 01111100
702
+ . byte % 00111100 ; 6
703
+ . byte % 01000000
692
704
. byte % 10000000
693
705
. byte % 11111100
694
706
. byte % 10000010
@@ -698,44 +710,53 @@ NumbersDisplay:
698
710
. byte % 00000100
699
711
. byte % 00001000
700
712
. byte % 00010000
701
- . byte % 01111100 ; 8
702
- . byte % 10000010
703
- . byte % 01111100
713
+ . byte % 00100000
714
+ . byte % 00111100 ; 8
715
+ . byte % 01000010
716
+ . byte % 00111100
717
+ . byte % 11000010
704
718
. byte % 10000010
705
719
. byte % 01111100
706
720
. byte % 01111100 ; 9
707
721
. byte % 10000010
708
722
. byte % 01111110
709
723
. byte % 00000010
710
- . byte % 01111100
711
- . byte % 00010000 ; A
712
- . byte % 00101000
713
- . byte % 01000100
714
- . byte % 11111110
724
+ . byte % 00000100
725
+ . byte % 01111000
726
+ . byte % 00000110 ; A
727
+ . byte % 00001010
728
+ . byte % 00010010
729
+ . byte % 00111110
730
+ . byte % 01000010
731
+ . byte % 10000010
732
+ . byte % 11111100 ; B
733
+ . byte % 10000010
734
+ . byte % 11111100
735
+ . byte % 10000010
736
+ . byte % 10000010
737
+ . byte % 11111100
738
+ . byte % 01111100 ; C
715
739
. byte % 10000010
716
- . byte % 11111000 ; B
717
- . byte % 10000110
718
- . byte % 11111000
719
- . byte % 10000110
720
- . byte % 11111000
721
- . byte % 00111110 ; C
722
- . byte % 11000000
723
740
. byte % 10000000
724
- . byte % 11000000
725
- . byte % 00111110
741
+ . byte % 10000000
742
+ . byte % 10000010
743
+ . byte % 01111100
726
744
. byte % 11111000 ; D
727
745
. byte % 10000110
728
746
. byte % 10000010
747
+ . byte % 10000010
729
748
. byte % 10000110
730
749
. byte % 11111000
731
750
. byte % 11111110 ; E
732
751
. byte % 10000000
733
- . byte % 11111100
752
+ . byte % 11111000
753
+ . byte % 10000000
734
754
. byte % 10000000
735
755
. byte % 11111110
736
756
. byte % 11111110 ; F
737
757
. byte % 10000000
738
- . byte % 11111100
758
+ . byte % 11111000
759
+ . byte % 10000000
739
760
. byte % 10000000
740
761
. byte % 10000000
741
762
0 commit comments