Commit Graph

361 Commits

Author SHA1 Message Date
Björn Gaier b4be9de136 Load BIOS font 2023-12-18 16:12:13 -05:00
Jaby Blubb e916fc358b Implement buffered font loader 2023-12-17 23:10:36 +01:00
Jaby 17d6ca5329 Load a BIOS font 2023-12-13 19:46:34 -05:00
Jaby ae03e4ab1a Support %i 2023-12-05 21:04:45 -05:00
Jaby 10ac77fc75 Implement itoa 2023-12-05 20:46:15 -05:00
Jaby f54aec3d64 Prepare C arg list 2023-12-04 21:48:27 -05:00
Jaby 406749bacc Move make code to own header 2023-12-01 22:39:44 -05:00
Jaby 5d5b1ae6de New wiggle approach 2023-12-01 22:24:00 -05:00
Björn Gaier 5283a4487e Display text 2023-12-01 14:31:32 -05:00
Jaby 3c7a2e344a Improve naming 2023-11-26 19:44:10 -05:00
Jaby ba113bb408 Limit concat to non pointer types to avoid hard to track problems 2023-11-26 18:54:24 -05:00
Jaby d4efc432d2 Introduce mem dump code 2023-11-26 18:45:51 -05:00
Jaby d897cfe52b Sketch setup of Font 2023-11-26 18:43:23 -05:00
Jaby Blubb e603a11840 Disable auto crlf 2023-10-11 18:20:43 +02:00
Björn Gaier c78f103ca7 Replace define private with __friends 2023-10-06 14:50:44 +02:00
Björn Gaier 074e2d073f Turn SysCalls into a C++ file 2023-10-06 10:27:03 +02:00
Jaby db1bbec06e Replace include guards with pragma once 2023-10-05 21:40:04 +02:00
Jaby Blubb 19f8303d99 Add LINE to make functions as last primitive 2023-10-03 20:44:08 +02:00
Jaby Blubb 40ec19ce7a Extend make functions for POLY 2023-10-03 20:31:17 +02:00
Jaby Blubb 991bacfa9c Support TILE and SPRT for make functions 2023-10-03 17:10:10 +02:00
Jaby Blubb aebd68f633 Support even more make functions 2023-10-03 16:18:43 +02:00
Jaby Blubb 1a2c03cd11 Add more make functions 2023-10-03 16:04:37 +02:00
Jaby Blubb b35eef3e8e Create maker functions for Position and Size 2023-10-03 15:04:21 +02:00
Jaby Blubb 993adc3f26 Remove last constructor and remove GLOBAL SUB with it 2023-10-03 13:16:46 +02:00
Jaby Blubb 2c4583c8d7 Remove primitive support types constructor 2023-10-03 09:52:04 +02:00
Jaby Blubb 765cd539fe Remove Rectangle constructors 2023-09-27 22:09:15 +02:00
Jaby Blubb 7e5b92253c Remove POLY constructors 2023-09-27 21:15:53 +02:00
Jaby Blubb 4ab72dee71 Remove GPU Commands constructor 2023-09-25 20:45:11 +02:00
Jaby Blubb 2d61c617c5 Remove constructor linked elements 2023-09-25 20:35:47 +02:00
Jaby Blubb 2ff0e6a4bf Renamee IOPort 2 functions to original 2023-09-24 11:52:18 +02:00
Jaby Blubb 283878d5bc Finish clean-up 2023-09-22 20:53:26 +02:00
Jaby Blubb fb841de9e2 Support CD IO and start removing old IOPort 2023-09-22 18:52:31 +02:00
Jaby Blubb 9e0f9acdd1 Port TimerIO 2023-09-22 17:34:14 +02:00
Jaby Blubb 66d3eb3337 Convert SPU IO 2023-09-17 23:09:58 +02:00
Jaby Blubb ec09918254 Convert Interrupts 2023-09-17 22:25:54 +02:00
Jaby Blubb e2c8283076 Port GPU IO 2023-09-17 22:14:48 +02:00
Jaby Blubb a1ed1f28e8 Support DMA with new IO 2023-09-17 12:30:43 +02:00
Jaby Blubb 1792038283 Integrate new IO Code into memory_io 2023-09-17 08:50:06 +02:00
Jaby Blubb 5f87cfee09 Prepare for new IOPort code 2023-09-13 22:23:29 +02:00
Jaby Blubb 30759b85c7 Port to latest GCC and fix CD loading bug 2023-09-03 01:57:28 +02:00
Jaby Blubb 86e1d76733 Start refactor of FontWriter 2023-08-31 05:15:34 +02:00
Jaby Blubb e707fae349 Introduce new timer based on vsync 2023-08-27 21:29:43 +02:00
Jaby Blubb 5c40ef119e Share bss section with planschi section 2023-08-27 02:43:59 +02:00
Jaby 2b3ee8ea51 Make Linked elements BSS conform 2023-06-26 20:40:30 +02:00
Jaby Blubb 57b9b09338 Missed cmmits 2023-06-25 16:39:07 +02:00
Jaby 343a4c1ab2 Support color in text 2023-06-22 21:52:34 +02:00
Jaby 70f73084e9 Merge branch 'ToolBox' into ToolBox_FontWriter 2023-06-21 21:50:52 +02:00
Jaby 4726b3c5c0 Use BSS default constructor 2023-06-21 21:45:15 +02:00
Jaby 3433ab3810 Fix default constructor for rectangle types 2023-06-19 22:30:52 +02:00
Jaby 13c7cba599 Testing font and color font 2023-06-15 20:48:25 +02:00
Jaby b2886dfdac Support linking primitives 2023-06-13 21:21:02 +02:00
Jaby c705c3627c Support basic linked elements 2023-06-12 21:47:56 +02:00
Jaby cc77237150 Support all primitives 2023-06-05 22:44:45 +02:00
Jaby 299ba7a9d6 Prepare for textured sprites; better integration of GPU types 2023-05-31 22:29:19 +02:00
Jaby 4136cca2e5 Support RectF 2023-05-30 22:06:38 +02:00
Jaby bb124e29a0 Support all the line types in a somewhat decent way 2023-05-28 10:36:24 +02:00
Jaby 29728da2ee Improve LINE_F code 2023-05-27 22:21:02 +02:00
Jaby Blubb 4f11903ed2 Bound line type 2023-05-27 17:07:15 +02:00
Jaby Blubb 8679932d73 Introduce is_render_primitive type_trait 2023-05-27 16:40:59 +02:00
Jaby Blubb fc0e2db726 Support LINE_F 2023-05-27 15:14:19 +02:00
Jaby 7d53d38e73 Cleaned up primitives 2023-05-24 22:06:56 +02:00
Jaby f77750c054 Support GPU Primitives as constexpr 2023-05-24 20:55:43 +02:00
Jaby 3c22e70e94 Support POLY_GT4 2023-05-23 21:11:01 +02:00
Jaby 0b9162e00c Support gouraud rectangle 2023-05-23 20:39:11 +02:00
Jaby c9ec0c7f2d Support POLY_FT4 2023-05-19 22:26:53 +02:00
Jaby 2b37aa3db8 Support POLY_F4 2023-05-18 22:14:09 +02:00
Jaby 530a7cff72 Support more primitives 2023-05-17 22:59:21 +02:00
Jaby 04c6f7fb77 Support Gouraud Shading 2023-05-15 21:59:06 +02:00
Jaby e74cba6dfe Support textured triangles 2023-05-15 21:14:37 +02:00
Jaby 09b16dae16 Draw first triangle 2023-05-07 00:07:20 +02:00
Jaby de4ba5e1f3 Fix image conversion and CLUT placement 2023-05-01 22:37:41 +02:00
Jaby Blubb 60049cc9e5 Add BootImage to second DisplayBuffer during boot 2023-04-30 14:18:11 +02:00
Jaby 169c53e434 Fix broken DisplayArea 2023-04-27 21:23:06 +02:00
Jaby df9506b585 Create a frame rate 2023-04-26 22:06:47 +02:00
Jaby bd6891b371 Cleanup GPU code more 2023-04-26 20:42:44 +02:00
Jaby c1ff1187f9 Add busy loop code and make HighResTimer work on demand rather automatically or ifdefed 2023-04-26 19:09:07 +02:00
Jaby 9c7a94ea6a Improve starting of the game and reduce persistent memory usage 2023-04-17 20:21:32 +02:00
Jaby Blubb 74d58a5a50 Remove BootFiles. Setup code needs improving 2023-04-16 21:39:47 +02:00
Jaby Blubb d1e710a283 Reduce CDFileProcessor size and add configuratable buffer size 2023-04-16 21:11:10 +02:00
Jaby a0aeef9e3e Use LZ4 file info 2023-04-13 22:10:34 +02:00
Jaby 1329536586 Detect LZ4 files correctly now 2023-04-13 21:51:45 +02:00
Jaby a2c7af2e12 Prepare new LBA representation 2023-04-12 21:59:36 +02:00
Jaby Blubb 12e1b54ce9 Remove Overlayhader and support loading overlays 2023-04-10 17:01:28 +02:00
Jaby c37a011b9a Fix CD cancelling commands; Cleanup CD code a bit 2023-04-03 22:00:39 +02:00
Jaby a633b74db1 Load image w/o CircularBuffer 2023-04-01 14:57:03 +02:00
Jaby 8b94760130 Load TIM files (broken currently) 2023-04-01 11:57:48 +02:00
Jaby 658d092315 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 bdceb88fd0 Support CopyTo now 2023-03-27 22:20:42 +02:00
Jaby 0add2f5794 Successfully read in file 2023-03-27 20:43:18 +02:00
Jaby 2582d6ea21 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 00fc6fcf15 More cleanup 2023-03-22 21:23:52 +01:00
Jaby 28fb4df469 Remove ComplexBitMap header 2023-03-22 20:54:40 +01:00
Jaby dfab120bfb Remove the ComplexBitMap 2023-03-22 20:46:08 +01:00
Jaby 9a964a702e Improve readability of code slightly 2023-03-21 21:51:56 +01:00
Jaby f4cc1c5ea5 Ported CDIOs 2023-03-21 20:39:51 +01:00
Jaby fc47ca7c6a Port DMA code 2023-03-20 21:04:01 +01:00
Jaby bbfa7a24c8 Port GPU IOs 2023-03-20 19:06:28 +01:00
Jaby a0cef63369 Port InterruptIOs 2023-03-20 17:53:20 +01:00
Jaby 1143f73f9b Converted SPU IO 2023-03-18 17:13:45 +01:00
Jaby d185641a2a Convert Timer IO 2023-03-18 16:04:05 +01:00
Jaby 5a39a9a896 Make IOPort constexpr 2023-03-18 15:02:21 +01:00
Jaby 1e8997dbca Forgot to remove Cody 2023-03-16 22:26:45 +01:00
Jaby 2f79114217 Support IOPortValues 2023-03-16 22:20:43 +01:00
Jaby ce7efcef0b Support a form of setting bits easily 2023-03-15 21:38:55 +01:00
Jaby ce523a5358 Support assignment of values 2023-03-15 21:20:16 +01:00
Jaby a361f8e4a0 Refine new IO port concept 2023-03-14 22:53:32 +01:00
Jaby 37192b537b New concept for IOPorts 2023-03-14 22:33:49 +01:00
Björn Gaier b7f3d40a7c Improve CircularBuffer again 2023-03-03 17:30:45 +01:00
Björn Gaier d593dd97d1 Simulated load of a file 2023-03-03 14:33:29 +01:00
Jaby ae7edb5692 Setup Cody Git server and successfully pause after 1 sector 2023-02-27 18:14:04 +01:00
Jaby 362c43509d Read files with temp fix 2023-02-19 18:00:19 +01:00
Jaby d2fe06eef4 Set mode and improve on allocation callback 2023-02-18 10:56:46 +01:00
Jaby 26cd4bd4c4 Get rough shape of CD file processing code 2023-02-18 09:35:15 +01:00
Björn Gaier b7eb02ce8e Fix aligned memory read of unanligend memory 2023-02-03 18:10:57 +01:00
Björn Gaier bc6e483bcf Support writing LBA information into main file 2023-02-03 13:22:17 +01:00
Jaby 087c186bf9 Fix Typo 2023-01-25 20:49:32 +01:00
Jaby 94332e9dcf Prepare for supporting LBAs in persitent code 2023-01-25 20:46:26 +01:00
Jaby ffc0666935 Encode word size into OverlayLBA structure 2023-01-22 14:37:09 +01:00
Jaby d452a022cf Setup CD drive 2023-01-22 14:07:58 +01:00
Jaby aae1d3e066 Prepare setup of CD drive 2023-01-22 11:02:27 +01:00
Jaby dd1a5ba6da Finished CD_IOs 2023-01-21 12:18:02 +01:00
Jaby 98743f7948 On a better way 2023-01-17 22:04:35 +01:00
Jaby bde5656f38 Use write and read for BitRangeValues 2023-01-15 20:21:48 +01:00
Jaby 09328f8347 Improved names again 2023-01-15 20:16:20 +01:00
Jaby 35d5662d3b More cleanup 2023-01-15 17:14:34 +01:00
Jaby a58d352790 Enable CD IRQ code which caused those problems 2023-01-15 16:52:32 +01:00
Jaby fc915a887a Add new IOPort design 2023-01-15 16:49:38 +01:00
Jaby f30ecbe46c New proposal 2023-01-13 19:34:01 +01:00
Jaby 3dee2a8d74 Current progress 2023-01-13 19:16:04 +01:00
Jaby cf62ef783c First proposial for CD support 2023-01-12 21:51:08 +01:00
Jaby 600e3666fd Create CD related files 2023-01-11 20:51:47 +01:00
Jaby 67436a2e88 Support easier read 2023-01-10 21:12:41 +01:00
Jaby 3bd3a57801 Support HighResolutionTimer in a better fashion 2023-01-10 20:36:28 +01:00
Jaby 2b34d105c8 Support High Percision Counter 2023-01-09 22:27:10 +01:00
Jaby 4a09d57e5c Improve struct and namespace usage 2023-01-08 21:08:23 +01:00
Jaby 0544ec17dd Cleanup code 2023-01-08 16:39:26 +01:00
Jaby 149105a3fa Use GlobalTime 2023-01-08 16:20:30 +01:00
Jaby 3c1d965cc5 Fix weird bug in IOPort 2023-01-08 15:16:00 +01:00
Jaby 3d57dfdc92 Fix IO Port code again 2023-01-08 13:56:26 +01:00
Jaby 7824a2d916 Save progress 2023-01-06 22:15:03 +01:00
Björn Gaier ec6b93942c Sketch Timer and implement Interrupt support 2023-01-06 15:18:35 +01:00
Björn Gaier 6608d92934 Prepare IO Ports for timer 2023-01-06 12:14:53 +01:00
Jaby 9c77967c7f Improve LZ4 decompression 2023-01-03 21:20:53 +01:00
Jaby cdb3abd43f 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 87d7bf8efa Make LZ4 Decompressor return a state value 2022-12-29 13:25:48 +01:00
Jaby c7b9e4e301 Setup LZ4 decompressor but have it copy data for now 2022-12-27 22:06:14 +01:00
Jaby 8d48aecbab Improves return types with Progress type 2022-12-23 22:06:10 +01:00
Jaby c63f949c1f Create LZ4 decompressor files 2022-12-23 21:18:44 +01:00
Jaby 82a3b1f74e Introduce the JabyEngine namespace to all files 2022-12-23 21:18:25 +01:00
Jaby c0f2669f8a Test Circular Buffer 2022-12-23 20:33:36 +01:00
Jaby 92a6ba68f4 Introduce FastCircularBuffer 2022-12-19 21:01:59 +01:00
Björn Gaier 53f8d43342 Prepare CircularBuffer 2022-12-16 21:54:01 +01:00
Jaby 04739004f5 Use main 2022-12-16 03:47:30 +01:00
Jaby 8a6293dc87 Prepare save spot for booting 2022-12-16 03:20:08 +01:00
Jaby 01148b8c52 Slowly come up with design for loading from CD 2022-12-12 04:18:35 +01:00
Jaby 20ffbc5fa9 Prepare CD code and unify header names 2022-12-12 03:43:18 +01:00
Jaby 4cc2094031 Cover lbas 2022-12-04 17:23:45 +01:00
Jaby eda979e0ef Introduce Overlay Header and LBAs 2022-12-04 04:55:53 +01:00
Jaby ec4bdac5ec Setup Display to standard resolution instead of high res 2022-10-04 21:54:40 +02:00
Jaby 051ae637f1 Setup DisplayArea 2022-10-03 16:23:35 +02:00
Jaby 3ee0ba72b2 Separate between Display and Screen 2022-10-03 15:40:46 +02:00
Jaby 83c00992aa Configurate Screen 2022-10-03 15:38:54 +02:00
Jaby 8a117a0670 Create Macros for PAL/NTSC 2022-10-02 17:47:24 +02:00
Jaby 63df4e8ad8 Start configurating GPU 2022-10-02 17:32:23 +02:00
Jaby e5943cb3d2 Correct header file extension 2022-10-02 16:45:02 +02:00
Jaby fc50f62fd3 Improve code 2022-10-02 14:12:02 +02:00
Jaby 7c682bdd30 Upload Direct16 pic 2022-10-02 13:14:30 +02:00
Jaby 6ea257f650 Improvements to parse Texture data 2022-10-02 11:49:55 +02:00
Jaby 6407f89667 Include SplashImage and detect right type 2022-10-02 11:01:42 +02:00
Jaby 04358ed368 Use continous memory for loading files 2022-10-02 10:18:27 +02:00
Jaby 949c502d5d Verify basic usage of FileProcessor 2022-10-01 22:40:40 +02:00
Jaby 01a2f6134f Introduce SimpleTIM type 2022-10-01 21:02:58 +02:00
Jaby e97c805f5a Remove Port namespace and clean up 2022-09-11 15:51:09 +02:00
Jaby 303ffbccc9 Use DMA for GPU 2022-09-11 15:44:45 +02:00
Jaby 2a97f7fa68 Fix wrong color bit range 2022-09-11 15:44:11 +02:00
Jaby 3adf7c54a3 Create pattern 2022-09-11 13:40:20 +02:00
Jaby 2024024bf1 Fixed bug and spread some always_inlines 2022-09-11 12:06:40 +02:00
Jaby 54de6c3f70 Clean Up 2022-09-11 11:44:58 +02:00
Jaby 28122a8e1c Making ComplexBitMap a POD part 1 2022-09-11 11:36:51 +02:00
Jaby db3196b290 Added named colors 2022-09-11 10:17:02 +02:00
Jaby 3317867f1d Introduce internal and normal GPU functions 2022-09-11 10:10:51 +02:00
Jaby b523c2c73f Introduce QuickFill 2022-09-08 21:36:12 +02:00
Jaby 00cdabb5de Make SPU wait for boot up sound to finish 2022-09-08 20:36:54 +02:00
Jaby 9f916d79ee Prepare GPU setup 2022-09-08 20:36:36 +02:00
Jaby d9da876bab Implement GPUSTAT and update IOPort design 2022-09-07 21:45:28 +02:00
Jaby a2532b03fc Merge branch 'main' into GPU-Setup 2022-09-07 19:49:51 +02:00
Jaby a605c1e2df Add Port namespace for DMA 2022-09-07 19:49:37 +02:00
Jaby 36824055e6 Prepare more GPU stuff 2022-09-07 19:34:02 +02:00
Jaby 12b47ee9f5 Merge branch 'main' into GPU-Setup 2022-09-07 19:09:35 +02:00
Jaby 2893acae19 Final clean up of IOPort 2022-09-07 19:08:11 +02:00
Jaby beb3d6cb86 Support 'with' 2022-09-05 22:35:38 +02:00
Jaby 2ecd72a447 Improve IOPort code 2022-09-05 20:58:33 +02:00
Jaby 3d0dc45997 Create Scratchpad 2022-09-05 17:37:40 +02:00
Jaby 21e53d178f Setup SPU 2022-09-02 22:29:44 +02:00
Jaby 8ab74622a3 Almost finished setup SPU 2022-09-02 18:05:21 +02:00
Jaby 73c70d98ba Clear voices 2022-09-02 13:04:24 +02:00
Jaby 024e94f7b2 Use new fancy way to set values at build time 2022-09-02 12:07:22 +02:00
Jaby 2306cddeeb Clear Control Register 2022-09-02 11:33:42 +02:00
Jaby 24d8f830e2 Clear MainVolume and improve port code 2022-09-02 11:02:56 +02:00
Jaby 094bd46eae Clear Voice Keys 2022-09-02 10:23:32 +02:00