aboutsummaryrefslogtreecommitdiff
path: root/loading.asm
diff options
context:
space:
mode:
Diffstat (limited to 'loading.asm')
-rw-r--r--loading.asm51
1 files changed, 51 insertions, 0 deletions
diff --git a/loading.asm b/loading.asm
new file mode 100644
index 0000000..fd56a84
--- /dev/null
+++ b/loading.asm
@@ -0,0 +1,51 @@
+ *= $8400 ; aka screen_bot_addrs[0], gets cleared by main() in the client.
+
+ save_dlist_loc = $fe
+
+;msg .sbyte " Loading FujiNet Config "
+msg
+ .sbyte " Loading FujiNet "
+ .if .def CLIENT
+ .sbyte "Client"
+ .else
+ .sbyte "Config"
+ .endif
+ .sbyte " "
+
+dl
+ .byte $70, $70, $70 ; 3x8 blanks
+ .byte $70, $70, $70, $70, $70, $70, $70, $70, $70, $70
+ .byte $42 ; LMS GR.0
+ .word msg
+ .byte $41 ; JVB
+ .word dl
+
+wait1frame
+ lda $14 ; RTCLOK+2
+wloop
+ cmp $14
+ beq wloop
+ rts
+
+init
+ lda $0230
+ sta save_dlist_loc
+ lda $0231
+ sta save_dlist_loc+1
+ jsr wait1frame
+ lda #<dl
+ sta $0230 ; SDLSTL
+ lda #>dl
+ sta $0231 ; SDLSTH
+ jmp wait1frame
+
+ *= $02e2 ; INITAD
+ .word init
+
+ .if 0 ; change to 1 for standalone testing
+run
+ jmp run
+
+ *= $02e0 ; RUNAD
+ .word run
+ .endif