From c40657c8ab7b914dee9eb541c20f87b779540070 Mon Sep 17 00:00:00 2001 From: Larry Date: Wed, 10 May 2017 12:57:45 -0500 Subject: [PATCH] more work on init and reorganizing Former-commit-id: d0d9f5ffc49202c9b2bb9eb9e714f94b61ce7027 [formerly f0e9845831b2bfa2a3caff4190a364d5a7c1a392] Former-commit-id: 65e8898e08e9a837feb6d8178e2e85521c8e8c82 --- disassembly/GE007.rom.asm | 5 ++-- disassembly/GE007.sym.REMOVED.git-id | 2 +- disassembly/code/boot.asm.REMOVED.git-id | 2 +- .../code/boot/entry.asm.REMOVED.git-id | 1 + disassembly/code/{bss.asm => bss.inc} | 2 -- disassembly/code/{stack.asm => stack.inc} | 3 +++ disassembly/code/tlb_code.asm | 6 ++--- disassembly/lib/GE007.inc | 23 +++++++++++++++++++ disassembly/lib/N64.INC.REMOVED.git-id | 2 +- disassembly/rodata/rodata.rz.asm | 1 - disassembly/rom/romheader.asm | 2 +- filelist.txt.REMOVED.git-id | 2 +- 12 files changed, 37 insertions(+), 14 deletions(-) create mode 100644 disassembly/code/boot/entry.asm.REMOVED.git-id rename disassembly/code/{bss.asm => bss.inc} (63%) rename disassembly/code/{stack.asm => stack.inc} (92%) create mode 100644 disassembly/lib/GE007.inc diff --git a/disassembly/GE007.rom.asm b/disassembly/GE007.rom.asm index 8b31eea..adad887 100644 --- a/disassembly/GE007.rom.asm +++ b/disassembly/GE007.rom.asm @@ -2,11 +2,12 @@ arch n64.cpu endian msb output "GE007.n64", create include "lib/N64.INC" +include "lib/GE007.inc" define romsize($C00000) fill {romsize}, $FF origin $00000000;rom_file_start:;rom_start: -include "code/bss.asm" -include "code/stack.asm" +include "code/bss.inc" +include "code/stack.inc" include "rom/romheader.asm" include "code/boot.asm" include "rodata/rodata.rz.asm" diff --git a/disassembly/GE007.sym.REMOVED.git-id b/disassembly/GE007.sym.REMOVED.git-id index d65bff7..82bd092 100644 --- a/disassembly/GE007.sym.REMOVED.git-id +++ b/disassembly/GE007.sym.REMOVED.git-id @@ -1 +1 @@ -efb384ef7cc4ce8e0e1a963396ea2c580d337a6e \ No newline at end of file +1491c6f3f0da1b1db10a1053d5971a5c4c99b62f \ No newline at end of file diff --git a/disassembly/code/boot.asm.REMOVED.git-id b/disassembly/code/boot.asm.REMOVED.git-id index c9c3085..817b8a4 100644 --- a/disassembly/code/boot.asm.REMOVED.git-id +++ b/disassembly/code/boot.asm.REMOVED.git-id @@ -1 +1 @@ -48cee3ccec613860f2337c13f3fd4d5ea574514f \ No newline at end of file +65f3feacd7e469a974d0aa9702eb44ea77ffcbbe \ No newline at end of file diff --git a/disassembly/code/boot/entry.asm.REMOVED.git-id b/disassembly/code/boot/entry.asm.REMOVED.git-id new file mode 100644 index 0000000..208815e --- /dev/null +++ b/disassembly/code/boot/entry.asm.REMOVED.git-id @@ -0,0 +1 @@ +c28c4932b97bf5246080adeac71267385dcd91a1 \ No newline at end of file diff --git a/disassembly/code/bss.asm b/disassembly/code/bss.inc similarity index 63% rename from disassembly/code/bss.asm rename to disassembly/code/bss.inc index 4e12685..5b60fcd 100644 --- a/disassembly/code/bss.asm +++ b/disassembly/code/bss.inc @@ -7,5 +7,3 @@ mainthread: base $8008E360 seg_bss_end: -variable seg_bss_size(seg_bss_end-seg_bss_start) - diff --git a/disassembly/code/stack.asm b/disassembly/code/stack.inc similarity index 92% rename from disassembly/code/stack.asm rename to disassembly/code/stack.inc index 8c96e2c..bb99c74 100644 --- a/disassembly/code/stack.asm +++ b/disassembly/code/stack.inc @@ -1,4 +1,6 @@ + base $80300000 +seg_sp_start: decompression_buffer: base $803AB400 @@ -27,3 +29,4 @@ sp_main: base $803B3950 sp_audi: +seg_sp_end: diff --git a/disassembly/code/tlb_code.asm b/disassembly/code/tlb_code.asm index 6a87860..6e58039 100644 --- a/disassembly/code/tlb_code.asm +++ b/disassembly/code/tlb_code.asm @@ -1,5 +1,5 @@ base origin() -seg_tlbcode_start: +seg_tlbcode_rom_start: base $7F000000 tlb_code_vaddr_start: @@ -7,7 +7,5 @@ insert binarytlbcode, "tlb_code.bin", (origin() - $34B30) tlb_code_vaddr_end: base origin() -seg_tlbcode_end: - -variable seg_tlbcode_size(seg_tlbcode_end-seg_tlbcode_start) +seg_tlbcode_rom_end: diff --git a/disassembly/lib/GE007.inc b/disassembly/lib/GE007.inc new file mode 100644 index 0000000..a031349 --- /dev/null +++ b/disassembly/lib/GE007.inc @@ -0,0 +1,23 @@ +variable seg_boot_rom_size(seg_boot_rom_end-seg_boot_rom_start) +variable seg_rarezip_rom_size(seg_rarezip_rom_end-seg_rarezip_rom_start) +variable seg_bss_size(seg_bss_end-seg_bss_start) +variable seg_tlbcode_rom_size(seg_tlbcode_rom_end-seg_tlbcode_rom_start) +variable seg_rodata_rom_size(seg_rodata_rom_end-seg_rodata_rom_start) +variable seg_sp_start(seg_sp_end-seg_sp_start) + +macro getaddresstoregister(address, reg) { + define return({reg}) //what register to return in + + lui {return}, ({address} >> 16) //address upper + jr ra + addiu {return}, {return}, {address} //address lower +} + +macro jumpaddressviaregister(address,reg) { + define jumptarget({reg}) + + lui {jumptarget},({address} >> 16) + addiu {jumptarget}, {jumptarget}, {address} + jr {jumptarget} +} + diff --git a/disassembly/lib/N64.INC.REMOVED.git-id b/disassembly/lib/N64.INC.REMOVED.git-id index b991ba7..1ee386e 100644 --- a/disassembly/lib/N64.INC.REMOVED.git-id +++ b/disassembly/lib/N64.INC.REMOVED.git-id @@ -1 +1 @@ -b0ad95fa205c0c1aa784b30041f7a90f771da123 \ No newline at end of file +d0717f99cf7157a2e49e1a5c39f882e204f3c0bb \ No newline at end of file diff --git a/disassembly/rodata/rodata.rz.asm b/disassembly/rodata/rodata.rz.asm index 0aab00c..f3278b8 100644 --- a/disassembly/rodata/rodata.rz.asm +++ b/disassembly/rodata/rodata.rz.asm @@ -9,4 +9,3 @@ insert padding,"pad_to_33590" base origin() seg_rodata_rom_end: -variable seg_rodata_rom_size(seg_rodata_rom_end-seg_rodata_rom_start) diff --git a/disassembly/rom/romheader.asm b/disassembly/rom/romheader.asm index 0882b0a..1e95dae 100644 --- a/disassembly/rom/romheader.asm +++ b/disassembly/rom/romheader.asm @@ -11,7 +11,7 @@ dw $000F // Initial Clock Rate // VECTOR - dw Start // Boot Address Offset + dw boot.start // Boot Address Offset dw $1447 // Release Offset // COMPLEMENT CHECK & CHECKSUM diff --git a/filelist.txt.REMOVED.git-id b/filelist.txt.REMOVED.git-id index 9162cbb..8cc8690 100644 --- a/filelist.txt.REMOVED.git-id +++ b/filelist.txt.REMOVED.git-id @@ -1 +1 @@ -8a23c376ea2f7fe11669c1f441981a12312608ff \ No newline at end of file +81e47060288a3a1f1030a178a0cf8e75acc09ecb \ No newline at end of file