aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup memzero callsHEADmainBad Diode2021-09-144-14/+25
|
* Move bss initialization to C codeBad Diode2021-09-143-10/+10
|
* Update FB initialization to use mbox instead of structsBad Diode2021-09-133-93/+72
| | | | | | | | | The framebuffer initialization was breaking randomly, I suspect because the memory access of the static fb_request was not 16 bit aligned. For simplicity, I went back to the volatile mbox array implementation. Additionally, now on fb_init the rgb order is requested to properly adjust the palette on docolors.
* Cleanup linker script and make .stack sectionBad Diode2021-09-134-38/+57
|
* Force non inline of 16 bit memory poking functionsBad Diode2021-09-104-13/+13
| | | | | | | | | On the Raspberry Pi 4, the compiler was inlining mempoke16 and doing some other optimizations on it, which I presume break the memory alignment requirements on aarch64. By adding __attribute__ ((noinline)) to the uxn functions that deal with 16 bit operations, we can turn back -O2 compiler optimizations and the code works properly again on hardware.
* Add workarounds for working hardware RPI4Bad Diode2021-09-094-14/+52
| | | | | For now we need to disable compiler optimizations, since they seem to mess up the mempoke16 memory access.
* Add system timer regs and sync execution at 60fpsBad Diode2021-09-092-1/+42
|
* Fix uart_puts before uart_init. Thanks alderwick!Bad Diode2021-09-091-1/+2
|
* Add READMEBad Diode2021-09-081-0/+39
|
* Add dirty lines and redraw optimization to ppuBad Diode2021-09-082-10/+42
|
* Add initial PPU implementation for UXNBad Diode2021-09-083-78/+156
|
* Add docolors implementation and test with screen.romBad Diode2021-09-084-10/+97
|
* Add boilerplate for initial implementation of UXNBad Diode2021-09-077-6/+4499
|
* Add working framebuffer requestBad Diode2021-09-073-4/+160
| | | | | | | | Resources: - https://jsandler18.github.io/extra/prop-channel.html - https://jsandler18.github.io/extra/mailbox.html - https://github.com/bztsrc/raspi3-tutorial/tree/master/09_framebuffer - https://www.youtube.com/watch?v=hSJWbmiQfck
* Cleanup UART code using structs for registersBad Diode2021-09-073-88/+141
| | | | | Resources: - https://www.youtube.com/watch?v=58f8Qfh-T6Q
* Add initial support for UART I/OBad Diode2021-09-076-10/+196
| | | | | | Resources: - https://github.com/bztsrc/raspi3-tutorial/tree/master/03_uart1 - https://www.youtube.com/watch?v=r3Ye08ktcMo
* Initial commit: bootstrapBad Diode2021-09-074-0/+95