From 013f47fb3f4d5cc956ad8b68f1237a88ef3c217b Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Sun, 19 Nov 2023 20:58:40 -0800 Subject: [PATCH 1/5] Add rtc docs --- doc/{ => rtc}/rtc.drawio | 0 doc/rtc/rtc.drawio.png | Bin 0 -> 46762 bytes doc/rtc/rtc.md | 82 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 82 insertions(+) rename doc/{ => rtc}/rtc.drawio (100%) create mode 100644 doc/rtc/rtc.drawio.png create mode 100644 doc/rtc/rtc.md diff --git a/doc/rtc.drawio b/doc/rtc/rtc.drawio similarity index 100% rename from doc/rtc.drawio rename to doc/rtc/rtc.drawio diff --git a/doc/rtc/rtc.drawio.png b/doc/rtc/rtc.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..993ffb28c11c67aa596b5c5fdde7deb848d25bc8 GIT binary patch literal 46762 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 z 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 Date: Sun, 19 Nov 2023 22:09:45 -0800 Subject: [PATCH 2/5] Add pic docs --- doc/{ => pic}/pic.drawio | 0 doc/pic/pic.drawio.png | Bin 0 -> 143559 bytes doc/pic/pic.md | 60 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+) rename doc/{ => pic}/pic.drawio (100%) create mode 100644 doc/pic/pic.drawio.png create mode 100644 doc/pic/pic.md diff --git a/doc/pic.drawio b/doc/pic/pic.drawio similarity index 100% rename from doc/pic.drawio rename to doc/pic/pic.drawio diff --git a/doc/pic/pic.drawio.png b/doc/pic/pic.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..30180f299ec5ed06cba4181a20a01df8a1f47466 GIT binary patch literal 143559 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 Z`;%Yhg;gMuwt>I1rwvaPYG1qiKLC%f{)+$r literal 0 HcmV?d00001 diff --git a/doc/pic/pic.md b/doc/pic/pic.md new file mode 100644 index 0000000..e925aad --- /dev/null +++ b/doc/pic/pic.md @@ -0,0 +1,60 @@ +# PIC + +## Overview + +The PIC (Programmable Interrupt Controller) supports 256 edge or level +triggered interrupts. + +Interrupts can only be rising edge or positive level trigger. Negative edge or +low level trigger can be accomplished by inverting the input to this module. + +When an interrupt is triggered, it remains triggered until cleared with an +`EOI`. Currently, only the highest priority interrupt can be cleared. This +is bad design and will be fixed soon(tm). + +![pic.drawio.png](pic.drawio.png) + +## Interface + +The PIC is controlled through two 8-bit registers, `CMD` and `DAT`. +The upepr 3 bits of `CMD` control which register is accessed, and the lower 5 +bits control the byte select. + +`EOI` is a special case: when `CMD` is 0xFF, the highest priority interrupt is +cleared. + +### CMD +| [7:5] | [4:0] | +|------------------ |------------- | +| Register Address | Byte Select | + +### DAT +| [7:0] | +|----------------------- | +| Data[8*Byte_sel +: 8] | + +## Registers + +### Register Map + +| Address | Read | Write | +|--------- |------------ |-------- | +| 0 | IRQ Number | ~ | +| 1 | Enable | Enable | +| 2 | Type | Type | + +### IRQ Number + +8 bit register outputs the highest priority interrupt currently active. When +no interrupt is active, it will output 255. + +### Enable + +256 bit enable register. When bit _n_ is set to 1, the corresponding interrupt +_n_. + +### Type + +256 bit type register. When bit _n_ is set to 0, the corresponding interrupt +_n_ will be edge triggered. If the bit is set to 1, the interrupt will be level +triggered. \ No newline at end of file From 680bccee6238ad87ba86de3173de43549780d330 Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Sun, 19 Nov 2023 22:11:29 -0800 Subject: [PATCH 3/5] Init rtc and pic in kernel --- sw/kernel/devices/interrupt_controller.h | 32 ++++++ sw/kernel/devices/interrupt_controller.s | 136 +++++++++++++++++++++++ sw/kernel/devices/rtc.h | 16 +++ sw/kernel/devices/rtc.s | 78 +++++++++++++ sw/kernel/kernel.c | 36 +++--- 5 files changed, 281 insertions(+), 17 deletions(-) create mode 100644 sw/kernel/devices/interrupt_controller.h create mode 100644 sw/kernel/devices/interrupt_controller.s create mode 100644 sw/kernel/devices/rtc.h create mode 100644 sw/kernel/devices/rtc.s diff --git a/sw/kernel/devices/interrupt_controller.h b/sw/kernel/devices/interrupt_controller.h new file mode 100644 index 0000000..b016676 --- /dev/null +++ b/sw/kernel/devices/interrupt_controller.h @@ -0,0 +1,32 @@ +#ifndef _INTERRUPT_CONTROLLER_H +#define _INTERRUPT_CONTROLLER_H + +#include + +// These need to be copied in interrupt_controller.s + +#define IRQ_CMD_ADDR 0xeffc +#define IRQ_DAT_ADDR 0xeffd + +#define IRQ_CMD_MASK 0xe0 +#define IRQ_REG_MASK 0x1f + +#define IRQ_CMD_READIRQ 0x00 +#define IRQ_CMD_ENABLE 0x20 +#define IRQ_CMD_TYPE 0x40 +#define IRQ_CMD_EOI 0xff + +#define IRQ_EDGE 0 +#define IRQ_LEVEL 1 + + + +void init_interrupt_controller(); + +void enable_irq(uint8_t type, uint8_t irqnum); +void disable_irq(uint8_t irqnum); + +// This should accept irqnum later. +void send_eoi(); + +#endif \ No newline at end of file diff --git a/sw/kernel/devices/interrupt_controller.s b/sw/kernel/devices/interrupt_controller.s new file mode 100644 index 0000000..349edd2 --- /dev/null +++ b/sw/kernel/devices/interrupt_controller.s @@ -0,0 +1,136 @@ +.MACPACK generic + +.autoimport + +.importzp tmp1, tmp2 + +.export _init_interrupt_controller +.export _enable_irq +.export _disable_irq +.export _send_eoi + +IRQ_CMD_ADDR = $effc +IRQ_DAT_ADDR = $effd + +IRQ_CMD_MASK = $e0 +IRQ_REG_MASK = $1f +IRQ_CMD_READIRQ = $00 +IRQ_CMD_ENABLE = $20 +IRQ_CMD_TYPE = $40 +IRQ_CMD_EOI = $ff + +.code + +; void init_irq(); +; mask all IRQs, set all type to edge. +.proc _init_interrupt_controller + ldx #$20 ; enable + ldy #$ff + jsr cmd_all + ldx #$40 ; edge type + ldy #$00 + jsr cmd_all + rts + +cmd_all: ; Send the same value to all 32 bytes + txa + add #$20 + sta tmp1 +loop: + txa + sta IRQ_CMD_ADDR + tya + sta IRQ_DAT_ADDR + inx + cpx tmp1 + blt loop + rts +.endproc + + +; void enable_irq(uint8_t type, uint8_t irqnum); +; in A: +.proc _enable_irq + ; Decide which byte we need to modify by dividing by 32 (>> 5) + pha + lsr + lsr + lsr + lsr + lsr ; A is now bytesel + sta tmp2 ; tmp2 is now bytesel + add #IRQ_CMD_ENABLE + sta IRQ_CMD_ADDR + lda IRQ_DAT_ADDR + sta tmp1 + pla + and $07 ; A is now 0-7 + tax + inx ; X is now 1-8 + lda #$01 +L1: dex + beq L2 + asl + bra L1 +L2: pha ; Push bit mask to stack + ora tmp1 ; A is now 1 << (0-7) | enable + sta IRQ_DAT_ADDR + + + lda tmp2 + add #IRQ_CMD_TYPE + sta IRQ_CMD_ADDR + lda IRQ_DAT_ADDR + sta tmp1 + jsr popa ; A is now type + beq bit0 +bit1: ; set `bit` to 1 + pla + ora tmp1 + bra L3 +bit0: ; set `bit` to 0 + pla + eor #$ff + and tmp1 +L3: sta IRQ_DAT_ADDR + rts + +.endproc + +.proc _disable_irq + ; Decide which byte we need to modify by dividing by 32 (>> 5) + pha + lsr + lsr + lsr + lsr + lsr ; A is now bytesel + add #IRQ_CMD_ENABLE + sta IRQ_CMD_ADDR + lda IRQ_DAT_ADDR + sta tmp1 + pla + and $07 ; A is now 0-7 + tax + inx ; X is now 1-8 + lda #$01 +L1: dex + beq L2 + asl + bra L1 +L2: eor #$ff ; Invert to set enable to 0 + and tmp1 ; a is now ~(1 << (0-7)) & enable + sta IRQ_DAT_ADDR + rts +.endproc + +; This should accept irqnum later. +; void send_eoi(); +.proc _send_eoi + lda #IRQ_CMD_EOI + sta IRQ_CMD_ADDR + lda #$1 + sta IRQ_DAT_ADDR + rts +.endproc + diff --git a/sw/kernel/devices/rtc.h b/sw/kernel/devices/rtc.h new file mode 100644 index 0000000..913e7c6 --- /dev/null +++ b/sw/kernel/devices/rtc.h @@ -0,0 +1,16 @@ +#ifndef _RTC_H +#define _RTC_H + +#include + +#define RTC_CMD_ADDR 0xeffe +#define RTC_DAT_ADDR 0xefff + +/* initialize RTC with default values */ +void init_rtc(void); + +/* handle RTC interrupts */ +void handle_rtc(void); + + +#endif \ No newline at end of file diff --git a/sw/kernel/devices/rtc.s b/sw/kernel/devices/rtc.s new file mode 100644 index 0000000..864e223 --- /dev/null +++ b/sw/kernel/devices/rtc.s @@ -0,0 +1,78 @@ +.MACPACK generic + +.importzp tmp1 + +.export _init_rtc +.export _handle_rtc + +RTC_CMD = $effe +RTC_DAT = $efff + +RTC_THRESHOLD = $00 +RTC_INCREMENT = $10 +RTC_IRQ_THRESHOLD = $20 +RTC_OUTPUT = $30 +RTC_CONTROL = $30 + +; void init_rtc(void); +; Initialize rtc and generate 50ms interrupts +.proc _init_rtc + lda #RTC_INCREMENT+0 ; Set increment to 1 + sta RTC_CMD + lda #$01 + sta RTC_DAT + lda #RTC_INCREMENT+1 + sta RTC_CMD + lda #$00 + sta RTC_DAT + lda #RTC_INCREMENT+2 + sta RTC_CMD + lda #$00 + sta RTC_DAT + lda #RTC_INCREMENT+3 + sta RTC_CMD + lda #$00 + sta RTC_DAT + + lda #RTC_THRESHOLD+0 ; Set threshold to 4000 ($fa0) + sta RTC_CMD + lda #$a0 + sta RTC_DAT + lda #RTC_THRESHOLD+1 + sta RTC_CMD + lda #$0f + sta RTC_DAT + lda #RTC_THRESHOLD+2 + sta RTC_CMD + lda #$00 + sta RTC_DAT + lda #RTC_THRESHOLD+3 + sta RTC_CMD + lda #$00 + sta RTC_DAT + + lda #RTC_THRESHOLD+0 ; Set irq threshold to 50 ($32) + sta RTC_CMD + lda #$32 + sta RTC_DAT + lda #RTC_THRESHOLD+1 + sta RTC_CMD + lda #$00 + sta RTC_DAT + lda #RTC_THRESHOLD+2 + sta RTC_CMD + lda #$00 + sta RTC_DAT + lda #RTC_THRESHOLD+3 + sta RTC_CMD + lda #$00 + sta RTC_DAT + rts + +.endproc + + +.proc _handle_rtc + nop + rti +.endproc \ No newline at end of file diff --git a/sw/kernel/kernel.c b/sw/kernel/kernel.c index ef18f01..d69a0f1 100644 --- a/sw/kernel/kernel.c +++ b/sw/kernel/kernel.c @@ -1,25 +1,27 @@ #include - -char* longstring = \ -"This is a very long string that is meant to test the loader.\ - We can only load one cluster so far, which means 8 sectors of\ - 512bytes, or a total of 4k. If there was any more data than this,\ - then we would have to traverse the fat to find the next cluster number.\ - This may not be that difficult, but the file will need to be large\ - enough to actually stretch that far. The kernel will probably be\ - that big in the future, but for now when it doesnt really do anything\ - then it can't really be tested."; +#include "devices/interrupt_controller.h" +#include "devices/rtc.h" int main() { - char* string = "this is a shorter string"; - int val = 42; - cputs("Kernel\n"); - cprintf("Kernel printf\n"); - cprintf("Val: %d\n", val); - cprintf("%s", string); - cprintf("Here is a long string: %s\n", longstring); + cputs("Kernel\n"); + + // cputs("Init Paging") + // init_paging() + + // cputs("Initialize Interrupts"); + // init_interrupts(); + + cputs("Initialize Interrupt Controller"); + init_interrupt_controller(); + + cputs("Initialize RTC"); + init_rtc(); + + // cputs("Initialize Serial"); + // // init_serial(); + // enable_irq(2, IRQ_EDGE); while(1); From 1e9be6c764e452e0e0d9b187088cedf1fee6ac06 Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Sun, 19 Nov 2023 23:28:11 -0800 Subject: [PATCH 4/5] RTC: Fix threshold/irq_threshold initialization Also throw some newlines in the kernel print messages. --- sw/kernel/devices/rtc.s | 8 ++++---- sw/kernel/kernel.c | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/sw/kernel/devices/rtc.s b/sw/kernel/devices/rtc.s index 864e223..e0778b3 100644 --- a/sw/kernel/devices/rtc.s +++ b/sw/kernel/devices/rtc.s @@ -51,19 +51,19 @@ RTC_CONTROL = $30 lda #$00 sta RTC_DAT - lda #RTC_THRESHOLD+0 ; Set irq threshold to 50 ($32) + lda #RTC_IRQ_THRESHOLD+0 ; Set irq threshold to 50 ($32) sta RTC_CMD lda #$32 sta RTC_DAT - lda #RTC_THRESHOLD+1 + lda #RTC_IRQ_THRESHOLD+1 sta RTC_CMD lda #$00 sta RTC_DAT - lda #RTC_THRESHOLD+2 + lda #RTC_IRQ_THRESHOLD+2 sta RTC_CMD lda #$00 sta RTC_DAT - lda #RTC_THRESHOLD+3 + lda #RTC_IRQ_THRESHOLD+3 sta RTC_CMD lda #$00 sta RTC_DAT diff --git a/sw/kernel/kernel.c b/sw/kernel/kernel.c index d69a0f1..50564bf 100644 --- a/sw/kernel/kernel.c +++ b/sw/kernel/kernel.c @@ -7,19 +7,19 @@ int main() { cputs("Kernel\n"); - // cputs("Init Paging") + // cputs("Init Paging\n") // init_paging() - // cputs("Initialize Interrupts"); + // cputs("Initialize Interrupts\n"); // init_interrupts(); - cputs("Initialize Interrupt Controller"); + cputs("Initialize Interrupt Controller\n"); init_interrupt_controller(); - cputs("Initialize RTC"); + cputs("Initialize RTC\n"); init_rtc(); - // cputs("Initialize Serial"); + // cputs("Initialize Serial\n"); // // init_serial(); // enable_irq(2, IRQ_EDGE); From 3861e44693cdf1714003e59d32241afeb3c80511 Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Sun, 19 Nov 2023 23:30:02 -0800 Subject: [PATCH 5/5] PIC: Disable all irqs at start --- sw/kernel/devices/interrupt_controller.s | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sw/kernel/devices/interrupt_controller.s b/sw/kernel/devices/interrupt_controller.s index 349edd2..b7cf594 100644 --- a/sw/kernel/devices/interrupt_controller.s +++ b/sw/kernel/devices/interrupt_controller.s @@ -25,7 +25,7 @@ IRQ_CMD_EOI = $ff ; mask all IRQs, set all type to edge. .proc _init_interrupt_controller ldx #$20 ; enable - ldy #$ff + ldy #00 jsr cmd_all ldx #$40 ; edge type ldy #$00