Byron Lathi
32c82044a7
Fix more bugs
2023-12-01 00:56:16 -08:00
Byron Lathi
a169b30028
Fix not saving to ptr1 and comparing y
2023-11-30 23:58:30 -08:00
Byron Lathi
597d15e234
Add terminal write as well, use it in kernel
2023-11-29 17:19:18 -08:00
Byron Lathi
b25d0e9bdb
First shot at terminal read
2023-11-29 08:38:25 -08:00
Byron Lathi
5b6a4e1442
Start terminal driver
2023-11-28 23:52:27 -08:00
Byron Lathi
e73d8db74c
Serial Fix
...
Fixes a typo with getc_nb, removes the RTC tick code (since we know it
works now and it is clogging up the screen), read characters in a loop
instead of just once.
2023-11-28 23:23:31 -08:00
Byron Lathi
fd9ccdbce4
Add serial driver and irq support
2023-11-28 22:54:26 -08:00
Byron Lathi
9ce5b7592f
Use longer rtc interval
2023-11-22 20:57:49 -08:00
Byron Lathi
930e802a86
Add init code for mapper
...
init_mapper now remaps so that it can change irq vectors
2023-11-22 17:33:12 -08:00
Byron Lathi
102c4dfe8a
Use vectors for irq and nmi
2023-11-21 18:53:17 -08:00
Byron Lathi
4392a01de8
#53 Reduce interrupts to 128
2023-11-21 08:17:36 -08:00
Byron Lathi
e7f8be44b7
enable interrupt when we register irq
2023-11-21 08:06:46 -08:00
Byron Lathi
d172706313
Clear interrupt before waiting
2023-11-20 23:32:05 -08:00
Byron Lathi
7089b663ca
add interrupt init code (and increase rtc tick rate)
2023-11-20 22:23:18 -08:00
Byron Lathi
531bb4cf13
Fix bad sp and writing to zp0
2023-11-20 18:37:04 -08:00
Byron Lathi
e6a16b0c73
Add device setup test using kernel drivers
2023-11-20 08:29:35 -08:00
Byron Lathi
3861e44693
PIC: Disable all irqs at start
2023-11-19 23:30:02 -08:00
Byron Lathi
1e9be6c764
RTC: Fix threshold/irq_threshold initialization
...
Also throw some newlines in the kernel print messages.
2023-11-19 23:28:11 -08:00
Byron Lathi
680bccee62
Init rtc and pic in kernel
2023-11-19 22:11:29 -08:00
Byron Lathi
e3662e703c
Add back long string
2023-10-30 00:04:57 -07:00
Byron Lathi
59a6f13eb3
Skip the copydata in kernel setup
2023-10-28 18:31:21 -07:00
Byron Lathi
2577ab2a9a
Update kernel makefile, test more kernel code
2023-10-28 13:12:41 -07:00
Byron Lathi
4104a2eeb9
Do a more sane string print first
2023-10-27 20:49:06 -07:00
Byron Lathi
cf8a5d782f
Make kernel as part of full chip sim
2023-10-26 21:25:26 -07:00
Byron Lathi
85f53816f9
Remove unneeded CR
2023-09-27 23:03:22 -07:00
Byron Lathi
a770d938de
Copy bios device functions to kernel
2023-09-04 14:31:55 -07:00
Byron Lathi
791bffb248
Add copy data back
2023-09-04 14:08:52 -07:00
Byron Lathi
15b7d50a30
Fix zerobss bug
...
Well, not really fix but problem is avoided for now
2023-09-01 21:49:36 -07:00
Byron Lathi
b2b3b84bc4
Kernel crashing
2023-08-26 23:15:36 +00:00
Byron Lathi
eba24c2990
Disable inits which fail
2023-08-26 13:42:06 -07:00
Byron Lathi
0dfe8ae584
Remove init code to get kernel to run
2023-08-26 13:17:12 -07:00
Byron Lathi
0247565f49
Get super simple kernel code running
2023-08-26 13:09:02 -07:00
Byron Lathi
cc1d8d2015
Update o65dump to show reloc and undef symbols
2023-08-23 00:11:57 -07:00
Byron Lathi
8bccfed867
Change segment order to make o65 layout valid
...
VECTORS was messing things up
2023-08-22 20:49:07 -07:00
Byron Lathi
9972f8cb36
Update order for kernel segments
2023-08-22 19:27:09 -07:00
Byron Lathi
fd9389268a
Load root directory from sd card
2023-08-12 16:09:03 -07:00
Byron Lathi
7ad1079289
Restart kernel
2023-08-12 11:59:45 -07:00
Byron Lathi
5c72c574e5
Change link file to output flat binary
2022-04-21 17:37:12 -05:00
Byron Lathi
1a64fa4d62
Change kernel format to bin for merge
...
We don't have the bootloader reading o65 files right now, so we need to
keep the kernel as a bin file until that is added.
2022-04-20 13:54:07 -05:00
Byron Lathi
1b08d25ce1
Update makefile for tests
...
use the local sim65 instead of the installed one which doesn't exist
2022-04-20 12:59:32 -05:00
Byron Lathi
aa717685e3
Use our own toolchain instead of the one in the image
...
Now that we are adding our own target we can compile our own toolchain
instead of using the stock one. This does mean that there isn't really a
purpose to using the alpine cc65 image though
2022-04-20 12:41:20 -05:00
Byron Lathi
686630e79f
Remove unused code to make code smaller
...
These might need to be added back eventually.
2022-04-19 15:35:22 -05:00
Byron Lathi
f664d59497
Copy kernel into root folder after build
...
This way it gets copied over to the SD card when installing.
2022-04-19 10:33:27 -05:00
Byron Lathi
15a0917bb4
Change kernel to use none target
...
I forgot that the CI still uses the stock cc65 which doesn't support my
target. The kernel doesn't really need this target though, only the user
programs.
2022-04-18 20:31:11 -05:00
Byron Lathi
9f1d527a7c
Change kernel link type
...
Kernel is now compiled and linked into a raw binary instead of intel
hex. This raw binary can be loaded into the correct address by the
bootloader.
I wanted this to be an o65 file, but ld65 kept complaining about it.
Honestly though having this be a straight binary makes it easier to
load, but we can't relocate it.
2022-04-18 20:27:48 -05:00
Byron Lathi
a9d9bc0619
Allow subdirectories
...
Can now break apart a filepath into the parent directories and search
for each one of them (not recursively!).
2022-04-17 20:18:43 -05:00
Byron Lathi
52f631e558
Allow finding files in the root directory
...
This allows you to find the cluster number of a file in the root
directory by name. The main program is a simple demo where you can type
in a filename and it will tell you the cluster number.
2022-04-17 18:12:13 -05:00
Byron Lathi
edd13e9b71
Remove debug information
2022-04-17 18:11:45 -05:00
Byron Lathi
c6098f2d1f
Separate kernel code from test code
...
Eventually I want the kernel to be loaded from the SD card as well, but
it still needs to separate from user programs.
At some point there should be a folder just for the BIOS, which should
read from the boot block of the SD card and start executing, and thats
it.
2022-04-16 21:58:37 -05:00