Some radical Re-Structuring ;)
This commit is contained in:
parent
f80b827012
commit
894dc18288
68
KernelRoutineList.txt
Normal file
68
KernelRoutineList.txt
Normal file
@ -0,0 +1,68 @@
|
||||
Kernel Routines Grouped
|
||||
(everything NOT starting with "+-", are "wants")
|
||||
|
||||
|
||||
|
||||
Char.s
|
||||
|
||||
|
||||
Event_Handler.s
|
||||
|
||||
|
||||
Hardware.s
|
||||
|
|
||||
+- vram_write
|
||||
+- vram_write_color
|
||||
+- vram_read
|
||||
+- vram_dump
|
||||
|
||||
Int.s
|
||||
|
||||
|
||||
Irq.s
|
||||
|
|
||||
+- irq
|
||||
|
||||
Keyboard.s
|
||||
|
||||
|
||||
Memory_Manager.s
|
||||
|
||||
Software Stack:
|
||||
(for A, X and Y)
|
||||
push
|
||||
pop
|
||||
|
||||
|
||||
Maybe also: External Fragmantation
|
||||
or: Variable houskeeping in a List of pointers
|
||||
|
||||
String.s
|
||||
|
||||
to lower
|
||||
to upper
|
||||
count
|
||||
flip
|
||||
contains
|
||||
equals
|
||||
trim
|
||||
|
||||
Video.s
|
||||
|
|
||||
+- video_write
|
||||
+- video_write_static
|
||||
+- video_writeline
|
||||
+- video_writeline_static
|
||||
+- video_set_color
|
||||
+- video_set_foreground
|
||||
+- video_set_background
|
||||
+- video_read_line
|
||||
+- video_read_char
|
||||
+- video_set_cursor
|
||||
+- video_get_cursor
|
||||
+- video_return
|
||||
+- video_scroll
|
||||
+- video_clear
|
||||
+- video_reset_color
|
||||
+- video_reset
|
||||
+- video_load_font
|
13
lib/kernel.s
13
lib/kernel.s
@ -1,13 +0,0 @@
|
||||
.include "lib/src/irq.s"
|
||||
.include "lib/src/keyboard.s"
|
||||
.include "lib/src/video.s"
|
||||
.include "lib/src/string.s"
|
||||
.include "lib/src/int.s"
|
||||
|
||||
|
||||
|
||||
|
||||
kernel_init
|
||||
rts
|
||||
|
||||
|
4
main.s
4
main.s
@ -1,8 +1,8 @@
|
||||
.include "lib/variables.s"
|
||||
.include "src/variables.s"
|
||||
|
||||
|
||||
.org $c000 ; $c000 for 16k ROM
|
||||
.include "lib/kernel.s"
|
||||
.include "src/kernel.s"
|
||||
|
||||
|
||||
.org $f700
|
||||
|
13
src/kernel.s
Normal file
13
src/kernel.s
Normal file
@ -0,0 +1,13 @@
|
||||
.include "src/kernel/irq.s"
|
||||
.include "src/kernel/keyboard.s"
|
||||
.include "src/kernel/video.s"
|
||||
.include "src/kernel/string.s"
|
||||
.include "src/kernel/int.s"
|
||||
.include "src/kernel/event_handler.s"
|
||||
.include "src/kernel/memory_manager.s"
|
||||
.include "src/kernel/hardware.s"
|
||||
|
||||
kernel_init
|
||||
rts
|
||||
|
||||
|
@ -11,7 +11,10 @@ vram_write
|
||||
; Output: (none)
|
||||
|
||||
|
||||
;vram_write_color
|
||||
rts
|
||||
|
||||
|
||||
vram_write_color
|
||||
; VRAM Write Color
|
||||
; Writes A to the given Coordinate, but adds 0x40 to X
|
||||
|
||||
@ -23,6 +26,8 @@ vram_write
|
||||
; Output: (none)
|
||||
|
||||
|
||||
rts
|
||||
|
||||
vram_read
|
||||
; VRAM Read
|
||||
; Reads Data from the given Coordinate
|
||||
@ -35,6 +40,8 @@ vram_read
|
||||
; A <= Data
|
||||
|
||||
|
||||
rts
|
||||
|
||||
vram_dump
|
||||
; VRAM Dump
|
||||
; Dumps all bytes from VRAM in the given Range
|
||||
@ -49,3 +56,6 @@ vram_dump
|
||||
; K4 => HIGH Memory Pointer
|
||||
|
||||
; Output: (none)
|
||||
|
||||
|
||||
rts
|
@ -168,7 +168,6 @@ video_scroll
|
||||
; +---- 0 = Scroll Text Video Buffer (Y 0 - 31) (4k)
|
||||
; 1 = Scroll Entire Video Buffer (Y 0 - 255) (32k)
|
||||
|
||||
|
||||
; I.E => 0x03 (0b00001011) => Scrolls Entire Videobuffer Right & Up and
|
||||
; Disposes "scrolled away" content. Fills gaps with empty cells
|
||||
|
||||
@ -205,4 +204,14 @@ video_reset
|
||||
rts
|
||||
|
||||
video_load_font
|
||||
; Video Load Font
|
||||
; Loads a 2k BitMap font from a Pointer to VRAM
|
||||
|
||||
; Input:
|
||||
; X => LOW Memory Pointer
|
||||
; Y => HIGH Memory Pointer
|
||||
|
||||
; Output: (none)
|
||||
|
||||
|
||||
rts
|
@ -42,5 +42,5 @@ soft_system_register = $21d ; 8 bit (internal)
|
||||
color = $2fe ; 8 bit Fore & Background Color
|
||||
|
||||
typelength = $2ff ; 8 bit Length of typebuffer
|
||||
typebuffer = $300 ; 256 bit 256 bit, All Purpose Char Buffer
|
||||
typebuffer = $300 ; 256 byte 256 bit, All Purpose Char Buffer
|
||||
|
Loading…
Reference in New Issue
Block a user