summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main.asm40
-rw-r--r--rst.asm38
2 files changed, 39 insertions, 39 deletions
diff --git a/main.asm b/main.asm
index c42f0f0a4..e78027753 100644
--- a/main.asm
+++ b/main.asm
@@ -1,44 +1,6 @@
SECTION "bank0",ROM0
-
-; rst vectors
-
-SECTION "rst0",ROM0[0]
- di
- jp Start
-
-SECTION "rst8",ROM0[FarCall]
- jp FarCall_hl
-
-SECTION "rst10",ROM0[Bankswitch]
- ld [hROMBank], a
- ld [MBC3RomBank], a
- ret
-
-SECTION "rst18",ROM0[$18]
- rst $38
-
-SECTION "rst20",ROM0[$20]
- rst $38
-
-SECTION "rst28",ROM0[JumpTable]
- push de
- ld e, a
- ld d, 0
- add hl, de
- add hl, de
- ld a, [hli]
- ld h, [hl]
- ld l, a
- pop de
- jp [hl]
-
-; SECTION "rst30",ROM0[$30]
-; rst30 is midst rst28
-
-SECTION "rst38",ROM0[$38]
- rst $38
-
+INCLUDE "rst.asm"
INCLUDE "interrupts.asm"
diff --git a/rst.asm b/rst.asm
new file mode 100644
index 000000000..d5bac0915
--- /dev/null
+++ b/rst.asm
@@ -0,0 +1,38 @@
+; rst vectors
+
+SECTION "rst0",ROM0[0]
+ di
+ jp Start
+
+SECTION "rst8",ROM0[FarCall]
+ jp FarCall_hl
+
+SECTION "rst10",ROM0[Bankswitch]
+ ld [hROMBank], a
+ ld [MBC3RomBank], a
+ ret
+
+SECTION "rst18",ROM0[$18]
+ rst $38
+
+SECTION "rst20",ROM0[$20]
+ rst $38
+
+SECTION "rst28",ROM0[JumpTable]
+ push de
+ ld e, a
+ ld d, 0
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ pop de
+ jp [hl]
+
+; SECTION "rst30",ROM0[$30]
+; rst30 is midst rst28
+
+SECTION "rst38",ROM0[$38]
+ rst $38
+