693 Commits

Author SHA1 Message Date
littlegamer87
1613eea552 Update README.md (#477) 2026-04-20 17:45:35 +08:00
littlegamer87
b7f7ef185d Fix boot rom detection (#476) 2026-04-18 13:39:16 +08:00
paulb-nl
4aaa0191a3 SNAC refactor (#473) 2026-03-31 18:42:38 +08:00
Jonathan Keller
0907b84276 Allow CPU access to core memory over UART for SNI (#462)
* Allow UART access to ROM and WRAM for SNI

* [SNI] SRAM and controller register support

* keep file definitions in files.qip

* fix SDRAM timing

* further SDRAM optimization

* add a protocol version number to SNI command handler

* sdram: move raw_req_test off the critical path

* sni: fix issue with WRAM writes to SA-1 games

* Address review feedback
2026-03-31 14:40:29 +08:00
Sorgelig
4453ccb8f8 Release 20260325. 2026-03-25 19:03:26 +08:00
Sorgelig
2682ee0f49 Update sys. 2026-03-25 18:56:49 +08:00
littlegamer87
131a94b9f0 Revert rom address mirroring, fix async clk in PPU (#472)
* Revert "Fix save states when rom address mirror is active (#470)"

This reverts commit f9901ee8e7.

* Revert "Add rom address mirroring when rom size is not a power of 2 (#469)"

This reverts commit 38396226dd.

* PPU: fix FORCE_BLANK inferred as async clk
2026-03-24 14:50:16 +08:00
littlegamer87
f9901ee8e7 Fix save states when rom address mirror is active (#470) 2026-02-24 12:51:55 +08:00
littlegamer87
38396226dd Add rom address mirroring when rom size is not a power of 2 (#469) 2026-02-21 15:55:05 +08:00
Akiteru
54366faf50 CX4: Adjust bus access timings to reduce excess slowdown on wireframes (#467) 2026-02-16 13:40:43 +08:00
Sergiy Dvodnenko
bc2ea4558b Merge pull request #466 from AkiteruSDA/cx4-cache-timing
CX4: Make cache enable on writes to $7F48 unconditional, fix branch/skip timings
2026-02-04 22:13:43 +02:00
Akiteru
c7048320be CX4: Make cache enable on writes to 7F48 unconditional, revert branch/skip timing changes 2026-02-04 13:27:38 -03:30
littlegamer87
2369d2bbaf MSU1: Code cleanup (no function change) (#464)
* MSU1: Code cleanup (no function change)

* MSU1: Correct resume completed logic

* MSU1: Keep DOUT as sequential logic
2026-01-27 03:25:51 +08:00
littlegamer87
fefbccae4e MSU1: Add resume track command (#463) 2026-01-22 12:55:07 +08:00
Sergiy Dvodnenko
bb98629b02 PPU: fix access to OAM. 2026-01-16 14:04:54 +02:00
Sergiy Dvodnenko
40d329eb1f Merge pull request #456 from littlegamer87/rename
Rename Sound frequency option to Audio clock
2026-01-06 22:55:37 +02:00
littlegamer87
b3cec0e97a Rename Sound frequency option to Audio clock 2026-01-06 21:24:10 +01:00
Sergiy Dvodnenko
1065c21d2e 65C816: NMI delay after DMA by 1 cycle (Battletoads in Battlemaniacs intro) 2026-01-04 17:44:31 +02:00
Sergiy Dvodnenko
57966d6398 Add S-PPU1/2 schematic. 2025-12-26 12:23:01 +02:00
Sergiy Dvodnenko
5a38e9dc6a Fix warning. 2025-12-25 16:32:24 +02:00
Sergiy Dvodnenko
05f60444f0 PPU: rework access to OAM. 2025-12-25 16:31:50 +02:00
Sergiy Dvodnenko
1a029ecdba PPU: fix VRAM access during blank. 2025-12-25 11:07:16 +02:00
Sergiy Dvodnenko
63c45a1962 Merge pull request #452 from paulb-nl/sprite_16x32
PPU: Fixes for 16x32 & 32x64 sprites and tile count/flip
2025-12-23 15:31:44 +02:00
paulb-nl
f87cf02995 PPU: Fixes for 16x32 & 32x64 sprites and tile count/flip
With the undocumented sizes 16x32 and 32x64 two of the obj size signals
are active simultaneously. It seems that the Range and Time periods use
a mix of the two sizes for different checks.

Example: With a sprite size of 16x32 the sprite is still in range when
the H position is set to -16. Time treats the sprite as 16x16 but with
H position -16 it displays the tiles with horizontal offset 2 & 3
instead of 0 & 1.

Normally with sprite interlace enabled, the sprite height is halved but
with a sprite size of 16x32 it is treated as 32x8 instead of 32x16.

With tile flip it only inverts the tile count bits according to sprite
size.
2025-12-23 13:11:14 +01:00
Sergiy Dvodnenko
b65623ffd7 Add Sound frequency option. 2025-12-18 21:07:37 +02:00
Sergiy Dvodnenko
f4f0bc5109 Add Competition Cart support. 2025-12-18 20:59:42 +02:00
Takiiiiiiii
a085205b48 Update framework (#449) 2025-12-06 00:19:32 +08:00
Sergiy Dvodnenko
30aaaa6cda PPU: fix sprite evaluation during Force Blank 2025-11-18 20:53:04 +02:00
paulb-nl
a9c963e2a8 PPU: BG fetch in VBlank fixes (Pocky&Rocky title) (#440)
Pocky & Rocky title screen pixels should change from white to purple
when Options menu appears.

In VBlank if BG mode is 0-6 then BG fetches all $FF like Force Blank.
If the mode is then changed to mode 7 in VBLank then the latched $FF will
stay in the latched data until mode is changed to 0-6 again.
2025-10-28 22:50:56 +08:00
Sergiy Dvodnenko
f9438bf0ed PPU:
-fix fetching of disabled bg layers (Pocky & Rocky: title)
-increase the pixel output pipeline (Wild Guns: pixel)
-implement the behavior of the Color Math unit when changing settings (Shounen Ashibe - Goma-chan no Yuuenchi Daibouken, Pocky & Rocky: pixels)
2025-10-27 21:13:11 +02:00
Sergiy Dvodnenko
3dc5091295 BSX: fix mapping for save RAM. 2025-10-25 20:52:35 +03:00
littlegamer87
2201db36ba Fix aspect ratio in 256x239 mode (#436) 2025-10-15 23:00:58 +08:00
Sergiy Dvodnenko
964fc600f3 BSX: fix Data Pack mapping (BS Fire Emblem - Akaneia Senki Hen) 2025-10-13 14:29:28 +03:00
Sergiy Dvodnenko
2491aadcbd Fix sdram refresh during reset. 2025-10-12 21:29:46 +03:00
Sergiy Dvodnenko
f9a80877ee 65C816: fix typo. 2025-10-09 17:11:24 +03:00
Sergiy Dvodnenko
6b431c997d PPU: fix interlace for BG mode 6. 2025-10-09 17:09:58 +03:00
Sergiy Dvodnenko
1c3469018f Merge pull request #429 from paulb-nl/mode7_fb
PPU: Accuracy changes for BG & Mode7 Force Blank
2025-09-28 19:33:12 +03:00
paulb-nl
5eeddd6a5e PPU: Accuracy changes for BG & Mode7 Force Blank
This behavior was confirmed with test roms.

MPY implemented as described in the FullSnes doc. Mode7 gets 2
multiplication results per pixel. Signed 16x11 multiplier (27 bits).

If Force Blank is enabled during the M7_TEMP_X/Y calculation
then it uses the result of the general purpose M7AxM7B multiply.
That means the following line will start at the wrong position.

BG fetching continues during Force Blank but Tile map data and pixels
read from VRAM will read as $FF.

Force Blank can be disabled at any BG fetch cycle. Depending on the
cycle where Force Blank is disabled a BG layer will read Tile $3FF or
pixels as color $FF.
2025-09-28 17:09:29 +02:00
Sergiy Dvodnenko
68fe1a8cd2 Add SA1 captures. 2025-09-20 12:22:27 +03:00
Sergiy Dvodnenko
c20638be8b Merge pull request #428 from wwark/fix_bsx_with_linux_compilation
fix BSX issue on Welcome Screen with linux compilation
2025-09-14 20:05:14 +03:00
Marc Roy
f0a672bfd7 fix BSX issues with linux compilation
The real directory is rtl/chip/BSX/ and not rtl/chip/bsx/
This change permits with linux compilation to fix freeze on welcom screen of Satellaview contents.
2025-09-14 17:26:27 +02:00
Sergiy Dvodnenko
85b76d3f37 Some optimization of the ROM address path. 2025-09-09 17:07:59 +03:00
Sergiy Dvodnenko
5ff3e86007 Merge pull request #424 from kconger/rumble_en
Disconnect rumble emulation when SNAC is enabled
2025-08-18 10:00:26 +03:00
Keith Conger
b51a451cd1 Disconnect rumble emulation when SNAC is enabled 2025-08-16 19:35:33 -07:00
Keith Conger
13bf006c23 Rumble Support (#419) 2025-07-23 14:40:45 +08:00
Sergiy Dvodnenko
e4aa69cd43 sdram: synchronise refresh with WRAM refresh. 2025-07-08 15:39:18 +03:00
paulb-nl
8dcb766205 Revert "sdram: tweak the refresh timing." (#415)
This caused issues with SA-1.

This reverts commit b8c3d4a387.
2025-07-08 00:53:31 +08:00
paulb-nl
7e9ec639b2 Add Save states
* Save states WIP

Read/write to DDRAM directly

DDRAM: reset cache during reset

SNES.sv: change ROM index so boot1 can be used for savestate ROM

Restore UART and MIDI in CONF str

Fix SPC file playing

* Save state: add SA1 support

SA1: fix save state rd/wr signals

* Add savestates.asm source

* Save state: remove emulation interrupt vectors

* Save state: make PPU regs readable

* Save state: add DSP support

* Save state: add Super FX support

* Default state save to SD ON, Option for Save state button combo

* parameter to build without save states

* Add boot1.rom for save states
2025-07-08 00:53:09 +08:00
Sergiy Dvodnenko
b8c3d4a387 sdram: tweak the refresh timing. 2025-06-24 14:50:21 +03:00
Brendan Saricks
144c547a73 Release 20250605
Seed 10 build. Fixes Megaman X2, Megaman X3, and Star Fox 2
2025-06-14 14:25:25 +08:00