Commit Graph

93552 Commits

Author SHA1 Message Date
angelosa
486479c815 skeleton/cle68k.cpp: notes 2025-04-07 15:36:39 +02:00
hap
35b49fd3f2 i8085: small cleanup 2025-04-07 12:18:39 +02:00
hap
8f2cde3399 rohga: correct allow continue dipswitch [coyonut] 2025-04-07 11:30:40 +02:00
hap
1e40f6e880 i8085: no need for a diagram on how a rotate opcode works 2025-04-07 11:29:52 +02:00
Roberto Fresca
d3b0fd4678 Paracaidista driver and i8085 core improvements: [Roberto Fresca, Grull Osgo]
- Working RAM through PPI 8155 internal RAM and handlers.
 - Extended the PPI 8166 to support the 14bit timer + 2bit control.
 - Hooked the i8257 DMA controller.
 - Demuxed the digital inputs.
 - Adjusted screen visible area.
 - Worked the DMA support to get registers in the correct addressing.
 - Hooked the analogic inputs.
 - Added inputs for two players.
 - Added DIP switches for coinage, difficulty, and lives.
 - Added and demuxed spinner controls.
 - Added NVRAM support.
 - Sound support.
 - Adjusted the spinners parameters to general purpose.
 - Sound level control circuitry.
 - Wired players lamps.
 - Added technical notes.

 - Rewrote the enhanced no documented i8085 RDEL & DSUB
    instructions and their own flags.

