Commit Graph

241 Commits

Author SHA1 Message Date
Byron Lathi
f99df72fe2 Update sdspi with write dma 2024-07-31 21:56:50 -07:00
Byron Lathi
383cb6d59e Add wait for DMA (should poll bit instead) 2024-07-26 22:58:31 -07:00
Byron Lathi
90c5c0dc94 Update SD version and start working on DMA 2024-07-21 18:58:35 -07:00
Byron Lathi
3d05d07541 Move shadow to us, get some commands going 2024-07-20 21:40:26 -07:00
Byron Lathi
f126e383a3 Update SD stuff 2024-07-20 16:03:06 -07:00
Byron Lathi
bdb3fc96d6 Add new sd wrapper
Wrapper is neccesary for the address offset and also because the
controller will trigger on reads/writes to registers, but we need access
to each byte of the 32 bit registers.

The wrapper will need to somehow chose when to actually trigger the
controller, maybe by having shadow registers?
2024-07-17 21:18:13 -07:00
Byron Lathi
25f51deaa7 Synthesize sd card dma 2024-03-17 22:26:42 -07:00
Byron Lathi
335f877d66 Run simulation with verilog sd emulator
This also slowed the cpu clock down, we should speed it up again
2024-03-14 08:17:05 -07:00
Byron Lathi
455814ec14 Update sd controller and test code 2024-03-12 18:20:51 -07:00
Byron Lathi
61f6e53327 Updates based on fpga test
1. in SD mode, CMD0 does not have a response, so we specifically ignore
   it.

2. The penable signal was messed up, although it looks like this doesn't
   matter anyway

3. The SD clock should be out of phase from the data signal by 180
   degrees, so that we get max hold time
2024-03-10 22:09:55 -07:00
Byron Lathi
da41e60ee7 integrate sd controller and super simple tb 2024-03-10 11:31:07 -07:00
Byron Lathi
10a72d8e1f Add sdram, don't think it works though 2024-03-03 20:43:37 -08:00
Byron Lathi
ab9da189d1 Build software correctly, ignore debugger files 2024-03-03 14:50:40 -08:00
Byron Lathi
42fbc17a2a Add test code and top level Makefile 2024-03-03 12:52:44 -08:00
Byron Lathi
0a0394ae33 Delete everything 2024-03-02 20:11:33 -08:00
Byron Lathi
0aca4af272 Add fixes for multiple sectors per cluster 2023-12-08 23:11:52 -08:00
Byron Lathi
5259fa8e65 Clear the carry flag, not the interrupt flag... 2023-12-08 08:12:50 -08:00
Byron Lathi
15e9b44318 Try clearing carry flag, that always helps. Also don't need verilog image anymore 2023-12-07 23:29:18 -08:00
Byron Lathi
6f16ac4daf Add close, add filesystem code to main kernel for hardware testing 2023-12-07 08:10:45 -08:00
Byron Lathi
0327ab6a2b Handle non-aligned reads 2023-12-06 21:02:41 -08:00
Byron Lathi
066bb0ee8c Get read working a little bit more. Need to handle edge cases! 2023-12-05 23:29:00 -08:00
Byron Lathi
4c3c3fd731 Get something working with read
It is not reading offset correctly
2023-12-05 22:47:24 -08:00
Byron Lathi
48b39eb92d Hack together open() 2023-12-05 19:10:27 -08:00
Byron Lathi
9ae1593957 Read out very long file, but not very long name 2023-12-05 08:29:44 -08:00
Byron Lathi
13738fc0d8 Read a little bit of the data from the file 2023-12-05 08:15:24 -08:00
Byron Lathi
946234381d Look through files without trying too hard 2023-12-05 08:08:20 -08:00
Byron Lathi
2859055f98 Add some basic code, build kernel stuff in tree 2023-12-04 23:06:00 -08:00
Byron Lathi
902b1b5bb9 Save root cluster number 2023-12-04 21:57:36 -08:00
Byron Lathi
84814f05f9 Calculate data start 2023-12-04 18:40:21 -08:00
Byron Lathi
16a7f4db4d Update cc65 pointer with PVSeek 2023-12-04 00:18:18 -08:00
Byron Lathi
5c74d161d4 Add some basic fat32 code 2023-12-03 23:27:45 -08:00
Byron Lathi
184c58b962 Add dumb multiplier code test 2023-12-02 20:31:59 -08:00
Byron Lathi
de804ac3ca Use tmp1 instead of y register
popa clobbers y
2023-12-01 22:53:41 -08:00
Byron Lathi
e8452eb98c Add rtc_set 2023-12-01 08:28:38 -08:00
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
3524892f80 Add quick uart irq test 2023-11-28 17:45:20 -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
90e0708012 update devices_setup_test makefile 2023-11-21 20:29:21 -08:00
Byron Lathi
0232d9c89f Rename symbols again 2023-11-21 20:20:25 -08:00
Byron Lathi
b7b852ae4a Update irq test code 2023-11-21 20:04:06 -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