Commit Graph

357 Commits

Author SHA1 Message Date
jaby d6cbf7b12e Implement buffered font loader 2023-12-17 23:10:36 +01:00
jaby 09650431e2 Load a BIOS font 2023-12-13 19:46:34 -05:00
jaby 018cd9dac0 Move make code to own header 2023-12-01 22:39:44 -05:00
jaby b5e3ccde5a New wiggle approach 2023-12-01 22:24:00 -05:00
jaby cd9f90bcd4 Display text 2023-12-01 14:31:32 -05:00
jaby 30057d9687 Improve naming 2023-11-26 19:44:10 -05:00
jaby 21649c4fe8 Limit concat to non pointer types to avoid hard to track problems 2023-11-26 18:54:24 -05:00
jaby 33e19c49c8 Introduce mem dump code 2023-11-26 18:45:51 -05:00
jaby 598cef32b1 Sketch setup of Font 2023-11-26 18:43:23 -05:00
jaby 6d4916178c Disable auto crlf 2023-10-11 18:20:43 +02:00
jaby 8b0c47c1db Replace define private with __friends 2023-10-06 14:50:44 +02:00
jaby 6994d8d05a Turn SysCalls into a C++ file 2023-10-06 10:27:03 +02:00
jaby c976141c51 Replace include guards with pragma once 2023-10-05 21:40:04 +02:00
jaby b9cfbaec6b Add LINE to make functions as last primitive 2023-10-03 20:44:08 +02:00
jaby 246fd80ed9 Extend make functions for POLY 2023-10-03 20:31:17 +02:00
jaby 3c6c60792b Support TILE and SPRT for make functions 2023-10-03 17:10:10 +02:00
jaby 234cb064e2 Support even more make functions 2023-10-03 16:18:43 +02:00
jaby 9385f53bad Add more make functions 2023-10-03 16:04:37 +02:00
jaby a9f9ef8215 Create maker functions for Position and Size 2023-10-03 15:04:21 +02:00
jaby baa9e8c5de Remove last constructor and remove GLOBAL SUB with it 2023-10-03 13:16:46 +02:00
jaby af5855804f Remove primitive support types constructor 2023-10-03 09:52:04 +02:00
jaby f852c564cd Remove Rectangle constructors 2023-09-27 22:09:15 +02:00
jaby 0e78551a5a Remove POLY constructors 2023-09-27 21:15:53 +02:00
jaby 7943bafb8d Remove GPU Commands constructor 2023-09-25 20:45:11 +02:00
jaby ce36f69435 Remove constructor linked elements 2023-09-25 20:35:47 +02:00
jaby a9da459823 Renamee IOPort 2 functions to original 2023-09-24 11:52:18 +02:00
jaby 09aed0ffc4 Finish clean-up 2023-09-22 20:53:26 +02:00
jaby 32682aa2f0 Support CD IO and start removing old IOPort 2023-09-22 18:52:31 +02:00
jaby 2aaa41302f Port TimerIO 2023-09-22 17:34:14 +02:00
jaby e51d9ebb3a Convert SPU IO 2023-09-17 23:09:58 +02:00
jaby 4d5662df51 Convert Interrupts 2023-09-17 22:25:54 +02:00
jaby d7df0b038b Port GPU IO 2023-09-17 22:14:48 +02:00
jaby 87a7a349cc Support DMA with new IO 2023-09-17 12:30:43 +02:00
jaby 19c5485658 Integrate new IO Code into memory_io 2023-09-17 08:50:06 +02:00
jaby b0189469cd Prepare for new IOPort code 2023-09-13 22:23:29 +02:00
jaby 101e44b1ac Port to latest GCC and fix CD loading bug 2023-09-03 01:57:28 +02:00
jaby 1e94d0352b Start refactor of FontWriter 2023-08-31 05:15:34 +02:00
jaby c40a8f44a5 Introduce new timer based on vsync 2023-08-27 21:29:43 +02:00
jaby 83cdade874 Share bss section with planschi section 2023-08-27 02:43:59 +02:00
jaby 75ab477fff Make Linked elements BSS conform 2023-06-26 20:40:30 +02:00
jaby 63aa467962 Missed cmmits 2023-06-25 16:39:07 +02:00
jaby dded028da2 Support color in text 2023-06-22 21:52:34 +02:00
jaby 6f96e5fdc0 Merge branch 'ToolBox' into ToolBox_FontWriter 2023-06-21 21:50:52 +02:00
jaby 3be39c410b Use BSS default constructor 2023-06-21 21:45:15 +02:00
jaby 075c7685df Fix default constructor for rectangle types 2023-06-19 22:30:52 +02:00
jaby d40486a308 Testing font and color font 2023-06-15 20:48:25 +02:00
jaby 50a2fc3128 Support linking primitives 2023-06-13 21:21:02 +02:00
jaby 04fa09e7e7 Support basic linked elements 2023-06-12 21:47:56 +02:00
jaby fd9e352355 Support all primitives 2023-06-05 22:44:45 +02:00
jaby d99b7445be Prepare for textured sprites; better integration of GPU types 2023-05-31 22:29:19 +02:00
jaby 1ff6367918 Support RectF 2023-05-30 22:06:38 +02:00
jaby ad7a6c2210 Support all the line types in a somewhat decent way 2023-05-28 10:36:24 +02:00
jaby 3d0a5b81c2 Improve LINE_F code 2023-05-27 22:21:02 +02:00
jaby f67361c62b Bound line type 2023-05-27 17:07:15 +02:00
jaby 81bb8c76fa Introduce is_render_primitive type_trait 2023-05-27 16:40:59 +02:00
jaby 4914e3b9b4 Support LINE_F 2023-05-27 15:14:19 +02:00
jaby 1832f6b066 Cleaned up primitives 2023-05-24 22:06:56 +02:00
jaby 6d6396ad16 Support GPU Primitives as constexpr 2023-05-24 20:55:43 +02:00
jaby a16f12a5ce Support POLY_GT4 2023-05-23 21:11:01 +02:00
jaby e8bd3f9fb6 Support gouraud rectangle 2023-05-23 20:39:11 +02:00
jaby cc2c01138c Support POLY_FT4 2023-05-19 22:26:53 +02:00
jaby 5d2404c8bf Support POLY_F4 2023-05-18 22:14:09 +02:00
jaby cc9e91bebb Support more primitives 2023-05-17 22:59:21 +02:00
jaby ef08bac90e Support Gouraud Shading 2023-05-15 21:59:06 +02:00
jaby d7e4330868 Support textured triangles 2023-05-15 21:14:37 +02:00
jaby 3831c3a3eb Draw first triangle 2023-05-07 00:07:20 +02:00
jaby 513275fba8 Fix image conversion and CLUT placement 2023-05-01 22:37:41 +02:00
jaby 73a0245b0d Add BootImage to second DisplayBuffer during boot 2023-04-30 14:18:11 +02:00
jaby ad18c89c0b Fix broken DisplayArea 2023-04-27 21:23:06 +02:00
jaby a2c735f158 Create a frame rate 2023-04-26 22:06:47 +02:00
jaby f566383467 Cleanup GPU code more 2023-04-26 20:42:44 +02:00
jaby 9dc25e469c Add busy loop code and make HighResTimer work on demand rather automatically or ifdefed 2023-04-26 19:09:07 +02:00
jaby e833b758cc Improve starting of the game and reduce persistent memory usage 2023-04-17 20:21:32 +02:00
jaby e6042808ee Remove BootFiles. Setup code needs improving 2023-04-16 21:39:47 +02:00
jaby e4657337f9 Reduce CDFileProcessor size and add configuratable buffer size 2023-04-16 21:11:10 +02:00
jaby e21d7c5d50 Use LZ4 file info 2023-04-13 22:10:34 +02:00
jaby 30561183fd Detect LZ4 files correctly now 2023-04-13 21:51:45 +02:00
jaby 320fa8934c Prepare new LBA representation 2023-04-12 21:59:36 +02:00
jaby 1a0d175779 Remove Overlayhader and support loading overlays 2023-04-10 17:01:28 +02:00
jaby 7a373a38ff Fix CD cancelling commands; Cleanup CD code a bit 2023-04-03 22:00:39 +02:00
jaby 6333581c4c Load image w/o CircularBuffer 2023-04-01 14:57:03 +02:00
jaby 173c31dede Load TIM files (broken currently) 2023-04-01 11:57:48 +02:00
jaby e9cc5f299a Integrate CircularBuffer as essential part of loading files from CD and dedicate file processing to the FileProcessor 2023-04-01 11:20:56 +02:00
jaby 2882ddfc34 Support CopyTo now 2023-03-27 22:20:42 +02:00
jaby 206c95f295 Successfully read in file 2023-03-27 20:43:18 +02:00
jaby 50eaedde6a Code ready to obtain data; Doesn't work in No and causes strange errors in DS 2023-03-26 16:42:45 +02:00
jaby 159fbc5d9c More cleanup 2023-03-22 21:23:52 +01:00
jaby 0ad664d94c Remove ComplexBitMap header 2023-03-22 20:54:40 +01:00
jaby 94c078dc9f Remove the ComplexBitMap 2023-03-22 20:46:08 +01:00
jaby 550d657478 Improve readability of code slightly 2023-03-21 21:51:56 +01:00
jaby 8e883ad1d1 Ported CDIOs 2023-03-21 20:39:51 +01:00
jaby 44685184f8 Port DMA code 2023-03-20 21:04:01 +01:00
jaby 9243a3a17f Port GPU IOs 2023-03-20 19:06:28 +01:00
jaby 69b886e677 Port InterruptIOs 2023-03-20 17:53:20 +01:00
jaby bc5164ce04 Converted SPU IO 2023-03-18 17:13:45 +01:00
jaby 33b5d4d3b7 Convert Timer IO 2023-03-18 16:04:05 +01:00
jaby 47484a8056 Make IOPort constexpr 2023-03-18 15:02:21 +01:00
jaby 5fc4c2dc44 Forgot to remove Cody 2023-03-16 22:26:45 +01:00
jaby 9659cc6ad5 Support IOPortValues 2023-03-16 22:20:43 +01:00
jaby e11e475802 Support a form of setting bits easily 2023-03-15 21:38:55 +01:00
jaby ed71af970b Support assignment of values 2023-03-15 21:20:16 +01:00
jaby 218b8e0e3b Refine new IO port concept 2023-03-14 22:53:32 +01:00
jaby 46aedaa067 New concept for IOPorts 2023-03-14 22:33:49 +01:00
jaby d8e7772ee5 Improve CircularBuffer again 2023-03-03 17:30:45 +01:00
jaby 45371bc2f0 Simulated load of a file 2023-03-03 14:33:29 +01:00
jaby 0b3eba80d9 Setup Cody Git server and successfully pause after 1 sector 2023-02-27 18:14:04 +01:00
jaby db5366f35b Read files with temp fix 2023-02-19 18:00:19 +01:00
jaby fa8c3ae822 Set mode and improve on allocation callback 2023-02-18 10:56:46 +01:00
jaby a8cef82e58 Get rough shape of CD file processing code 2023-02-18 09:35:15 +01:00
jaby 8df55d1594 Fix aligned memory read of unanligend memory 2023-02-03 18:10:57 +01:00
jaby 09f1ece6bb Support writing LBA information into main file 2023-02-03 13:22:17 +01:00
jaby 85dfcbe088 Fix Typo 2023-01-25 20:49:32 +01:00
jaby 3851cecd9b Prepare for supporting LBAs in persitent code 2023-01-25 20:46:26 +01:00
jaby 22efc808ca Encode word size into OverlayLBA structure 2023-01-22 14:37:09 +01:00
jaby c07556895d Setup CD drive 2023-01-22 14:07:58 +01:00
jaby 2250be6df9 Prepare setup of CD drive 2023-01-22 11:02:27 +01:00
jaby 5a23249032 Finished CD_IOs 2023-01-21 12:18:02 +01:00
jaby 817e51b95d On a better way 2023-01-17 22:04:35 +01:00
jaby db8a51fff9 Use write and read for BitRangeValues 2023-01-15 20:21:48 +01:00
jaby 3687fda821 Improved names again 2023-01-15 20:16:20 +01:00
jaby 0476eb7c99 More cleanup 2023-01-15 17:14:34 +01:00
jaby 8742e0ce2d Enable CD IRQ code which caused those problems 2023-01-15 16:52:32 +01:00
jaby 3da34d0686 Add new IOPort design 2023-01-15 16:49:38 +01:00
jaby 509c25dfec New proposal 2023-01-13 19:34:01 +01:00
jaby c1f86c11c3 Current progress 2023-01-13 19:16:04 +01:00
jaby 974793c17b First proposial for CD support 2023-01-12 21:51:08 +01:00
jaby c1bee684b9 Create CD related files 2023-01-11 20:51:47 +01:00
jaby bc7e00a105 Support easier read 2023-01-10 21:12:41 +01:00
jaby 101fdd9299 Support HighResolutionTimer in a better fashion 2023-01-10 20:36:28 +01:00
jaby 0d1e9c3df8 Support High Percision Counter 2023-01-09 22:27:10 +01:00
jaby a791f0bffd Improve struct and namespace usage 2023-01-08 21:08:23 +01:00
jaby 297526e4d0 Cleanup code 2023-01-08 16:39:26 +01:00
jaby 7b1cefac0a Use GlobalTime 2023-01-08 16:20:30 +01:00
jaby d403aedf16 Fix weird bug in IOPort 2023-01-08 15:16:00 +01:00
jaby 2d174dc79a Fix IO Port code again 2023-01-08 13:56:26 +01:00
jaby 5e7aa29e9c Save progress 2023-01-06 22:15:03 +01:00
jaby b9b3656180 Sketch Timer and implement Interrupt support 2023-01-06 15:18:35 +01:00
jaby d0f52aa494 Prepare IO Ports for timer 2023-01-06 12:14:53 +01:00
jaby 0d6b05e148 Improve LZ4 decompression 2023-01-03 21:20:53 +01:00
jaby 3d56532a3b Broken LZ4 algorithm! The decompression seems to work now (needs improvement?) but the conversion tools emit 64K block sizes which is unhelpfull for us 2022-12-29 23:18:37 +01:00
jaby 3554394e11 Make LZ4 Decompressor return a state value 2022-12-29 13:25:48 +01:00
jaby fa993cc63e Setup LZ4 decompressor but have it copy data for now 2022-12-27 22:06:14 +01:00
jaby 4b644aa813 Improves return types with Progress type 2022-12-23 22:06:10 +01:00
jaby 64b36f4f85 Create LZ4 decompressor files 2022-12-23 21:18:44 +01:00
jaby def6c6d3b9 Introduce the JabyEngine namespace to all files 2022-12-23 21:18:25 +01:00
jaby 791fe85ab8 Test Circular Buffer 2022-12-23 20:33:36 +01:00
jaby a3a757e170 Introduce FastCircularBuffer 2022-12-19 21:01:59 +01:00
jaby a47b94c3a9 Prepare CircularBuffer 2022-12-16 21:54:01 +01:00
jaby bc15dae5d1 Use main 2022-12-16 03:47:30 +01:00
jaby c7e651f2e7 Prepare save spot for booting 2022-12-16 03:20:08 +01:00
jaby 723864fcaa Slowly come up with design for loading from CD 2022-12-12 04:18:35 +01:00
jaby 0e4e53f3a4 Prepare CD code and unify header names 2022-12-12 03:43:18 +01:00
jaby 78bedd0e90 Cover lbas 2022-12-04 17:23:45 +01:00
jaby 5320eab44d Introduce Overlay Header and LBAs 2022-12-04 04:55:53 +01:00
jaby 32e5b55b0a Setup Display to standard resolution instead of high res 2022-10-04 21:54:40 +02:00
jaby 1e329bb691 Setup DisplayArea 2022-10-03 16:23:35 +02:00
jaby 69a84952ba Separate between Display and Screen 2022-10-03 15:40:46 +02:00
jaby 97226300d6 Configurate Screen 2022-10-03 15:38:54 +02:00
jaby 04af1daf6c Create Macros for PAL/NTSC 2022-10-02 17:47:24 +02:00
jaby 733921f4ce Start configurating GPU 2022-10-02 17:32:23 +02:00
jaby e126fdaceb Correct header file extension 2022-10-02 16:45:02 +02:00
jaby 17f7ba545e Improve code 2022-10-02 14:12:02 +02:00
jaby 5a0e5d5df6 Upload Direct16 pic 2022-10-02 13:14:30 +02:00
jaby e5e622072a Improvements to parse Texture data 2022-10-02 11:49:55 +02:00
jaby e69974672b Include SplashImage and detect right type 2022-10-02 11:01:42 +02:00
jaby 7cfb2dab33 Use continous memory for loading files 2022-10-02 10:18:27 +02:00
jaby a9790688f5 Verify basic usage of FileProcessor 2022-10-01 22:40:40 +02:00
jaby 706f989f8f Introduce SimpleTIM type 2022-10-01 21:02:58 +02:00
jaby 1eacebb014 Remove Port namespace and clean up 2022-09-11 15:51:09 +02:00
jaby 30824748ea Use DMA for GPU 2022-09-11 15:44:45 +02:00
jaby b9b01bd544 Fix wrong color bit range 2022-09-11 15:44:11 +02:00
jaby e2af03a268 Create pattern 2022-09-11 13:40:20 +02:00
jaby 683bd7ac99 Fixed bug and spread some always_inlines 2022-09-11 12:06:40 +02:00
jaby 14d9caef43 Clean Up 2022-09-11 11:44:58 +02:00
jaby d30a975725 Making ComplexBitMap a POD part 1 2022-09-11 11:36:51 +02:00
jaby 9cb0b70308 Added named colors 2022-09-11 10:17:02 +02:00
jaby a8f0bddc89 Introduce internal and normal GPU functions 2022-09-11 10:10:51 +02:00
jaby 679899279d Introduce QuickFill 2022-09-08 21:36:12 +02:00
jaby b5533733c3 Make SPU wait for boot up sound to finish 2022-09-08 20:36:54 +02:00
jaby f5d1453555 Prepare GPU setup 2022-09-08 20:36:36 +02:00
jaby 5c7d464425 Implement GPUSTAT and update IOPort design 2022-09-07 21:45:28 +02:00
jaby 24244307a5 Merge branch 'main' into GPU-Setup 2022-09-07 19:49:51 +02:00
jaby b590d4c870 Add Port namespace for DMA 2022-09-07 19:49:37 +02:00
jaby 9ae81fa697 Prepare more GPU stuff 2022-09-07 19:34:02 +02:00
jaby f10c9edc21 Merge branch 'main' into GPU-Setup 2022-09-07 19:09:35 +02:00
jaby c9d4af9376 Final clean up of IOPort 2022-09-07 19:08:11 +02:00
jaby 3448d3c115 Support 'with' 2022-09-05 22:35:38 +02:00
jaby 1510e27b00 Improve IOPort code 2022-09-05 20:58:33 +02:00
jaby d1318dea9c Create Scratchpad 2022-09-05 17:37:40 +02:00
jaby 0a720dc906 Setup SPU 2022-09-02 22:29:44 +02:00
jaby 16bf7ac465 Almost finished setup SPU 2022-09-02 18:05:21 +02:00
jaby cf663aee73 Clear voices 2022-09-02 13:04:24 +02:00
jaby 181ff65c9c Use new fancy way to set values at build time 2022-09-02 12:07:22 +02:00
jaby 7071acead1 Clear Control Register 2022-09-02 11:33:42 +02:00
jaby dac33a77c6 Clear MainVolume and improve port code 2022-09-02 11:02:56 +02:00
jaby 5c15b66873 Clear Voice Keys 2022-09-02 10:23:32 +02:00
jaby f953044f23 Using new IO Port 2022-08-31 23:02:40 +02:00
jaby 6719250fa7 Create new IO Port 2022-08-31 22:51:13 +02:00
jaby a9f5d783ee DTC 2022-08-31 22:16:16 +02:00
jaby 10dbcbeef7 SPU Controll Register 2022-08-31 22:00:38 +02:00