LS7-Kernel/main.s

100 lines
2.0 KiB
ArmAsm
Raw Normal View History

; Important To-Do!
;
; Get launch & tasks json working
; fix Keyboard scanning
; work on KernelRoutinesList.txt
; The LS/7 Computer Rev. 1
; Does not support the Graphics module !
2023-10-29 02:30:16 +02:00
.include "src/variables.s"
2023-10-28 23:49:48 +02:00
.org $c000 ; $c000 for 16k ROM
2023-10-29 02:30:16 +02:00
.include "src/kernel.s"
2023-10-24 23:34:20 +02:00
2023-10-28 23:49:48 +02:00
.org $f700
2023-10-30 20:37:11 +01:00
charset: .incbin "assets/UTF-8.bin"
2023-10-28 23:49:48 +02:00
.org $ff00
2023-10-30 20:37:11 +01:00
reset: sei
cld
2023-10-24 23:34:20 +02:00
lda #<irq
sta irq_vector
lda #>irq
sta irq_vector+1
2023-10-24 23:34:20 +02:00
lda #$E0
sta vidm
lda #$60
sta cursor_delay
lda #$06
sta cursor_delay_interval
lda #$20
sta color
lda #$80
sta cursor_speed
lda #$ff
sta cursor_x_previous
sta cursor_y_previous
2023-10-24 23:34:20 +02:00
stz cursor_x
stz cursor_y
stz cursor_value
stz cursor_speed_count
stz cursor_delay_count
stz cursor_delay_switch
stz typelength
stz keyboard_current
stz keyboard_previous
stz system_register
stz soft_system_register
2023-10-24 23:34:20 +02:00
2023-11-15 12:19:10 +01:00
jsr kernel_init
2023-11-03 01:08:40 +01:00
;jsr video_writeline_static
;.string "Hello World"
jsr console_clear
2023-10-24 23:34:20 +02:00
2023-11-03 01:08:40 +01:00
ldx #<charset
ldy #>charset
jsr console_load_font
2023-11-03 01:08:40 +01:00
lda #$f0
jsr irq_init
2023-11-03 01:08:40 +01:00
stz k0
lda #$00
tax
tay
lp:
lda k0
jsr vram_write
inc k0
inx
cpx #$10
bne lp
ldx #$00
iny
cpy #$10
bne lp
loop:
jmp loop
2023-10-30 20:37:11 +01:00
irq_jump: jmp (irq_vector)
.org $fffa
.addr $0f00
.addr reset
.addr irq_jump
2023-10-24 23:34:20 +02:00
.end