Commit Graph

40 Commits

Author SHA1 Message Date
Lucas Scharenbroich
fe18759759 Refactor original demo driver to use GTE Core; move functions around 2021-08-26 08:52:43 -05:00
Lucas Scharenbroich
7d5f7aa721 Refactor GTE Core to be included as an independent Segment in other projects 2021-08-25 09:38:02 -05:00
Lucas Scharenbroich
238d2f0a6f Fix banking bug and enable BG1 tile maps 2021-08-20 20:20:47 -05:00
Lucas Scharenbroich
e607612344 Add initial build-out of BG1 tile map support 2021-08-19 01:22:36 -05:00
Lucas Scharenbroich
b35a2c1e6e Complete masked tile rendering implementation
The core data tables were reworked to pre-reverse all of the
entries to directly match the right-to-left ordering of the code
fields.  This simplified some code but was required for register
reuse in the masked tile renderer.

Also fixed several offset calculation issues in the masked tile
renderer.
2021-08-17 09:33:27 -05:00
Lucas Scharenbroich
5ad95f4609 Use 8-bit accumulator to read softswitches 2021-08-15 09:25:42 -05:00
Lucas Scharenbroich
d9133a2170 Switch to using exported Tiled project assets 2021-08-14 20:58:37 -05:00
Lucas Scharenbroich
e3cb742626 Fix tile rendering
This is not quite correct yet.  IT appears that two rows or columns are
drawn on the edges when only a single solumn or row is necessary.  Also,
this code is based on the old GTE codebase, so the initial rectangle for
rendering tiles is width+1, height+1. This can be improved.
2021-08-10 07:59:14 -05:00
Lucas Scharenbroich
d3b21a91b9 Fix full-screen tile refreshes; incremental tile drawing crashes 2021-08-09 06:08:09 -05:00
Lucas Scharenbroich
8d34da6c26 Add the old SMB keyboard read function to detect key-down instead of key-press 2021-08-07 21:22:37 -05:00
Lucas Scharenbroich
8ed851cb33 First pass at importing tilesets into GTE 2021-08-06 16:35:47 -05:00
Lucas Scharenbroich
b8d4ae780b Fix crashing on horizontal tile map rendering; still some off-by-one errors 2021-08-06 15:57:03 -05:00
Lucas Scharenbroich
d01791b440 Initialize more direct page variables and provide a flag to turn off sound 2021-08-06 14:41:23 -05:00
Lucas Scharenbroich
c6f6001e8f Pull exported Tiled level data into the application; does not display anything yet 2021-08-05 21:19:43 -05:00
Lucas Scharenbroich
1d17b802ad Add basic tilemap support back in 2021-08-05 08:20:38 -05:00
Lucas Scharenbroich
56b5b69efa Move rotation data to its own segment 2021-07-30 08:01:16 -05:00
Lucas Scharenbroich
1936a0898c Sync up 2021-07-29 05:35:09 -05:00
Lucas Scharenbroich
87e46d95f5 Rotation! 2021-07-24 09:00:52 -05:00
Lucas Scharenbroich
1fcd4589f7 Add horizontal BG1 offset support; frame lock demo to 60 fps 2021-07-20 00:02:20 -05:00
Lucas Scharenbroich
c5eb84ea37 Get the PEI Slammer working for exposing shadowed writes 2021-07-19 22:42:51 -05:00
Lucas Scharenbroich
d9e3ee14e8 Add small header to converted image data 2021-07-19 14:18:02 -05:00
Lucas Scharenbroich
760580d733 Tweak file loading functions 2021-07-18 08:59:19 -05:00
Lucas Scharenbroich
160a9afafb Add proper handling of wraparound in vertical positioning 2021-07-17 21:00:46 -05:00
Lucas Scharenbroich
bdf885dafd First implementation of BG0/BG1 mixed exception handling 2021-07-16 23:09:08 -05:00
Lucas Scharenbroich
6fc772ce78 Sorted out BG1 edge artifacts 2021-07-16 17:05:29 -05:00
Lucas Scharenbroich
f2d82f810d Very simple asset pipeline to transform PNG impage into raw binary files to load in the engine 2021-07-16 13:09:16 -05:00
Lucas Scharenbroich
abfcde54c2 Initial addition of BG1 support 2021-07-16 00:34:58 -05:00
Lucas Scharenbroich
63bfe5e8e7 Resolve horizontal scrolling issue with PEA code 2021-07-15 21:00:35 -05:00
Lucas Scharenbroich
26e39e3bfd Horizontal scrolling no longer crashes; still have incorrect edge rendering 2021-07-15 15:30:24 -05:00
Lucas Scharenbroich
50f5da5608 WIP on BG0X positioning; fix tile horizonal calculation 2021-07-15 11:01:42 -05:00
Lucas Scharenbroich
e14a8ec36f Add a simple benchmark 2021-07-12 00:16:18 -05:00
Lucas Scharenbroich
e4d480d2be Fix addressing issue in font routine and data-overwrite bug; Render no longer crashes! 2021-07-10 17:15:35 -05:00
Lucas Scharenbroich
ab9a2682db Fix table initialization and bank preservateion in _BltRange 2021-07-10 15:38:42 -05:00
Lucas Scharenbroich
469e8bb74a Add all minimal function in place; not onto debugging 2021-07-09 15:38:32 -05:00
Lucas Scharenbroich
5d713caf5c More parts of the render pipeline in place 2021-07-09 14:18:49 -05:00
Lucas Scharenbroich
7ee1ddb604 Fix cimpilation errors 2021-07-08 08:17:38 -05:00
Lucas Scharenbroich
8ec31631eb Split up source code a bit more; work toward completing render pipeline 2021-07-08 07:46:35 -05:00
Lucas Scharenbroich
04f202c9f8 Allow dynamic user selection of playfield size 2021-03-21 23:44:33 -05:00
Lucas Scharenbroich
cfa1bd6f61 Refactor screen init to allow for all modes 2021-03-21 23:23:52 -05:00
Lucas Scharenbroich
50a3f27a9a Reorg files; focus on S16 artifact 2021-03-21 21:59:54 -05:00