-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.asm
More file actions
44 lines (36 loc) · 1.91 KB
/
Copy pathmain.asm
File metadata and controls
44 lines (36 loc) · 1.91 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
// FAST-40 cartridge for VIC-20
// Copyright (C) 2026 8BitGuru <the8bitguru@gmail.com>
.var EnableBRKDebugging = false // BRK register dump
.import source "kickass_opcodes.asm" // KickAssembler opcode pseudocommands
.import source "vic20_system_constants.asm" // VIC-20 system constants
.import source "vic20_system_memory.asm" // VIC-20 system memory labels
.import source "f40_runtime_memory.asm" // FAST-40 runtime memory labels
.import source "f40_runtime_constants.asm" // FAST-40 runtime constants
.pc = $A000 "CART" // Cartridge header
cart:
.word vic20_memory_test.memory_test // Cartridge cold-start vector
.word f40_interrupt_handlers.nmi_handler // Cartridge warm-start vector
.byte 'A','0',$C3,$C2,$CD // Cartridge autostart signature (A0CBM)
data:
.import source "f40_static_data.asm" // Static data structures
code:
.import source "f40_character_output.asm" // CHROUT vector handler
.import source "f40_character_input.asm" // CHRIN vector handler
.import source "f40_interrupt_handlers.asm" // IRQ/NMI vector handler
.import source "f40_controlcode_handlers.asm" // Control code output handlers
.import source "f40_helper_routines.asm" // General helper routines
.import source "f40_keyboard_decode.asm" // Control key decode vector handler
.import source "vic20_memory_test.asm" // Memory test
.import source "f40_runtime_setup.asm" // Runtime memory / system setup
.import source "f40_sys_trap.asm" // BASIC SYS interceptor
.if(EnableBRKDebugging)
{
.import source "vic20_debug_handler.asm" // BRK debugging information
}
.print "CODE BYTES: "+[*-code]
.print "DATA BYTES: "+[code-data]
.print "TOT. BYTES: "+[*-cart]
.print "FREE BYTES: "+[4096-[*-cart]]
.pc = $B000 "CHARDATA"
glyphs:
.import source "f40_glyph_data.asm" // FAST-40 glyph data (4096 bytes)