Commit Graph

357 Commits

Author SHA1 Message Date
Jaby 0c9207030d Implement buffered font loader 2023-12-17 23:10:36 +01:00
Jaby 204a09801c Load a BIOS font 2023-12-13 19:46:34 -05:00
Jaby 4700427e61 Move make code to own header 2023-12-01 22:39:44 -05:00
Jaby ebf9f2b5c4 New wiggle approach 2023-12-01 22:24:00 -05:00
Jaby a6c98d9ff7 Display text 2023-12-01 14:31:32 -05:00
Jaby df49679090 Improve naming 2023-11-26 19:44:10 -05:00
Jaby 4bcfbf1f19 Limit concat to non pointer types to avoid hard to track problems 2023-11-26 18:54:24 -05:00
Jaby 0a6ed5f2ba Introduce mem dump code 2023-11-26 18:45:51 -05:00
Jaby 0219d70bf5 Sketch setup of Font 2023-11-26 18:43:23 -05:00
Jaby 56a599f9c5 Disable auto crlf 2023-10-11 18:20:43 +02:00
Jaby a07948fdb2 Replace define private with __friends 2023-10-06 14:50:44 +02:00
Jaby 21d7b78031 Turn SysCalls into a C++ file 2023-10-06 10:27:03 +02:00
Jaby f975df6698 Replace include guards with pragma once 2023-10-05 21:40:04 +02:00
Jaby d2d5e8c1c0 Add LINE to make functions as last primitive 2023-10-03 20:44:08 +02:00
Jaby 984c24118d Extend make functions for POLY 2023-10-03 20:31:17 +02:00
Jaby 6971f5a9b9 Support TILE and SPRT for make functions 2023-10-03 17:10:10 +02:00
Jaby bf3f2d507a Support even more make functions 2023-10-03 16:18:43 +02:00
Jaby 724e9fb81e Add more make functions 2023-10-03 16:04:37 +02:00
Jaby 2bcdb279d9 Create maker functions for Position and Size 2023-10-03 15:04:21 +02:00
Jaby 30b08d7de8 Remove last constructor and remove GLOBAL SUB with it 2023-10-03 13:16:46 +02:00
Jaby b2907402fe Remove primitive support types constructor 2023-10-03 09:52:04 +02:00
Jaby 216de78f33 Remove Rectangle constructors 2023-09-27 22:09:15 +02:00
Jaby 3db693d473 Remove POLY constructors 2023-09-27 21:15:53 +02:00
Jaby f7b8196675 Remove GPU Commands constructor 2023-09-25 20:45:11 +02:00
Jaby a6e81fedfd Remove constructor linked elements 2023-09-25 20:35:47 +02:00
Jaby b603cefca0 Renamee IOPort 2 functions to original 2023-09-24 11:52:18 +02:00
Jaby 656a5b9b81 Finish clean-up 2023-09-22 20:53:26 +02:00
Jaby d222d65b3f Support CD IO and start removing old IOPort 2023-09-22 18:52:31 +02:00
Jaby 6331ee3b5c Port TimerIO 2023-09-22 17:34:14 +02:00
Jaby 5b8b498a47 Convert SPU IO 2023-09-17 23:09:58 +02:00
Jaby 4f462376f2 Convert Interrupts 2023-09-17 22:25:54 +02:00
Jaby f9a9c6a544 Port GPU IO 2023-09-17 22:14:48 +02:00
Jaby 7ab1bdaeb0 Support DMA with new IO 2023-09-17 12:30:43 +02:00
Jaby a1a19d09a2 Integrate new IO Code into memory_io 2023-09-17 08:50:06 +02:00
Jaby 1a1c92646e Prepare for new IOPort code 2023-09-13 22:23:29 +02:00
Jaby f37f4bd0b0 Port to latest GCC and fix CD loading bug 2023-09-03 01:57:28 +02:00
Jaby 7609bc15f4 Start refactor of FontWriter 2023-08-31 05:15:34 +02:00
Jaby ed9326673d Introduce new timer based on vsync 2023-08-27 21:29:43 +02:00
Jaby 08a50a6020 Share bss section with planschi section 2023-08-27 02:43:59 +02:00
Jaby a2c2048534 Make Linked elements BSS conform 2023-06-26 20:40:30 +02:00
Jaby e7c0453586 Missed cmmits 2023-06-25 16:39:07 +02:00
Jaby c60f8ac50a Support color in text 2023-06-22 21:52:34 +02:00
Jaby bb895a0ddc Merge branch 'ToolBox' into ToolBox_FontWriter 2023-06-21 21:50:52 +02:00
Jaby 12d688befb Use BSS default constructor 2023-06-21 21:45:15 +02:00
Jaby 01aae8bb5b Fix default constructor for rectangle types 2023-06-19 22:30:52 +02:00
Jaby a5786fed82 Testing font and color font 2023-06-15 20:48:25 +02:00
Jaby c947f96f28 Support linking primitives 2023-06-13 21:21:02 +02:00
Jaby cc5ec1be1c Support basic linked elements 2023-06-12 21:47:56 +02:00
Jaby 587ba9c78a Support all primitives 2023-06-05 22:44:45 +02:00
Jaby 1e11475fa1 Prepare for textured sprites; better integration of GPU types 2023-05-31 22:29:19 +02:00
Jaby f5b4490e4f Support RectF 2023-05-30 22:06:38 +02:00
Jaby ffcd02df9b Support all the line types in a somewhat decent way 2023-05-28 10:36:24 +02:00
Jaby f1563b990f Improve LINE_F code 2023-05-27 22:21:02 +02:00
Jaby 1b37748e0a Bound line type 2023-05-27 17:07:15 +02:00
Jaby 4bdc58479f Introduce is_render_primitive type_trait 2023-05-27 16:40:59 +02:00
Jaby 5cb2bdf4fc Support LINE_F 2023-05-27 15:14:19 +02:00
Jaby 43109489f3 Cleaned up primitives 2023-05-24 22:06:56 +02:00
Jaby 2a2fd8e13d Support GPU Primitives as constexpr 2023-05-24 20:55:43 +02:00
Jaby 285416b350 Support POLY_GT4 2023-05-23 21:11:01 +02:00
Jaby 3c269100b9 Support gouraud rectangle 2023-05-23 20:39:11 +02:00
Jaby 8ad149ab18 Support POLY_FT4 2023-05-19 22:26:53 +02:00
Jaby 6ddb8fa038 Support POLY_F4 2023-05-18 22:14:09 +02:00
Jaby 0d10bae5fc Support more primitives 2023-05-17 22:59:21 +02:00
Jaby 332ec50e6b Support Gouraud Shading 2023-05-15 21:59:06 +02:00
Jaby 60e2b7558a Support textured triangles 2023-05-15 21:14:37 +02:00
Jaby 22059f957f Draw first triangle 2023-05-07 00:07:20 +02:00
Jaby dbf616a916 Fix image conversion and CLUT placement 2023-05-01 22:37:41 +02:00
Jaby 2906a299cc Add BootImage to second DisplayBuffer during boot 2023-04-30 14:18:11 +02:00
Jaby 613a098dfd Fix broken DisplayArea 2023-04-27 21:23:06 +02:00
Jaby 63e354cc86 Create a frame rate 2023-04-26 22:06:47 +02:00
Jaby f05c56a5ba Cleanup GPU code more 2023-04-26 20:42:44 +02:00
Jaby da5b10c8d9 Add busy loop code and make HighResTimer work on demand rather automatically or ifdefed 2023-04-26 19:09:07 +02:00
Jaby 3f4ba0506e Improve starting of the game and reduce persistent memory usage 2023-04-17 20:21:32 +02:00
Jaby 888634a691 Remove BootFiles. Setup code needs improving 2023-04-16 21:39:47 +02:00
Jaby a63f293af0 Reduce CDFileProcessor size and add configuratable buffer size 2023-04-16 21:11:10 +02:00
Jaby dd2e11a7f3 Use LZ4 file info 2023-04-13 22:10:34 +02:00
Jaby cc93c63998 Detect LZ4 files correctly now 2023-04-13 21:51:45 +02:00
Jaby b6dc67ce71 Prepare new LBA representation 2023-04-12 21:59:36 +02:00
Jaby 15b3f32039 Remove Overlayhader and support loading overlays 2023-04-10 17:01:28 +02:00
Jaby 575bc5d6bc Fix CD cancelling commands; Cleanup CD code a bit 2023-04-03 22:00:39 +02:00
Jaby a7e6a786c3 Load image w/o CircularBuffer 2023-04-01 14:57:03 +02:00
Jaby 57fe9896e8 Load TIM files (broken currently) 2023-04-01 11:57:48 +02:00
Jaby 1b169cb35f 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 ff18f8293e Support CopyTo now 2023-03-27 22:20:42 +02:00
Jaby cc14502c1f Successfully read in file 2023-03-27 20:43:18 +02:00
Jaby 14a2cb70f1 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 0bde700320 More cleanup 2023-03-22 21:23:52 +01:00
Jaby 2d4e328f45 Remove ComplexBitMap header 2023-03-22 20:54:40 +01:00
Jaby 7d3d080129 Remove the ComplexBitMap 2023-03-22 20:46:08 +01:00
Jaby 1829f1f5e3 Improve readability of code slightly 2023-03-21 21:51:56 +01:00
Jaby e35bd6000a Ported CDIOs 2023-03-21 20:39:51 +01:00
Jaby 76a2c51655 Port DMA code 2023-03-20 21:04:01 +01:00
Jaby 9431c931e1 Port GPU IOs 2023-03-20 19:06:28 +01:00
Jaby 06c638188d Port InterruptIOs 2023-03-20 17:53:20 +01:00
Jaby 22db8a26a6 Converted SPU IO 2023-03-18 17:13:45 +01:00
Jaby 01e72e300d Convert Timer IO 2023-03-18 16:04:05 +01:00
Jaby a349746263 Make IOPort constexpr 2023-03-18 15:02:21 +01:00
Jaby 63b93efef3 Forgot to remove Cody 2023-03-16 22:26:45 +01:00
Jaby d1f4af13e5 Support IOPortValues 2023-03-16 22:20:43 +01:00
Jaby fca9ae7ed1 Support a form of setting bits easily 2023-03-15 21:38:55 +01:00
Jaby 8580b61c3f Support assignment of values 2023-03-15 21:20:16 +01:00
Jaby 706daa04ac Refine new IO port concept 2023-03-14 22:53:32 +01:00
Jaby fcece53854 New concept for IOPorts 2023-03-14 22:33:49 +01:00
Jaby cfbf47f188 Improve CircularBuffer again 2023-03-03 17:30:45 +01:00
Jaby c92b0d8a2e Simulated load of a file 2023-03-03 14:33:29 +01:00
Jaby c48d65e476 Setup Cody Git server and successfully pause after 1 sector 2023-02-27 18:14:04 +01:00
Jaby 80aaf39fec Read files with temp fix 2023-02-19 18:00:19 +01:00
Jaby 7b5c277271 Set mode and improve on allocation callback 2023-02-18 10:56:46 +01:00
Jaby 4ad01da83a Get rough shape of CD file processing code 2023-02-18 09:35:15 +01:00
Jaby a2c50512b3 Fix aligned memory read of unanligend memory 2023-02-03 18:10:57 +01:00
Jaby 53b01f19b1 Support writing LBA information into main file 2023-02-03 13:22:17 +01:00
Jaby 1b7b246367 Fix Typo 2023-01-25 20:49:32 +01:00
Jaby 9f1cf51499 Prepare for supporting LBAs in persitent code 2023-01-25 20:46:26 +01:00
Jaby 304165e407 Encode word size into OverlayLBA structure 2023-01-22 14:37:09 +01:00
Jaby ef2280bdf9 Setup CD drive 2023-01-22 14:07:58 +01:00
Jaby f4635a3b5a Prepare setup of CD drive 2023-01-22 11:02:27 +01:00
Jaby 6e40dacdec Finished CD_IOs 2023-01-21 12:18:02 +01:00
Jaby 70ca7814e8 On a better way 2023-01-17 22:04:35 +01:00
Jaby 0a3a61f40e Use write and read for BitRangeValues 2023-01-15 20:21:48 +01:00
Jaby d4955c4719 Improved names again 2023-01-15 20:16:20 +01:00
Jaby 9de6795686 More cleanup 2023-01-15 17:14:34 +01:00
Jaby f051ddb9b7 Enable CD IRQ code which caused those problems 2023-01-15 16:52:32 +01:00
Jaby b0f3e5f357 Add new IOPort design 2023-01-15 16:49:38 +01:00
Jaby c601847f93 New proposal 2023-01-13 19:34:01 +01:00
Jaby e905a4aa8c Current progress 2023-01-13 19:16:04 +01:00
Jaby 16350d3828 First proposial for CD support 2023-01-12 21:51:08 +01:00
Jaby 9e8cdba8a6 Create CD related files 2023-01-11 20:51:47 +01:00
Jaby 8c9c4f1404 Support easier read 2023-01-10 21:12:41 +01:00
Jaby a4fb2d008b Support HighResolutionTimer in a better fashion 2023-01-10 20:36:28 +01:00
Jaby 7b9e3e6aa9 Support High Percision Counter 2023-01-09 22:27:10 +01:00
Jaby b0f2a40ad6 Improve struct and namespace usage 2023-01-08 21:08:23 +01:00
Jaby a0fd915fc7 Cleanup code 2023-01-08 16:39:26 +01:00
Jaby c60b97a75e Use GlobalTime 2023-01-08 16:20:30 +01:00
Jaby 02e33d3eb2 Fix weird bug in IOPort 2023-01-08 15:16:00 +01:00
Jaby a1c8b3aea6 Fix IO Port code again 2023-01-08 13:56:26 +01:00
Jaby 2e4106436d Save progress 2023-01-06 22:15:03 +01:00
Jaby ae2b85f70b Sketch Timer and implement Interrupt support 2023-01-06 15:18:35 +01:00
Jaby e5175d0f9c Prepare IO Ports for timer 2023-01-06 12:14:53 +01:00
Jaby 8c6c9e23d6 Improve LZ4 decompression 2023-01-03 21:20:53 +01:00
Jaby a1743c0a7a 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 e2d2332368 Make LZ4 Decompressor return a state value 2022-12-29 13:25:48 +01:00
Jaby e8d4c2fdeb Setup LZ4 decompressor but have it copy data for now 2022-12-27 22:06:14 +01:00
Jaby 3b014b4c75 Improves return types with Progress type 2022-12-23 22:06:10 +01:00
Jaby b13fb0e5de Create LZ4 decompressor files 2022-12-23 21:18:44 +01:00
Jaby 014baa2cbf Introduce the JabyEngine namespace to all files 2022-12-23 21:18:25 +01:00
Jaby 291641e599 Test Circular Buffer 2022-12-23 20:33:36 +01:00
Jaby 82c25693a9 Introduce FastCircularBuffer 2022-12-19 21:01:59 +01:00
Jaby bce13e12ff Prepare CircularBuffer 2022-12-16 21:54:01 +01:00
Jaby 14cc4cf008 Use main 2022-12-16 03:47:30 +01:00
Jaby fb49164b31 Prepare save spot for booting 2022-12-16 03:20:08 +01:00
Jaby ef91f498d7 Slowly come up with design for loading from CD 2022-12-12 04:18:35 +01:00
Jaby edb37703e6 Prepare CD code and unify header names 2022-12-12 03:43:18 +01:00
Jaby 3dab3d2075 Cover lbas 2022-12-04 17:23:45 +01:00
Jaby eb7340edf7 Introduce Overlay Header and LBAs 2022-12-04 04:55:53 +01:00
Jaby c74c3ec691 Setup Display to standard resolution instead of high res 2022-10-04 21:54:40 +02:00
Jaby c728be2671 Setup DisplayArea 2022-10-03 16:23:35 +02:00
Jaby 64155f3d6e Separate between Display and Screen 2022-10-03 15:40:46 +02:00
Jaby 260e3d1b21 Configurate Screen 2022-10-03 15:38:54 +02:00
Jaby 67d0717f5c Create Macros for PAL/NTSC 2022-10-02 17:47:24 +02:00
Jaby 38f56c65a6 Start configurating GPU 2022-10-02 17:32:23 +02:00
Jaby 33c785c908 Correct header file extension 2022-10-02 16:45:02 +02:00
Jaby 73e679cfec Improve code 2022-10-02 14:12:02 +02:00
Jaby 30f436c541 Upload Direct16 pic 2022-10-02 13:14:30 +02:00
Jaby f4e6267c62 Improvements to parse Texture data 2022-10-02 11:49:55 +02:00
Jaby cf2bafe79c Include SplashImage and detect right type 2022-10-02 11:01:42 +02:00
Jaby 359d2fdcb5 Use continous memory for loading files 2022-10-02 10:18:27 +02:00
Jaby ff11c26905 Verify basic usage of FileProcessor 2022-10-01 22:40:40 +02:00
Jaby d89a820c21 Introduce SimpleTIM type 2022-10-01 21:02:58 +02:00
Jaby 656241829d Remove Port namespace and clean up 2022-09-11 15:51:09 +02:00
Jaby a838dc77da Use DMA for GPU 2022-09-11 15:44:45 +02:00
Jaby a888c12ebd Fix wrong color bit range 2022-09-11 15:44:11 +02:00
Jaby 940152f775 Create pattern 2022-09-11 13:40:20 +02:00
Jaby eb7a3de5bd Fixed bug and spread some always_inlines 2022-09-11 12:06:40 +02:00
Jaby e072f429c6 Clean Up 2022-09-11 11:44:58 +02:00
Jaby 72160f209b Making ComplexBitMap a POD part 1 2022-09-11 11:36:51 +02:00
Jaby 0589f7bf2f Added named colors 2022-09-11 10:17:02 +02:00
Jaby 7e89fe4af9 Introduce internal and normal GPU functions 2022-09-11 10:10:51 +02:00
Jaby 0502e60337 Introduce QuickFill 2022-09-08 21:36:12 +02:00
Jaby f65d075db6 Make SPU wait for boot up sound to finish 2022-09-08 20:36:54 +02:00
Jaby 51f99194b2 Prepare GPU setup 2022-09-08 20:36:36 +02:00
Jaby 2f20d7203d Implement GPUSTAT and update IOPort design 2022-09-07 21:45:28 +02:00
Jaby b11a9aa136 Merge branch 'main' into GPU-Setup 2022-09-07 19:49:51 +02:00
Jaby 0c7cc9681e Add Port namespace for DMA 2022-09-07 19:49:37 +02:00
Jaby a91f6966c1 Prepare more GPU stuff 2022-09-07 19:34:02 +02:00
Jaby a20201a1e0 Merge branch 'main' into GPU-Setup 2022-09-07 19:09:35 +02:00
Jaby 7e1e8bde34 Final clean up of IOPort 2022-09-07 19:08:11 +02:00
Jaby d9919e3317 Support 'with' 2022-09-05 22:35:38 +02:00
Jaby 5574addb29 Improve IOPort code 2022-09-05 20:58:33 +02:00
Jaby f525f8c28a Create Scratchpad 2022-09-05 17:37:40 +02:00
Jaby 6531bea2df Setup SPU 2022-09-02 22:29:44 +02:00
Jaby f1e6ddc810 Almost finished setup SPU 2022-09-02 18:05:21 +02:00
Jaby fb26b959d1 Clear voices 2022-09-02 13:04:24 +02:00
Jaby 593d02016a Use new fancy way to set values at build time 2022-09-02 12:07:22 +02:00
Jaby ba03dcab26 Clear Control Register 2022-09-02 11:33:42 +02:00
Jaby d08b3e71bf Clear MainVolume and improve port code 2022-09-02 11:02:56 +02:00
Jaby 5006c6e9c6 Clear Voice Keys 2022-09-02 10:23:32 +02:00
Jaby 460b41480c Using new IO Port 2022-08-31 23:02:40 +02:00
Jaby 71103bb4ab Create new IO Port 2022-08-31 22:51:13 +02:00
Jaby 0f2e4e25ed DTC 2022-08-31 22:16:16 +02:00
Jaby 0665b54997 SPU Controll Register 2022-08-31 22:00:38 +02:00