-
Notifications
You must be signed in to change notification settings - Fork 0
/
boot.ras
64 lines (56 loc) · 1.31 KB
/
boot.ras
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
program boot;
// Set disk output
var
@define useKernal 0
// Make sure that we compile the demo only when pressing ctrl+R here
@setvalue "remove_unused_symbols" "0"
// always toggle exomizer on
@setvalue "exomizer_toggle" 1
@setvalue "main_ras_file" "boot.ras"
// Set disk output
@setvalue "output_type" "d64"
//@define DEBUG 1
isInitialized: byte = 0;
ldr: byte; // the current position in the order array
// Loader at $200
@use KrillsLoader $0200 $2000 $4000
//interrupt NMI();
//begin
//end;
begin
if (isInitialized<>0) offpage then
begin
ScreenOff();
end else
begin
// First time the loader is run!
// Set an empty NMI irq
//nmiirq(NMI());
// Initialise Krill
InitKrill();
preventirq();
disableciainterrupts();
ldr := 0;
end;
// Ensure memory config is correctly set
setmemoryconfig(1,0,0);
if (isInitialized=0) then begin
// Initialse the SID file for first use
//initsid(sidfile_1_init);
isInitialized:=1;
// Start the music while loading the first part. Remove the next line if you don't want that.
//StartChain();
end;
inc(ldr);
if(ldr = 1) then begin
KrillLoadCompressed(#a);
KrillLoad(#t1);
end
else if(ldr = 2) then begin
preventirq();
disableciainterrupts();
KrillLoad(#b);
KrillLoad(#f);
end;
asm( " jmp @programStartAddress")
end.