Commit Graph

59 Commits

Author SHA1 Message Date
ed b81221cbf5 I don't like c asm 2026-06-01 09:25:21 -04:00
ed fe4bd6d86d WIP: preparing to setup metaprogramming codegen for PS1 processors. 2026-06-01 02:57:56 -04:00
ed 8b5fb7a5a1 prepping to setup gte.h with similar setup to gp.h, maybe with more lessons from color forth learnings.. 2026-05-31 23:26:43 -04:00
ed d2d47ac8a4 add additional psx docs 2026-05-31 20:48:07 -04:00
ed 1848a6b48e Setting up hello_gte (should have done this earlier) 2026-05-31 20:47:55 -04:00
ed 66981351ee 7/7 Fixed-Point math 2026-05-31 20:23:14 -04:00
ed e409fe0b2d 2/7 Fixed-Point math 2026-05-24 21:06:05 -04:00
ed d1919137a3 Finish chapter: The GTE Coprocessor. 2026-03-28 12:51:29 -04:00
ed b846c697c6 LICENSE
Added a public domain license for the software.
2025-11-01 12:05:14 -04:00
ed ee192c41a6 minor correction to asm 2025-10-12 11:27:39 -04:00
ed a3afa95325 propogating stuff done in c to the asm defs 2025-10-11 08:53:34 -04:00
ed 1b99a913fe add cube pic 2025-10-11 03:05:24 -04:00
ed 7c607e82ab finished GTE Coprrocessor normal clip vod 2025-10-11 03:03:40 -04:00
ed afc0e1a818 missing adjustments 2025-10-11 00:22:56 -04:00
ed 274e0f31f5 Update convention yet again
Doing stuff inspired by Timothy Lottes's fixing c vod
2025-10-11 00:18:44 -04:00
ed 2f797bf9e2 setup hello_gpu.h/c to not directly depend on header defs from psyq 2025-09-15 10:12:37 -04:00
ed fd61fc56db minor changes 2025-09-15 01:51:46 -04:00
ed f35e60877c Sorting Primitives into the OT
Started to add some ergonomic definitions into duffle.
2025-09-15 01:36:25 -04:00
ed e04bcb91b4 got gp_screen_init working on the assembler side!
Will not be doing most of the course in assembly for now.
Assemblers are missing a bunch of ergonomics not related to to instruction abstraction. Mostly related to offset and data typw width calulations and how to ergonomically utilize those symbols within the assembly syntax. The GNU gas macros are terrible and struct member resolution must be done manually.
There is no utilities for doing stack allocations with alignment in mind either, no way to get info on the system's calling convention for foreign symbols (not even as a diagnostic, etc).

C is a terrible for inline assembly, and gas doesn't support grabbing C struct info from header files (even though they are part of the same toolchain collection).
There is no utilities for doing stack allocations with alignment in mind either, no way to get info on the system's calling convention for foreign symbols (not even as a diagnostic, etc).

Low-level dev really is in a catch 22 of bad tooling.
2025-09-13 21:49:10 -04:00
ed ebc6895c61 wip: attempting to do gp_display_frame and gp_screen_init in asm 2025-08-07 10:54:05 -04:00
ed 046800b9d8 definition prep (still exploring..) 2025-08-07 01:53:15 -04:00
ed 8b252c4e68 get asm symbolic source debugging working with gnu assembler and gdb psyq builds 2025-08-06 14:18:11 -04:00
ed b9494d219f determining the level of granularity I have with asm symbolic debugging. 2025-08-06 08:44:20 -04:00
ed c052253b0e setup graphics_hello_psyq 2025-08-05 23:34:34 -04:00
ed 47ce58159d got hello psyq doing its job. removing pxdev_sample as no longer needed. 2025-08-05 23:04:07 -04:00
ed 479a65ba36 build script seems to work not to prep the debug script... 2025-08-05 22:41:03 -04:00
ed 32c7adad6a more progress 2025-08-05 22:16:55 -04:00
ed 713ad6a57a more progress on psyq program build script 2025-08-05 21:54:09 -04:00
ed 5da7c2e3b0 Updating dependencies docs and prepping for more advanced script usage of toolchain for Psy-Q 2025-08-05 21:22:49 -04:00
ed cc487a0e42 spinning cube build.ps1 working
Just need to generalize it now and test assembly usage.
2025-08-05 10:21:11 -04:00
ed 453953fb4d wip: working towards my own build script for psyqo utilizing programs 2025-08-05 02:25:33 -04:00
ed 8f71a7bf9c Setup debug for spinning cube 2025-08-05 00:06:58 -04:00
ed d64eaf8e2f graphics_system -> graphics_hello 2025-08-04 23:58:09 -04:00
ed fb6f1a8e53 commit the surface file for now... 2025-08-04 23:34:23 -04:00
ed 1a5ff2d9cf don't know what I'm going todo with this spinning cube example... 2025-08-04 23:31:03 -04:00
ed aa29c41638 prepping C-toolchain 2025-08-04 23:10:17 -04:00
ed 92f549dbf5 delay slot filling 2025-08-04 21:56:44 -04:00
ed 48b8a68d9e hello_logo (slightly messed up)
For some reason the resolution on duckstation is 640x464.
Does not run in pcsx-redux, known issue based on the discussions
2025-08-04 21:45:50 -04:00
ed 2eb0c788ce bitshift divison 2025-08-04 19:45:22 -04:00
ed 7ac7371ac7 hello_images 2025-08-04 01:08:01 -04:00
ed 3d0d02b86e stack parameters gp routine! 2025-08-03 23:27:02 -04:00
ed 6e7809848b hello gp routines 2025-08-03 22:01:36 -04:00
ed 0a47b03dfa fix fillmem, pics! 2025-08-03 20:53:33 -04:00
ed df13bf7fb8 gouraund tris, the gp commands are a thing of beauty 2025-08-03 20:48:58 -04:00
ed 661b539045 hello tris! 2025-08-03 19:29:37 -04:00
ed 35bedb9cdd got a flat shaded triangle! 2025-08-03 18:57:09 -04:00
ed f72f913b49 Clear the screen with Golden Poppy! 2025-08-03 18:08:50 -04:00
ed f8b35bb675 hellogpu wip pre-clear screen exercise 2025-08-03 15:32:53 -04:00
ed 554b0c2a78 idle loop (factorial) 2025-08-03 11:16:49 -04:00
ed 9071bdddd7 factorial 2025-08-03 10:58:24 -04:00