-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathloader1.asm
More file actions
89 lines (75 loc) · 1.52 KB
/
loader1.asm
File metadata and controls
89 lines (75 loc) · 1.52 KB
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
;----------------------------------------------------------------------------
; RAMFOS + Ñïåöèàëèñò MX2
; Çàãðóç÷èê
;
; 2013-11-01 Ðàçðàáîòàíî vinxru
;----------------------------------------------------------------------------
.include "config.inc"
.org loader1Offset
; Ãëóøèì òàéìåð
LXI H, 0FFEFh
MVI M, 03Eh
MVI M, 07Eh
MVI M, 0BEh
; Î÷èùàåì ýêðàí
mvi a, 0F0h
sta 0FFF8h
lxi sp, 0BFFFh
lxi h, 0
lxi d, 600h
clearLoop: push h
push h
push h
push h
dcr e
jnz clearLoop
dad h
dcr d
jnz clearLoop
; Âûâîäèì ëîãîòèï
mvi a, 0F0h ; Áåëûé
lxi d, logo
mvi h, 091h
mvi c, 44
call logoLine
mvi a, 0C0h ; Êðàñíûé
mvi c, 2
call logoLine
; Ïîïûòêà çàãðóçèòñÿ ñ SD
.include "sdloader.inc"
; Êîïèðóåì RAMFOS
lxi b, 0C000h
lxi d, ramfosOffset
call unmlzOffset
; Çàïóñêàåì ïðîãðàììó ñäâèãà è RAMFOS
lxi d, 0D2A0h
lxi h, 0F800h
lxi b, 0FFE0h - 0F800h
moveLoop: ldax d
inx d
mov m, a
inx h
dcx b
mov a, b
ora c
jnz moveLoop
jmp 0F800h
; ---------------------------------------------------------------------------
logoLine: sta 0FFF8h
logoLine_0: mvi b, 39
mvi l, 108
drawChar_1: ldax d
inx d
mov m, a
inx h
dcr b
jnz drawChar_1
inr h
dcr c
jnz logoLine_0
ret
; ---------------------------------------------------------------------------
logo:
.include "logo.inc"
; ---------------------------------------------------------------------------
.end