Systems promoted to working
---------------------------
Paracaidista [Roberto Fresca, Grull Osgo]
2025-04-07 04:15:34 +02:00
cam900
dccd92dfbe
Fixed a few issues and cleaned up code in Hudson Soft PC Engine component devices: (#13493)
* sound/c6280.cpp: Improved accuracy of volume control and LFO.
* video/huc6260.cpp: Suppress side effects for debugger reads, fixed save state issues.
* video/huc6270.cpp: Suppress side effects for debugger reads.
* Chose better types for member variables, made more local variables const, reformatted code.
2025-04-07 03:40:45 +10:00
cam900
ec582979e7
shared/namco_c355spr.cpp: Update comments and description to reflect the fact that the C355 is used with a 187. (#13518) 2025-04-07 03:21:32 +10:00
cam900
178f205a4a
video/gba_lcd.cpp: Implement device_palette_interface rather than instantiating a separate palette device. (#13481) 2025-04-07 03:15:56 +10:00
hap
e7250f3563 konami.lst: correction to prev commit with shift count 2025-04-06 18:21:00 +02:00
m1macrophage
2c7efb2177
oberheim/dmx.cpp: Corrected HPFs. Converted audio path to voltages. Tidying. (#13562)
* Corrected the calculation of the voice DC-block HPF.
* Audio streams are in voltages.
* Cross-checked component values with parts list, and corrected a couple of them.
* Also updating master volume and pitch adjustments on reset.
2025-04-06 17:41:28 +02:00
Vas Crabb
79db8d2a59 -cpu/e132xs: Use word addressing for I/O.
* There are no byte enable or write strobe signals for I/O, and there's
  only a single operand size, so word addresses make more sense.
* Also changed STBS/STWS to allow any valid signed or unsigned value of
  the applicable size.  This allows vamphalf attract mode to work as
  well as the storage test.

-misc/limenko.cpp: Better input types for spotty.
2025-04-07 00:24:48 +10:00
angelosa
362218a74d skeleton/bolsaint.cpp: hookup txc/rxc 2025-04-06 15:04:14 +02:00
hap
baea852a3b simpsons,thunderx: lower overall volume to prevent clipping 2025-04-06 15:01:44 +02:00
hap
1edf23d22d konami cpu: shift amount for the extra shift opcodes is 4-bit [Jim Westfall] 2025-04-06 13:36:55 +02:00
hap
ea3118ab93 konami cpu dasm: be consistent with uppercase data and reg names, renamed some opcodes 2025-04-06 13:36:55 +02:00
DarksoftMAME
9540dfbff0
segas16b.cpp: Update wfishing EPROM labels (#13563) 2025-04-06 10:58:38 +02:00
Ivan Vangelista
f3bce9a9c4 New working clones
------------------
Rail Chase 2 [lukemorse1]

- misc/gms.cpp: added DIP definitions for cjdlz [little0]
2025-04-06 09:18:55 +02:00
Vas Crabb
da2d86c9a8 cpu/e132xs: Changed STBS and STHS to do an unsigned range check.
* Fixes vamphalf storage test.
* Also fixed IO3 wake from power down.
2025-04-06 05:31:39 +10:00
Vas Crabb
c41a83655a -cpu/e132xs: Fixed I/O for models with 16-bit external bus.
* Only a single I/O access is generated for an I/O word read/write.  The
  upper half just disappears if the pins aren't present.  This fixes
  "phantom" I/O accesses, allowing address maps to be cleaned up a bit.
* Reduced I/O address width for models with 16-bit external bus to match
  hardware.
* Made addressing consistent between interpreter and recompiler for I/O
  double-word accesses.
* Implemented power down via internal I/O write for E1-X and later
  cores (none of the games I tested actually use it).

-misc/pasha2.cpp: Enabled the recompiler for Zooty Drum - it gets just
 as far as the interpreter now.
2025-04-06 03:54:24 +10:00
angelosa
db90a9fe41 skeleton/bolsaint.cpp: add basic meat 2025-04-05 18:25:03 +02:00
holub
fe50bb770a
cpu/z80: Improved z80 code generation (#13558) 2025-04-05 17:08:27 +02:00
Vas Crabb
d914e2a574 cpu/e132xs: Improved comment about model differences. 2025-04-05 06:18:17 +11:00
Ivan Vangelista
cc56f6bbb4 promat/gstream.cpp: fixed compile 2025-04-04 20:06:07 +02:00
Vas Crabb
f109cfdf94 cpu/e132xs: It's rather important to initialise DRC handle pointers. 2025-04-05 04:58:04 +11:00
Vas Crabb
3c27e2fd8d cpu/e132xs: Untangled device types.
* Got package option (T, N or B suffix) out of device type.
* Enabled 4x PLL clock multiplier for GMS30C2216/GMS30C2232.
* Implemented entering power down mode via MCR for E1 and E1-X cores.
* Marginally better code generation for a few instructions.
* Log available bus/memory configuration options for different cores.
* Added post load handler for E1-XS and E1-XSR cores to install SDRAM
  mode/configuration handlers if necessary.
* Improved comment about different Hynix and Hyperstone CPU models.

-cpu/drcbearm64.cpp: Don't update flags that aren't requested in a few
 places.
2025-04-05 04:37:58 +11:00
cracyc
9d1ff6e8ee pc_vga: only set the ramdac color when all three values are written
ega: the mask only applies to the latch not the vram
2025-04-04 12:29:34 -05:00
Ivan Vangelista
924601d45f New systems marked not working
------------------------------
Happy Planet [Guru]

New working clones
------------------
Mahjong Electron Base (parts 2 & 3, Japan set 3) [little0]

- excellent/es8906.cpp: fleshed out a bit
2025-04-04 17:15:54 +02:00
AJR
b9a91cada5 midw8080/8080bw.cpp: Remove shifter from some (mostly bootleg) sets that don't use it 2025-04-04 08:16:20 -04:00
ClawGrip
0cecc6f1cc
midw8080/8080bw.cpp: Fix typo on ROM name (#13556) 2025-04-04 12:51:01 +02:00
cam900
0ca50cf1fb
cpu/z180/z180.cpp: Fix filename in comment (#13555) 2025-04-03 22:19:43 -04:00
hap
950b396e53 konami cpu: set EXG/TFR reg A high byte to 0x10 2025-04-03 19:10:20 +02:00
Vas Crabb
b1c09f02b4 -cpu/e132xs: Got rid of "Mission Craft flags" compile time option.
* Assume ROL sets the V and C flags the same way as SHL and MOVI clears
  the V flag.

-cpu/drcbex64.cpp: Optimise SUB x,0,y to a NEG instruction (gets down to
 one instruction from two or three a lot of the time).  This had been a
 TODO comment for ages.

-cpu/drcbex86.cpp: Got rid of unnecessary std::function use.  This
 substantially reduces the code size and reduces allocations during code
 generation.

-cpu/drcbearm64.cpp, cpu/drcbex64.cpp, cpu/drcbex86.cpp: Got rid of the
 intermediate tables in favour of bit switch statements.  This improves
 startup time, reduces code size, and gives the compiler more
 optimisation opportunities.

-cpu/drcbearm64.cpp, cpu/drcbex64.cpp, cpu/drcbex86.cpp: Got rid of
 asmjit namespace qualifiers left over from when the class declarations
 were in headers and hence outside the scope of the using namespace
 statements.
2025-04-04 03:49:01 +11:00
Ivan Vangelista
9a2b909a9e New systems marked not working
------------------------------
Petit Lot (ver. 4.1) [buffi]

New clones marked not working
-----------------------------
Ichi Ban Jyan (Ver 2.35) [buffi]

- misc/fresh.cpp: small cleanups

- skeleton/cle68k.cpp: added 2nd RAMDAC place-holder
2025-04-03 17:11:54 +02:00
Vas Crabb
c5629193ce cpu/drcbearm64.cpp: orr immediate needs a mask immediate. 2025-04-03 16:41:01 +11:00
MetalliC
c5460b1011 New working clones
---------------------
Street Fighter III 3rd Strike: Fight for the Future (Asia 990512, NO CD) [Goldenglober]
Street Fighter III 3rd Strike: Fight for the Future (Asia 990608, NO CD) [Goldenglober]
2025-04-03 02:23:31 +03:00
hap
456d6b7619 konami cpu: corrections to EXG/TFR opcode [hap, Jim Westfall] 2025-04-02 22:32:23 +02:00
Ivan Vangelista
c6e93c06f3 - skeleton/cle68k.cpp: fleshed out the driver, needs correct colors / GFX decoding
- dynax/ddenlovr: myunivbl and myunivbl2 aren't bootlegs after all, so rearrange accordingly

- igs/igs011.cpp: demoted xymga to not working as it hangs during attract
2025-04-02 18:35:12 +02:00
Vas Crabb
e17d676fd1 cpu/drcbearm64.cpp: Fixed build after previous commit.
Sorry, I'm too tired and didn't git add this.  My bad.
2025-04-03 03:08:59 +11:00
Vas Crabb
436431d99b -cpu/e132xs: Miscellaneous fixes/optimisation:
* Fixed behaviour of delayed branches, trace exceptions, and saved PC
  calculation for error exceptions in delay slots for the interpreter.
  All instructions in delay slots, branching instructions that can raise
  exceptions and tracing shoud now (mis)behave properly for the
  interpreter, including things the manual says you shouldn't do.
* Fixed and optimised flag updates for left shifts for the recompiler.
* Optimised ROL instruction for the recompiler and made flag calculation
  equivalent to the interpreter both with and without the "Missioncraft
  flags" compile-time option.
* Only block interrupts for one instruction following a delayed branch.
* Optimised the SOFTWARE instruction a little for the recompiler.
* Added more SDRAM configuration logging and cleaned up code a bit.

-cpu/drcbearm64.cpp: Apply the change from 7efe37938f to OR and
 XOR instructions as well, and fix some cases where a 32-bit logical
 operation would fail to clear the upper bits of a register.

-cpu/drcbex64.cpp: Avoid more conditional branches on conditional MOV.
2025-04-03 02:40:43 +11:00
Devin Acker
9349b16a17
Add a skeleton for an Oldsmobile Driver Information System (#13525)
* New NOT_WORKING machine
----------
Oldsmobile Driver Information System (version 2.2 CH) [Devin Acker]
2025-04-02 10:22:45 -04:00
Daniel Nylander
838bd064c6
language/Swedish/strings.po: Update Swedish translation (#13541) 2025-04-02 10:20:24 -04:00
cam900
922a631001
bus/mmc5.cpp: Fix IRQ (#13547) 2025-04-02 11:09:38 +02:00
m1macrophage
3299e78bae
Implemented VA EG (Envelope Generator) and VCA (Voltage Controlled Amplifier) sound devices. (#13545)
* sound/va_eg.cpp, sound/va_vca.cpp: Envelope generator and voltage-controlled amplifier.

Implemented RC-based envelope generator and voltage-controlled amplifier devices.
Replaced custom implementations in paia/fatman, linn/linndrum and oberheim/dmx.

* Fixing comments.

* More comment fixes.

* Adding comments based on feedback.

* Fixed typo.
2025-04-02 10:31:23 +02:00
Patrick Mackinlay
a71c0333b7 x68k: add CZ-7BS1 dma glue logic 2025-04-02 13:27:05 +07:00
Patrick Mackinlay
ee6cb33f46 hd63450: add primitive /own and /dtack support
* also improve auto-request mode logic
2025-04-02 13:27:04 +07:00
Adam Billyard
3c729314b8
- consistent logging order for status (#13546)
Co-authored-by: Adam <adam@light-up.co.uk>
2025-04-02 00:07:38 +02:00
hap
1e9beec88c konamigx: small spacing correction after prev search/replace commit 2025-04-01 14:18:42 +02:00
hap
3aab3182fb konamigx,mystwarr: use hexadecimal for rom file sizes 2025-04-01 14:04:06 +02:00
hap
90b86c79b6 konamigx: small cleanup to spacing 2025-04-01 13:49:41 +02:00
Fredrik Sandkvist
7feaa6968d
Konami (GX) blending - additive sprite blending, improved tile blending (#13473)
k053246_k053247_k055673.cpp, k053246_k053247_k055673.h:
I went back to update zdrawgfxzoom32GP(), now down to a third of its original size before I started changing it. As a thinly veiled excuse for reworking the whole function, I went ahead and added additive sprite blending (to the now singular alpha call site).

Remarks: the mix priority setting is not yet handled. It seems simple enough (flip dst and src), but I would like to find an example of this before I implement it.

k054156_k054157_k056832.cpp:
The attr variable holds what appear to be the elusive tile (external) mix codes. Attach it to the flags variable so these bits can be accessed in the tile callback functions. Tiles with mix codes gets their own tilemap category.

Remarks: I've now changed the callback to include an attr param.

k054338.cpp:
Update set_alpha_level. This function now returns a level, an additive blend bool and a mixpri bool. Minor style changes to the overall file.

Remarks: set_alpha_level doesn't actually set anything. Maybe rename to get_alpha_level?

moo.cpp, xexex.cpp:
Mask out the new additive & mixpri bits from set_alpha_level calls for now, until it's known if / how they should be used over there.

mystwarr_v.cpp, mystwarr.h:
Remove mystwarr water hack.
Update mystwarr_tile_callback (and add viostorm_tile_callback) to read tile mix codes, store last read mix code in a new m_last_alpha_tile_mix_code variable.
Attach m_last_alpha_tile_mix_code to mixerflags, which happens to have two unused bits.

Remarks: I updated the mixerflags documentation to mention the usage of the last two bits.

konamigx_v.cpp, konamigx.cpp, konamigx.h:
Shrink GX_MAX_SPRITES, which to the best of my ability seems to be oversized. There does seem to be several oversized arrays / defs in these files, so I think this is one of them.
The usual FredYeye updates to konamigx_mixer - move declarations closer to use, more suited types, rename temp vars, etc.
Change objpool to a vector, simplifying usage (push_back, size).
Replace sorting loop with reverse + stable_sort.
Improve gx_draw_basic_tilemaps - read internal / external alpha mix codes based on vinmix_on. Tiles with mixcodes get drawn in a separate pass for per-tile blending.
Update alpha_tile_callback and add salmndr2_tile_callback, same as the mystwarr_v callbacks.

What started out as trying to sort out konamigx_mixer() to look at shadow/priority issues instead ended up with me finally getting a foot into the figurative tile blending door. The mystwarr water hack is gone, and sexyparo gets transparent windows. This might affect many GX and related games. Alpha blending might be broken in some games now, and needs to get their mix codes attached in their respective callbacks. salmndr2 got tagged in my automatic video comparison for differing from earlier versions, that's why I managed to fix it already.

Known problems:
metamrph: stained glass windows are near-transparent at the moment. I think additive tile blending will fix it...
viostorm: character names fade in in reverse. This also uses additive blending, so this might also get fixed once that's in.
fantjour: the top & bottom flames at the captain kebab ship go missing. Uses additive blending.
2025-04-01 13:03:25 +02:00