Commit Graph

359 Commits

Author SHA1 Message Date
Jaby 172600ddb8 Load a BIOS font 2023-12-13 19:46:34 -05:00
Jaby b795b874c4 Support %i 2023-12-05 21:04:45 -05:00
Jaby 8bc0a33c68 Implement itoa 2023-12-05 20:46:15 -05:00
Jaby 3fe6494013 Prepare C arg list 2023-12-04 21:48:27 -05:00
Jaby 3d6be0f093 Move make code to own header 2023-12-01 22:39:44 -05:00
Jaby 854bce235c New wiggle approach 2023-12-01 22:24:00 -05:00
Jaby 7fa369a8bf Display text 2023-12-01 14:31:32 -05:00
Jaby 07d7781530 Improve naming 2023-11-26 19:44:10 -05:00
Jaby ac3903a38d Limit concat to non pointer types to avoid hard to track problems 2023-11-26 18:54:24 -05:00
Jaby f2516cf1b8 Introduce mem dump code 2023-11-26 18:45:51 -05:00
Jaby 5513d07aa6 Sketch setup of Font 2023-11-26 18:43:23 -05:00
Jaby f3d0fe17e0 Disable auto crlf 2023-10-11 18:20:43 +02:00
Jaby dbf3e5d1de Replace define private with __friends 2023-10-06 14:50:44 +02:00
Jaby 1d11e778d3 Turn SysCalls into a C++ file 2023-10-06 10:27:03 +02:00
Jaby dff8eb1781 Replace include guards with pragma once 2023-10-05 21:40:04 +02:00
Jaby 927f422a8f Add LINE to make functions as last primitive 2023-10-03 20:44:08 +02:00
Jaby 06ebf4c01a Extend make functions for POLY 2023-10-03 20:31:17 +02:00
Jaby 5bf11116cc Support TILE and SPRT for make functions 2023-10-03 17:10:10 +02:00
Jaby 87f7d78a3f Support even more make functions 2023-10-03 16:18:43 +02:00
Jaby 3dbb3fc9bb Add more make functions 2023-10-03 16:04:37 +02:00
Jaby 08267288f1 Create maker functions for Position and Size 2023-10-03 15:04:21 +02:00
Jaby 4e908c5fd1 Remove last constructor and remove GLOBAL SUB with it 2023-10-03 13:16:46 +02:00
Jaby 4bf3fdfca2 Remove primitive support types constructor 2023-10-03 09:52:04 +02:00
Jaby 5b77fd94c7 Remove Rectangle constructors 2023-09-27 22:09:15 +02:00
Jaby 08a8995a4d Remove POLY constructors 2023-09-27 21:15:53 +02:00
Jaby 425811b1dd Remove GPU Commands constructor 2023-09-25 20:45:11 +02:00
Jaby 41cafb235c Remove constructor linked elements 2023-09-25 20:35:47 +02:00
Jaby 5bd70747dc Renamee IOPort 2 functions to original 2023-09-24 11:52:18 +02:00
Jaby 1e9a21bc17 Finish clean-up 2023-09-22 20:53:26 +02:00
Jaby 48171a9619 Support CD IO and start removing old IOPort 2023-09-22 18:52:31 +02:00
Jaby 30d635cd2d Port TimerIO 2023-09-22 17:34:14 +02:00
Jaby fbc677e13e Convert SPU IO 2023-09-17 23:09:58 +02:00
Jaby fd016fa98c Convert Interrupts 2023-09-17 22:25:54 +02:00
Jaby 15d8d39879 Port GPU IO 2023-09-17 22:14:48 +02:00
Jaby a46d76a619 Support DMA with new IO 2023-09-17 12:30:43 +02:00
Jaby a2b8b35b4a Integrate new IO Code into memory_io 2023-09-17 08:50:06 +02:00
Jaby 4dcb16ed64 Prepare for new IOPort code 2023-09-13 22:23:29 +02:00
Jaby c8275cdd15 Port to latest GCC and fix CD loading bug 2023-09-03 01:57:28 +02:00
Jaby fec867f2b3 Start refactor of FontWriter 2023-08-31 05:15:34 +02:00
Jaby e280a412e9 Introduce new timer based on vsync 2023-08-27 21:29:43 +02:00
Jaby 99ae40bdfe Share bss section with planschi section 2023-08-27 02:43:59 +02:00
Jaby 272a2258e4 Make Linked elements BSS conform 2023-06-26 20:40:30 +02:00
Jaby 018d05bfab Missed cmmits 2023-06-25 16:39:07 +02:00
Jaby 408c133118 Support color in text 2023-06-22 21:52:34 +02:00
Jaby 6d3e44dbb3 Merge branch 'ToolBox' into ToolBox_FontWriter 2023-06-21 21:50:52 +02:00
Jaby 14587f9cc0 Use BSS default constructor 2023-06-21 21:45:15 +02:00
Jaby 3e5f3bd42f Fix default constructor for rectangle types 2023-06-19 22:30:52 +02:00
Jaby 35d09192c9 Testing font and color font 2023-06-15 20:48:25 +02:00
Jaby 4ea9c43f67 Support linking primitives 2023-06-13 21:21:02 +02:00
Jaby 6f30b92159 Support basic linked elements 2023-06-12 21:47:56 +02:00
Jaby 2d935be1b8 Support all primitives 2023-06-05 22:44:45 +02:00
Jaby 51a2c5c60c Prepare for textured sprites; better integration of GPU types 2023-05-31 22:29:19 +02:00
Jaby 16cca95d9b Support RectF 2023-05-30 22:06:38 +02:00
Jaby 468b22354f Support all the line types in a somewhat decent way 2023-05-28 10:36:24 +02:00
Jaby 483348184d Improve LINE_F code 2023-05-27 22:21:02 +02:00
Jaby d5e33f7034 Bound line type 2023-05-27 17:07:15 +02:00
Jaby 2b4256f4fb Introduce is_render_primitive type_trait 2023-05-27 16:40:59 +02:00
Jaby ca1e937dae Support LINE_F 2023-05-27 15:14:19 +02:00
Jaby 509932238d Cleaned up primitives 2023-05-24 22:06:56 +02:00
Jaby 2f70a2b976 Support GPU Primitives as constexpr 2023-05-24 20:55:43 +02:00
Jaby 81a0a7b85b Support POLY_GT4 2023-05-23 21:11:01 +02:00
Jaby a964af8c3e Support gouraud rectangle 2023-05-23 20:39:11 +02:00
Jaby ee81d93ecb Support POLY_FT4 2023-05-19 22:26:53 +02:00
Jaby fe2d18a6bd Support POLY_F4 2023-05-18 22:14:09 +02:00
Jaby d36ad113ba Support more primitives 2023-05-17 22:59:21 +02:00
Jaby 20df556aa5 Support Gouraud Shading 2023-05-15 21:59:06 +02:00
Jaby a4e8c51761 Support textured triangles 2023-05-15 21:14:37 +02:00
Jaby f7937e3ec9 Draw first triangle 2023-05-07 00:07:20 +02:00
Jaby 4335e23d7f Fix image conversion and CLUT placement 2023-05-01 22:37:41 +02:00
Jaby 7ea424fdc5 Add BootImage to second DisplayBuffer during boot 2023-04-30 14:18:11 +02:00
Jaby 946d669fbc Fix broken DisplayArea 2023-04-27 21:23:06 +02:00
Jaby 32f82faf9f Create a frame rate 2023-04-26 22:06:47 +02:00
Jaby 9d46658e0f Cleanup GPU code more 2023-04-26 20:42:44 +02:00
Jaby 31d6062d05 Add busy loop code and make HighResTimer work on demand rather automatically or ifdefed 2023-04-26 19:09:07 +02:00
Jaby ac25f699e0 Improve starting of the game and reduce persistent memory usage 2023-04-17 20:21:32 +02:00
Jaby e25ab9da8f Remove BootFiles. Setup code needs improving 2023-04-16 21:39:47 +02:00
Jaby 1d6a58311c Reduce CDFileProcessor size and add configuratable buffer size 2023-04-16 21:11:10 +02:00
Jaby 0949ca395c Use LZ4 file info 2023-04-13 22:10:34 +02:00
Jaby e1edd23e6f Detect LZ4 files correctly now 2023-04-13 21:51:45 +02:00
Jaby 77d84802ad Prepare new LBA representation 2023-04-12 21:59:36 +02:00
Jaby 11cc0e90a6 Remove Overlayhader and support loading overlays 2023-04-10 17:01:28 +02:00
Jaby 1b17a052d5 Fix CD cancelling commands; Cleanup CD code a bit 2023-04-03 22:00:39 +02:00
Jaby 86c801187b Load image w/o CircularBuffer 2023-04-01 14:57:03 +02:00
Jaby 8895cfc8e6 Load TIM files (broken currently) 2023-04-01 11:57:48 +02:00
Jaby 4553dbef6e 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 771776d947 Support CopyTo now 2023-03-27 22:20:42 +02:00
Jaby d8e7000a0c Successfully read in file 2023-03-27 20:43:18 +02:00
Jaby 54943fab93 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 f929e2b6a1 More cleanup 2023-03-22 21:23:52 +01:00
Jaby f5a89cf9a4 Remove ComplexBitMap header 2023-03-22 20:54:40 +01:00
Jaby d9c2d9b290 Remove the ComplexBitMap 2023-03-22 20:46:08 +01:00
Jaby 163662ba75 Improve readability of code slightly 2023-03-21 21:51:56 +01:00
Jaby 94f12db6f8 Ported CDIOs 2023-03-21 20:39:51 +01:00
Jaby ba8c5e65eb Port DMA code 2023-03-20 21:04:01 +01:00
Jaby a5c163d1ac Port GPU IOs 2023-03-20 19:06:28 +01:00
Jaby d90460b2d7 Port InterruptIOs 2023-03-20 17:53:20 +01:00
Jaby 428c451671 Converted SPU IO 2023-03-18 17:13:45 +01:00
Jaby 0bb5dab6a8 Convert Timer IO 2023-03-18 16:04:05 +01:00
Jaby a3a7db2622 Make IOPort constexpr 2023-03-18 15:02:21 +01:00
Jaby 66974eaa58 Forgot to remove Cody 2023-03-16 22:26:45 +01:00
Jaby 40ce37658b Support IOPortValues 2023-03-16 22:20:43 +01:00
Jaby f6ac2adb4d Support a form of setting bits easily 2023-03-15 21:38:55 +01:00
Jaby 275d6c0ce2 Support assignment of values 2023-03-15 21:20:16 +01:00
Jaby e106547395 Refine new IO port concept 2023-03-14 22:53:32 +01:00
Jaby 7beab5e7bf New concept for IOPorts 2023-03-14 22:33:49 +01:00
Jaby fd8b0deafb Improve CircularBuffer again 2023-03-03 17:30:45 +01:00
Jaby 0edc82c5e2 Simulated load of a file 2023-03-03 14:33:29 +01:00
Jaby 03e932bfc9 Setup Cody Git server and successfully pause after 1 sector 2023-02-27 18:14:04 +01:00
Jaby 4c0d591c81 Read files with temp fix 2023-02-19 18:00:19 +01:00
Jaby 6febdae88e Set mode and improve on allocation callback 2023-02-18 10:56:46 +01:00
Jaby 672ad04c83 Get rough shape of CD file processing code 2023-02-18 09:35:15 +01:00
Jaby 856a5f1608 Fix aligned memory read of unanligend memory 2023-02-03 18:10:57 +01:00
Jaby 9d1b35bf8c Support writing LBA information into main file 2023-02-03 13:22:17 +01:00
Jaby cac66eaece Fix Typo 2023-01-25 20:49:32 +01:00
Jaby 647601d993 Prepare for supporting LBAs in persitent code 2023-01-25 20:46:26 +01:00
Jaby 33ff9936fd Encode word size into OverlayLBA structure 2023-01-22 14:37:09 +01:00
Jaby 9a68951827 Setup CD drive 2023-01-22 14:07:58 +01:00
Jaby ec61f082a1 Prepare setup of CD drive 2023-01-22 11:02:27 +01:00
Jaby b4bce4bfe3 Finished CD_IOs 2023-01-21 12:18:02 +01:00
Jaby 1550f9c08d On a better way 2023-01-17 22:04:35 +01:00
Jaby f3d82c1885 Use write and read for BitRangeValues 2023-01-15 20:21:48 +01:00
Jaby 46316dbae3 Improved names again 2023-01-15 20:16:20 +01:00
Jaby ec122dbc1c More cleanup 2023-01-15 17:14:34 +01:00
Jaby d63eb24101 Enable CD IRQ code which caused those problems 2023-01-15 16:52:32 +01:00
Jaby 019022a035 Add new IOPort design 2023-01-15 16:49:38 +01:00
Jaby 8d59d38524 New proposal 2023-01-13 19:34:01 +01:00
Jaby 63f21cacc9 Current progress 2023-01-13 19:16:04 +01:00
Jaby 954f660929 First proposial for CD support 2023-01-12 21:51:08 +01:00
Jaby 9c34578932 Create CD related files 2023-01-11 20:51:47 +01:00
Jaby 72709b84da Support easier read 2023-01-10 21:12:41 +01:00
Jaby 4ec13192f3 Support HighResolutionTimer in a better fashion 2023-01-10 20:36:28 +01:00
Jaby 9950484f9a Support High Percision Counter 2023-01-09 22:27:10 +01:00
Jaby 068eb48557 Improve struct and namespace usage 2023-01-08 21:08:23 +01:00
Jaby 274b3dc243 Cleanup code 2023-01-08 16:39:26 +01:00
Jaby 69c29e4dcd Use GlobalTime 2023-01-08 16:20:30 +01:00
Jaby 749a872bf2 Fix weird bug in IOPort 2023-01-08 15:16:00 +01:00
Jaby dd7c195b1a Fix IO Port code again 2023-01-08 13:56:26 +01:00
Jaby 758c4c305a Save progress 2023-01-06 22:15:03 +01:00
Jaby d444222d49 Sketch Timer and implement Interrupt support 2023-01-06 15:18:35 +01:00
Jaby 4870813d2d Prepare IO Ports for timer 2023-01-06 12:14:53 +01:00
Jaby c503ce663d Improve LZ4 decompression 2023-01-03 21:20:53 +01:00
Jaby 0fe106fcaa 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 1ec9d9f1a7 Make LZ4 Decompressor return a state value 2022-12-29 13:25:48 +01:00
Jaby 8655fdc897 Setup LZ4 decompressor but have it copy data for now 2022-12-27 22:06:14 +01:00
Jaby c995fe0713 Improves return types with Progress type 2022-12-23 22:06:10 +01:00
Jaby 9857b367aa Create LZ4 decompressor files 2022-12-23 21:18:44 +01:00
Jaby 9d97cf746d Introduce the JabyEngine namespace to all files 2022-12-23 21:18:25 +01:00
Jaby 52be17a891 Test Circular Buffer 2022-12-23 20:33:36 +01:00
Jaby 56ec3b0780 Introduce FastCircularBuffer 2022-12-19 21:01:59 +01:00
Jaby 89ac06806c Prepare CircularBuffer 2022-12-16 21:54:01 +01:00
Jaby 9fd9da783c Use main 2022-12-16 03:47:30 +01:00
Jaby 054592ab90 Prepare save spot for booting 2022-12-16 03:20:08 +01:00
Jaby 90e3569a4d Slowly come up with design for loading from CD 2022-12-12 04:18:35 +01:00
Jaby 4c4f1cafad Prepare CD code and unify header names 2022-12-12 03:43:18 +01:00
Jaby 8425590c3f Cover lbas 2022-12-04 17:23:45 +01:00
Jaby 4aed105616 Introduce Overlay Header and LBAs 2022-12-04 04:55:53 +01:00
Jaby 4ad93cbd23 Setup Display to standard resolution instead of high res 2022-10-04 21:54:40 +02:00
Jaby a5823364cf Setup DisplayArea 2022-10-03 16:23:35 +02:00
Jaby 4faaf46b7b Separate between Display and Screen 2022-10-03 15:40:46 +02:00
Jaby c5f0bec3f7 Configurate Screen 2022-10-03 15:38:54 +02:00
Jaby a7cb6ce0f6 Create Macros for PAL/NTSC 2022-10-02 17:47:24 +02:00
Jaby fe6cad2c27 Start configurating GPU 2022-10-02 17:32:23 +02:00
Jaby 8273207a31 Correct header file extension 2022-10-02 16:45:02 +02:00
Jaby 96ed4b54a0 Improve code 2022-10-02 14:12:02 +02:00
Jaby c255c9259f Upload Direct16 pic 2022-10-02 13:14:30 +02:00
Jaby 32e136701a Improvements to parse Texture data 2022-10-02 11:49:55 +02:00
Jaby 6004faf3ea Include SplashImage and detect right type 2022-10-02 11:01:42 +02:00
Jaby 7c63dfa6b9 Use continous memory for loading files 2022-10-02 10:18:27 +02:00
Jaby 1ade863fbb Verify basic usage of FileProcessor 2022-10-01 22:40:40 +02:00
Jaby d8b17dd22e Introduce SimpleTIM type 2022-10-01 21:02:58 +02:00
Jaby 7befd492cc Remove Port namespace and clean up 2022-09-11 15:51:09 +02:00
Jaby b28c381c0d Use DMA for GPU 2022-09-11 15:44:45 +02:00
Jaby d8a48642d8 Fix wrong color bit range 2022-09-11 15:44:11 +02:00
Jaby ae5a4a80dd Create pattern 2022-09-11 13:40:20 +02:00
Jaby 1ca231c115 Fixed bug and spread some always_inlines 2022-09-11 12:06:40 +02:00
Jaby d25565d030 Clean Up 2022-09-11 11:44:58 +02:00
Jaby fdf8ba0e9a Making ComplexBitMap a POD part 1 2022-09-11 11:36:51 +02:00
Jaby 9da81fc5d0 Added named colors 2022-09-11 10:17:02 +02:00
Jaby 6f9339ce7f Introduce internal and normal GPU functions 2022-09-11 10:10:51 +02:00
Jaby 6809923701 Introduce QuickFill 2022-09-08 21:36:12 +02:00
Jaby e83b5350a7 Make SPU wait for boot up sound to finish 2022-09-08 20:36:54 +02:00
Jaby 564e8a6e8b Prepare GPU setup 2022-09-08 20:36:36 +02:00
Jaby ab9d47dde8 Implement GPUSTAT and update IOPort design 2022-09-07 21:45:28 +02:00
Jaby 64c289715f Merge branch 'main' into GPU-Setup 2022-09-07 19:49:51 +02:00
Jaby 27716c020c Add Port namespace for DMA 2022-09-07 19:49:37 +02:00
Jaby 932aeb067e Prepare more GPU stuff 2022-09-07 19:34:02 +02:00
Jaby ce00b59c71 Merge branch 'main' into GPU-Setup 2022-09-07 19:09:35 +02:00
Jaby ebbfe28777 Final clean up of IOPort 2022-09-07 19:08:11 +02:00
Jaby 3ee83c049f Support 'with' 2022-09-05 22:35:38 +02:00
Jaby 23733abc2b Improve IOPort code 2022-09-05 20:58:33 +02:00
Jaby 346c686280 Create Scratchpad 2022-09-05 17:37:40 +02:00
Jaby 52fdcdb197 Setup SPU 2022-09-02 22:29:44 +02:00
Jaby 3a0a53c458 Almost finished setup SPU 2022-09-02 18:05:21 +02:00
Jaby e3a53bfd42 Clear voices 2022-09-02 13:04:24 +02:00
Jaby 595b6e0ec5 Use new fancy way to set values at build time 2022-09-02 12:07:22 +02:00
Jaby c7608b7934 Clear Control Register 2022-09-02 11:33:42 +02:00
Jaby e3e22db78a Clear MainVolume and improve port code 2022-09-02 11:02:56 +02:00
Jaby 25b33490ba Clear Voice Keys 2022-09-02 10:23:32 +02:00
Jaby 1b14057f9c Using new IO Port 2022-08-31 23:02:40 +02:00
Jaby 5a2b0b9a50 Create new IO Port 2022-08-31 22:51:13 +02:00