Commit Graph

148 Commits

Author SHA1 Message Date
Sergio Martin 0947327fe0 Progress with differential compression 2024-02-06 17:54:39 +01:00
Sergio Martin 3e60608ad5 Adding memory access functions 2024-01-30 17:04:18 +01:00
Sergio Martin 9209d17d48 Getting memory pointer is a const now 2024-01-29 19:47:52 +01:00
Sergio Martin beaa6bfd25 Making macros include-safe 2024-01-29 17:04:29 +01:00
Sergio Martin 2d17b39772 Fixing relative includes 2024-01-29 16:54:27 +01:00
Sergio Martin 280655e53c More simplfiication 2024-01-28 19:57:38 +01:00
Sergio Martin 2a7dfdc74a More simplfiication 2024-01-28 19:57:24 +01:00
Sergio Martin b07f5521af Making all includes relative 2024-01-28 18:19:23 +01:00
Sergio Martin b1fbe9ddc5 Refactoring for better use in JaffarPlus 2024-01-28 16:03:02 +01:00
Sergio Martin 5d047f3904 Taking back changes on controllers as joypad do report 1s after the first 8 bits as per https://www.nesdev.org/wiki/Standard_controller 2024-01-27 21:14:21 +01:00
Sergio Martin 5af4dcbd6a Removed all-ones signatures at the end of controller latch phase for normal joypads 2024-01-27 20:22:50 +01:00
Sergio Martin a2c541b5a0 Simplifying light state logic, adding header block, adapting tests 2024-01-27 20:02:05 +01:00
Sergio Martin 4040672b0b Fixing tests 2024-01-25 07:15:48 +01:00
Sergio Martin 7164094e95 More simplifications 2024-01-22 19:30:14 +01:00
Sergio Martin 9802883fee Homogenizing format 2024-01-22 18:50:52 +01:00
Sergio Martin 69b6ebc445 Homogeneizing folder structure 2024-01-22 17:54:41 +01:00
Sergio Martin 301d98af5b Small fix in the full deserialization routine 2024-01-22 17:01:33 +01:00
Sergio Martin 86470e378c Optimizations to control reading 2024-01-21 19:22:28 +01:00
Sergio Martin 6b2b52eae6 Added support for FourScore and added test for rcProAmII 2024-01-21 16:35:02 +01:00
Sergio Martin dae6c91a5a Fixing screen update bug 2024-01-21 15:57:35 +01:00
Sergio Martin fab1b2b0bf Adding configurable controller and proam2 test 2024-01-21 15:34:15 +01:00
Sergio Martin 992ac1ea2c Added ignored blocks in the light state 2024-01-20 20:16:54 +01:00
Sergio Martin 3b4a530d42 Adding block discrimination mechanism for light states 2024-01-20 18:30:24 +01:00
Sergio Martin e376b69d84 Fixing performance degrading problem 2024-01-20 17:00:24 +01:00
Sergio Martin 0afe500701 Adding configurable light states 2024-01-20 16:48:38 +01:00
Sergio Martin 9eccd5084b Shaving bytes off the lite state 2024-01-20 15:45:49 +01:00
Sergio Martin 5a99f2749a Differentiating full & lite state classes 2024-01-20 15:26:14 +01:00
Sergio Martin b7788f946b Renaming 2024-01-20 13:02:14 +01:00
Sergio Martin d1993751f6 added namespaces 2024-01-20 12:33:31 +01:00
Sergio Martin d8513ef867 Restyling 2024-01-20 11:21:34 +01:00
Sergio Martin dec1772b7e Standarizing header file extensions 2024-01-20 11:15:24 +01:00
Sergio Martin 74e6ab9286 Changes to the CPU 2024-01-20 07:09:31 +01:00
Sergio Martin 094ab435db More refactoring 2024-01-19 21:24:50 +01:00
Sergio Martin b970262005 refactoring and small tweaks in cpu 2024-01-19 21:14:18 +01:00
Sergio Martin 58bc38688e More refactoring 2024-01-19 20:27:00 +01:00
Sergio Martin 99d32a4301 Modernizing 2024-01-19 19:55:54 +01:00
Sergio Martin 9d941ede99 More simplifications 2024-01-19 19:46:45 +01:00
Sergio Martin d7f6144209 More optimizations and simplifications 2024-01-19 19:36:33 +01:00
Sergio Martin 8230715934 More simplifications 2024-01-19 18:52:22 +01:00
Sergio Martin f7cd3834a7 Simplifying/modernizing 2024-01-19 18:44:28 +01:00
Sergio Martin 823bc9ad1c Putting all audio code in one folder 2024-01-19 17:42:29 +01:00
Sergio Martin ae2f61d029 Simplifications 2024-01-19 17:21:04 +01:00
Sergio Martin 131aa5bb97 Simplications in source, removing no longer needed files and simplifying tests 2024-01-19 17:03:47 +01:00
Sergio Martin 4530713b01 Created new functions for serialization and deserialization 2024-01-18 19:56:30 +01:00
Sergio Martin 17bb8c99d8 Adding smb3 for mapper 37 (4 nametable bank) testing 2024-01-17 20:28:32 +01:00
Sergio Martin f6d119b549 Adding saiyuuki world 2024-01-17 18:21:44 +01:00
Sergio Martin e09e0a745d Extending full cycle testing to an extra advance 2024-01-17 16:38:22 +01:00
Sergio Martin 4afe5e9f02 Fixing pop1 test 2024-01-17 08:15:32 +01:00
Sergio Martin e0973cd946 Allocating state in the heap 2024-01-17 07:09:34 +01:00
Sergio Martin a07839e5af Fixed stack overflow issue 2024-01-17 06:59:10 +01:00
Sergio Martin 2eee66cda8 Fixes 2024-01-16 22:39:18 +01:00
Sergio Martin 28c1be6fe7 Improving tests to include save/load full cycles and direct comparison against quicknes 2024-01-16 22:22:36 +01:00
Sergio Martin 82368f4a27 more simplifications 2024-01-16 18:49:46 +01:00
Sergio Martin eb5edf12e5 Some refactoring 2024-01-16 18:42:29 +01:00
Sergio Martin 92ad30faf8 Adding notice to CPU 2024-01-15 22:24:50 +01:00
Sergio Martin 4740e7d7cf Fixed player and some optimizations in the cpu 2024-01-15 22:19:29 +01:00
Sergio Martin a254482102 Creating emulator interface class to mix both versions. This will be useful for verification purposes. Also fixed mapper070 for quicknes 2024-01-15 20:56:58 +01:00
Sergio Martin ad9858a564 Adding no frills memcpy-based ines loader 2024-01-14 19:28:40 +01:00
Sergio Martin 5624f29ee6 Changing alignment value to 1K, which seems sufficient and doesnt alienate other functions 2024-01-14 17:44:54 +01:00
Sergio Martin d8b904f53f Some simplification 2024-01-14 17:05:10 +01:00
Sergio Martin 361b42be9c More optimizations 2024-01-14 13:51:21 +01:00
Sergio Martin a20bfd0320 Untangling code dependencies 2024-01-14 13:23:14 +01:00
Sergio Martin 7b41851e30 Putting mapper creation in the core file2 2024-01-14 12:10:53 +01:00
Sergio Martin 28da3085f2 adding the baseile quickNES from libretro as part of the benchmark 2024-01-14 11:48:26 +01:00
Sergio Martin 90f249fd16 Adding original quicknes for proper benchmark comparison and testing 2024-01-14 10:59:20 +01:00
Sergio Martin c71a339b18 Reorganizing meson files 2024-01-14 10:31:17 +01:00
Sergio Martin 520512b190 Removing NDEBUG 2024-01-14 09:19:48 +01:00
Sergio Martin 37acae846c Ensuring CPU run function starts at the beggining of a page 2024-01-14 09:17:06 +01:00
Sergio Martin dee398c8f7 Adding 1024-alignment to the cpu run function to prevent it from being split among different pages or L1i lines 2024-01-14 09:01:14 +01:00
Sergio Martin a0062b7002 Refactoring mapper creation 2024-01-14 08:18:23 +01:00
Sergio Martin dba28a6b98 Minor changes 2024-01-14 08:11:26 +01:00
Sergio Martin 57c43b6d98 using skip frames properly (no audio) 2024-01-14 06:12:32 +01:00
Sergio Martin 040d7f3939 Minor changes 2024-01-13 21:09:52 +01:00
Sergio Martin 75a58247c0 More work on the CPU 2024-01-13 20:27:52 +01:00
Sergio Martin 0240d9d1aa Working up the nes cpu 2024-01-13 20:17:41 +01:00
Sergio Martin e40e0c7888 More simplfiications 2024-01-13 20:12:03 +01:00
Sergio Martin 78414cfb6c Relocating core 2024-01-13 20:01:32 +01:00
Sergio Martin 1a6cf0b487 Reduced pc to 16 bits since overflow detection isn't even implemented 2024-01-13 19:08:42 +01:00
Sergio Martin f58b48ec6a Fixing missin warnings 2024-01-13 18:59:55 +01:00
Sergio Martin 66e6632eea Reverting changes back to 0c8318e26e since some of those commits did something that affected performance 2024-01-13 18:42:59 +01:00
Sergio Martin 95a95df8e1 More simplifications 2024-01-13 17:15:24 +01:00
Sergio Martin 13561dc134 Fixing benchmark with release compilation 2024-01-13 17:11:21 +01:00
Sergio Martin d023e639c3 More refactoring 2024-01-13 14:33:35 +01:00
Sergio Martin 1389a87ad6 Simplifying 2024-01-13 14:06:33 +01:00
Sergio Martin 8059551339 Removing unnecessary file 2024-01-13 13:48:45 +01:00
Sergio Martin 47112198ad Removing warnings 2024-01-13 13:43:20 +01:00
Sergio Martin 0c8318e26e Adding initial benchmark 2024-01-13 13:35:54 +01:00
Sergio Martin df999066a3 Adding benchmark and starting to fix warnings 2024-01-13 13:28:32 +01:00
Sergio Martin 52bb0987e3 Adding doRendering flag to disable audio/picture rendering for performance 2024-01-13 11:10:42 +01:00
Sergio Martin 86ffc7fce7 Adding halt instructions 2024-01-13 10:07:24 +01:00
Sergio Martin e1f4d956fe Adding solar jetman and ng2 2024-01-13 09:55:07 +01:00
Sergio Martin b36822dfaa Fixed playback memory use, adding super offroad and improved testing 2024-01-13 07:04:22 +01:00
Sergio Martin 1952f8a622 Adding verification for tests 2024-01-12 21:13:51 +01:00
Sergio Martin 147d0d4f52 Progress with testing 2024-01-12 19:14:57 +01:00
Sergio Martin 03e512dc12 Starting to add tests 2024-01-11 20:23:32 +01:00
Sergio Martin 16143afe0d Progress with player 2024-01-11 19:44:54 +01:00
Sergio Martin d310134441 Opening player render window 2024-01-10 20:11:49 +01:00
Sergio Martin 410bbd9338 Adding tests and moving code around 2024-01-10 19:48:57 +01:00