Commit Graph

93651 Commits

Author SHA1 Message Date
cam900
c6313f8049
sound/gb.cpp: Fixed master volume control and cleaned up code: (#13483)
* Fixed master volume control.
* Fixed output range.
* Fixed sweep, wave RAM corruption and GBA read/write emulation.
* Use integer bit fields for pulse duty cycle tables.
* Reduced duplication made some variables const, improved member names.
2025-04-17 04:15:29 +10:00
Devin Acker
ec7eb50bf6
casio/cps200.cpp: Added a skeleton Casio CPS-2000 driver; also improved µPD934 and MSM6200 emulation. (#13591)
* machine/msm6200.cpp: Scan matrix on a timer until a change is detected.
* sound/upd934g.cpp: Fixed play sample command.
* casio/cz1.cpp: Added MSM6200 clock input frequency.

New systems marked not working
---------------
Casio CPS-2000 [BCM, Devin Acker]
2025-04-17 04:08:49 +10:00
angelosa
8ac83f8b02 nec/pc98_sdip.cpp: drop template i/f 2025-04-16 20:01:05 +02:00
angelosa
f4b1881edc nec/pc9801.cpp: fix SDIP bank interface for pc9801us and pc9801fs 2025-04-16 20:01:05 +02:00
Vas Crabb
519cbd956c cpu/drcbearm64.cpp: Fixed more cases where ROLAND clobbered source registers.
ROLAND could clobber source registers or produce incorrect results if
the desination was the same UML register as the shift or mask.

Fixed a bug in the logic for deciding whether to use a temporary
register for the mask for ROLINS.

Also optimised ROLAND and ROLINS some more (particularly translation
from UML's left rotate to ARM's right rotate) and removed a special case
that the simplifier now takes care of.
2025-04-17 03:29:30 +10:00
Vas Crabb
ae41239b49 -misc/dgpix.cpp: Marked Elfin as having unemulated protection.
* Elfin will eventually get into a state where it ignores coins.
  Protection is conceptually similar to The X-Files.

-cpu/uml.cpp, cpu/drcuml.cpp: Made it possible to build with logging
 simplifications enabled (in uml.cpp it logs each step, in drcuml.cpp it
 logs the net change).  It will produce absoluely massive logs, though.

-cpu/drcuml.cpp: Removed woefully inadequate and badly rotted "backend
 validation" code.
2025-04-17 00:56:56 +10:00
hap
db22f22b44 nycaptor: fix priority bug on spot 22 [dink] 2025-04-16 11:14:52 +02:00
Roberto Fresca
785232aca3 Norautp.cpp driver improvements:
- Turbo Poker II palette decoded from bipolar PROMs.
 - Adjusted the Poker Plus palette to 256 entries.
 - Dedicated Turbo Poker II memory map and machine config.
2025-04-16 03:51:11 +02:00
Roberto Fresca
78549cc53b noraut.cpp driver: Added the tpoker2 and tpoker2a bipolar PROM CRC32 to rom load.
Added workaround to show cards in tpoker2a and tpoker2b attract for testing purposes.
2025-04-16 02:51:16 +02:00
Vas Crabb
2d31b39b20 A couple of recompiler improvements involving the carry flag:
* cpu/drcbearm64.cpp: Optimised setting up carry flag for ADDC and SUBB.
  There's no need to preserve the NZV flags so a two-instruction
  sequence can be used.
* cpu/drcbex64.cpp: Simplified code generation for CARRY.  I have no
  idea why it was preserving RAX at all - it always uses RAX as a
  scratch register.
2025-04-16 05:50:05 +10:00
mamehaze
db2a0449eb
bfm/bfcobra.cpp: Corrected polarity of brainbox2 cashbox door sensor input. (#13595)
Allows the game to accept credits.
2025-04-16 05:39:56 +10:00
Adam Billyard
fb033d7a24
machine/nscsi_bus.cpp: Changed data release delay to 400ns to match the comment. (#13593)
It was previously using a value of 40ns.
2025-04-16 05:31:35 +10:00
cam900
596378bfe0
cpu/avr8/avr8.cpp: Fixed program address masks and boot ROM sizes. (#13578)
* Fixed program address masks for word addressing.
* Fixed PC shift in state string export.
* handheld/pensebem.cpp: Fixed internal ROM region size.
* makerbot/replicator.cpp: Use lowercase hexadecimal literals.
* skeleton/venteta.cpp: Fixed CPU type for fix PC size (16 bits - also word unit) and internal RAM size (4000 bytes).
* ultimachine/rambo.cpp: Fixed internal ROM region size, use lowercase hexadecimal literals.
2025-04-16 05:23:13 +10:00
cam900
edf127cded
sound/k007232.cpp: Suppress side effects for debugger reads and cleaned up code. (#13580)
* Use references rather than pointers where appropriate, made some variables const.
* Made parameter names match in header and source and reformatted code.
2025-04-16 05:21:11 +10:00
A-Noid33
fa479bf608
apple2_flop_orig.xml, mac_flop_clcracked.xml, mac_flop_orig.xml added 77 items (76 working), 1 non-working, removed 1 imperfect dumps. (#13566)
* Also cleaned up metadata, focusing on Laureate Learning Systems, Micrograms Publishing, and Softsmith.
* Removed an imperfect crack of Fractions for Apple II.

New working software list items (apple2_flop_orig.xml)
-------------------------------
Accounts Receivable (version 2.1) (Softsmith)
Acey-Deucey (Softsmith)
Algebra Volume 1 (version 1.3, 31-DEC-81) (Softsmith)
All About Light and Sound
Animal Bytes: Katie the Camel
Animal Bytes: Larry the Lion
Animal Bytes: Maggie the Mink
Animal Bytes: Oscar the Otter
Animal Bytes: Sammy the Sloth
Animal Bytes: Simon the Snake
Astro Attack (Softsmith)
Bugbyter (Softsmith)
Con-Putation (Softsmith)
Concentrate! On Words & Concepts I
Concentrate! On Words & Concepts II
Coordinate Geometry
Cosmic Combat (Softsmith)
Creature Magic
Cross Country Rallye (Softsmith)
Dinner on a Disk (Softsmith)
Disk Director (Softsmith)
Dr. Know
Dragon Wars
Early Emerging Rules: Negation (version 1.0)
Early Emerging Rules: Plurals (version 1.0)
Falcons (Softsmith)
First Verbs
First Words
First Words II
Following Directions: One and Two-Level Commands - Spatial Relations
Fractions (version 3.0 04-10-82) (Softsmith)
Friends or Lovers (Softsmith)
Game of the U.S. (Softsmith)
GeoArt
Geometry Concepts (version 2.1)
Grammar: Building Better Language Skills: Sentences
Grammar: Building Better Language Skills: Verbs
Keyboard Golf (Softsmith)
L.A. Land Monopoly (Softsmith)
Lazer Maze (Softsmith)
Lazer Silk (Softsmith)
Little Counter (version 1.1 26-FEB-82) (Softsmith)
LogoMotion (version 1.2) (Softsmith)
Marine Life: Invertebrate Anatomy
Mathosaurus: Kindergarten
Meet The Presidents (Softsmith)
Micro Barmate (version 1.0) (Softsmith)
Modern Biology: Cellular Respiration
Modern Biology: Photosynthesis
Mummy's Curse (Softsmith)
Music Concepts
Pet Shop (A-347 version 1.0)
Plant and Animal Cells
Starblaster (Softsmith)
States (version 2.0)
SuperGraph
WordFinder
Words & Concepts
Zenith (Softsmith)

New non-working software list items (apple2_flop_orig.xml)
-------------------------------
Guardian (Softsmith)

Removed (apple2_flop_clcracked.xml)
-------------------------------
Fractions (version 3.1 / 25-NOV-83) (imperfect clean crack)

New working software list items (mac_flop_orig.xml)
-------------------------------
Archon
Fast Break
Ferrari Grand Prix (version 1.37)
Fraction Action
FullPaint (version 1.0)
Grid Wars (version 1.0)
Hacker
HardBall
The Bitstream Typeface Library (version 2.0)

New working software list items (mac_flop_clcracked.xml)
-------------------------------
Archon (san inc crack)
Blockout (version 1.3) (4am crack)
Fraction Action (san inc crack)
FullPaint (version 1.0) (san inc crack)
Grid Wars (version 1.0) (san inc crack)
Hacker (san inc crack)
HardBall (san inc crack)
MacRacquetball (version 2.0) (4am crack)
2025-04-16 05:15:26 +10:00
ClawGrip
261e56ef8b
phonenix/phoenix.cpp: Added a Spanish bootleg of Phoenix from Explomatic. (#13552)
New working clones
------------------
Fenix (Explomatic, Spanish bootleg of Phoenix) [Jordi Tuells]
2025-04-16 05:11:35 +10:00
Ivan Vangelista
32437c6a22 New systems marked not working
------------------------------
Chaoji Daheng 6th [Mr. Kong]
Dokidoki Kingyo Sukui [Darksoft, TeamEurope]
Hello Kitty Koi no Shugoshin Uranai [Darksoft, TeamEurope]
Katori Attack [Darksoft, TeamEurope]
Keroro Gunsou - Hacha Mecha Yakyu Taikai de Arimasu!! [Darksoft, TeamEurope]
Kotekitai Slot [Darksoft, TeamEurope]
Shatekids [Darksoft, TeamEurope]

- bmc/bmcpoker.cpp: added Oki ROM banking and mahjong controls for xyddzhh

- neogeo/neogeo.cpp: documentation update [JacKc]

- sigma/sigmab98.cpp: dumped BIOS version 1.0 for the Sammy medal games [Darksoft, TeamEurope]
2025-04-15 19:50:34 +02:00
angelosa
f6d743b937 nec/pc98: convert SDIP to device 2025-04-15 00:18:01 +02:00
Roberto Fresca
0855f614ed Dumped the 68705 MCU from Lucky Bar [Ioannis Bampoulas] 2025-04-14 23:56:12 +02:00
Vas Crabb
5785f30e7f Even more recompiler fixes:
* cpu/drcbearm64.cpp: Fixed ROLAND, ROLINS and CARRY clobbering the
  shift input when it's a a register.
* cpu/drcbex86.cpp: Fixed DROLINS clobbering source in I0 and
  miscalculating flags when destination is I0.
* cpu/uml.h: Removed assertion that's no longer valid.
* cpu/drcbearm64.cpp: Added minimal operand swizzling to allow AND, OR
  and XOR to work without the simplifier.
* cpu/drcbex64.cpp: Optimised shift operations slightly.
* cpu/drcbec.cpp: Added stub implementations for TEST with no flag
  outputs to allow running with simplifier disabled.
* cpu/drcbec.cpp: Implemented DREADM/DWRITEM with byte size access.
* cpu/drcbec.cpp: Store pointer to address space directly in instruction
  stream.
* cpu/drcbearm64.cpp: Removed some special cases for situations the
  simplifier deals with for ROLAND and ROLINS.
* cpu/drcbec.cpp: Added some actual detail to error messages on
  encountering unexpected instructions.
2025-04-15 06:12:17 +10:00
Roberto Fresca
9fd9257ac5 naroutp.cpp driver improvements: [Roberto Fresca, Grull Osgo]
- Identified the unkljfpk set as Poker Plus 6 Cards.
 - Added new set of Turbo Poker II as parent.
 - Added new inputs, worked machine configs, and
    buttons-lamps layouts for new games.
 - Got rid of some now unnecessary driver inits
 - Added another set of Turbo Poker II as first clone.
 - Added support for special Turbo Poker II NVRAM.
 - Created an extended memory map and respective machine config.
 - Added support for enable/disable the NVRAM, required
    by the Turbo Poker II MCU handling.
 - Created a machine start to init all the necessary things.
 - Added new sets: cgip30e, hilokimb, norautpb,
    gtipokrb, pokplusa, pokplusb, tpoker2, & tpoker2a.
 - More sets: krampcb2, krampcb5 (now working),
    and krampcb3, krampcb4, krampcb6 (encrypted).
 - Added the PLDs to the Turbo Poker II games as binaries.
 - Unified the bipolar PROM palette size in 256 entries.
 - Added more documentation, and ASCII PCB layouts.
 - Added technical notes.

New working systems
-------------------
Credit Poker (ver.30e, Extra Bonus) [Roberto Fresca, Grull Osgo, Ioannis Bampoulas]
Joker Poker 2000 (£15, Winbank) [Roberto Fresca, Grull Osgo, Ioannis Bampoulas]
Draw Poker HI-LO (bootleg, set 1) [Roberto Fresca, Grull Osgo, Alan Griffin]

New working clones
------------------
GTI Double or Nothing Draw Poker (Cleco) [Roberto Fresca, Grull Osgo, Ioannis Bampoulas]
Draw Poker HI-LO (bootleg, set 2) [Roberto Fresca, Grull Osgo, Alan Griffin]

New systems marked not working
------------------------------
Kimble Double HI-LO (z80 version, unencrypted) [Roberto Fresca, Grull Osgo, Ioannis Bampoulas]
Turbo Poker 2 (set 1) [Roberto Fresca, Grull Osgo, Ioannis Bampoulas]
unknown Kramer Poker (pcb3, encrypted) [Roberto Fresca, Grull Osgo, Alan Griffin]
unknown Kramer Poker (pcb4, encrypted) [Roberto Fresca, Grull Osgo, Alan Griffin]
unknown Kramer Poker (pcb6, encrypted) [Roberto Fresca, Grull Osgo, Alan Griffin]

New clones marked not working
-----------------------------
Poker Plus 6 Cards (set 2) [Roberto Fresca, Grull Osgo, Ioannis Bampoulas]
Poker Plus 6 Cards (set 3) [Roberto Fresca, Grull Osgo, Ioannis Bampoulas]
Turbo Poker 2 (set 1) [Roberto Fresca, Grull Osgo, Ioannis Bampoulas]
2025-04-14 20:37:09 +02:00
David 'Foxhack' Silva
709b22a8d0
msx2_flop.xml: New dump added (#13585)
New working software list items
-------------------------------
Dark Castle (Japan) [Trevgauntlet Neu]
2025-04-14 13:40:40 -04:00
ArcadeShadow
c0273c8a6d
spectrum_cass.xml: Added 46 working items and cleaned up metadata (#13589)
New working software list additions
--------------------------------------------
Video Basic (numero 1) [Spectrum Computing]
Video Basic (numero 1) (Edições Latinas) [Spectrum Computing]
Video Basic (numero 1) (Ediciones Ingelek) [Spectrum Computing]
Video Basic (numero 2) (Ediciones Ingelek) [Spectrum Computing]
Video Basic (numero 2) (Edições Latinas) [Spectrum Computing]
Video Basic (numero 2) (Gruppo Editoriale Jackson) [Spectrum Computing]
Video Basic (numero 3) (Ediciones Ingelek) [Spectrum Computing]
Video Basic (numero 3) (Edições Latinas) [Spectrum Computing]
Video Basic (numero 3) (Gruppo Editoriale Jackson) [Spectrum Computing]
Video Basic (numero 4) (Ediciones Ingelek) [Spectrum Computing]
Video Basic (numero 4) (Edições Latinas) [Spectrum Computing]
Video Basic (numero 4) (Gruppo Editoriale Jackson) [Spectrum Computing]
Video Basic (numero 5) (Ediciones Ingelek) [Spectrum Computing]
Video Basic (numero 5) (Edições Latinas) [Spectrum Computing]
Video Basic (numero 5) (Gruppo Editoriale Jackson) [Spectrum Computing]
Video Basic (numero 6) (Ediciones Ingelek) [Spectrum Computing]
Video Basic (numero 6) (Edições Latinas) [Spectrum Computing]
Video Basic (numero 6) (Gruppo Editoriale Jackson) [Spectrum Computing]
Video Basic (numero 7) (Gruppo Editoriale Jackson) [Spectrum Computing]
Video Basic (numero 7) (Ediciones Ingelek) [Spectrum Computing]
Video Basic (numero 8) (Ediciones Ingelek) [Spectrum Computing]
Video Basic (numero 8) (Edições Latinas) [Spectrum Computing]
Video Basic (numero 8) (Gruppo Editoriale Jackson) [Spectrum Computing]
Video Basic (numero 9) (Ediciones Ingelek) [Spectrum Computing]
Video Basic (numero 9) (Edições Latinas) [Spectrum Computing]
Video Basic (numero 9) (Gruppo Editoriale Jackson) [Spectrum Computing]
Video Basic (numero 10) (Ediciones Ingelek) [Spectrum Computing]
Video Basic (numero 10) (Edições Latinas) [Spectrum Computing]
Video Basic (numero 10) (Gruppo Editoriale Jackson) [Spectrum Computing]
Video Basic (numero 11) (Ediciones Ingelek) [Spectrum Computing]
Video Basic (numero 11) (Edições Latinas) [Spectrum Computing]
Video Basic (numero 11) (Gruppo Editoriale Jackson) [Spectrum Computing]
Video Basic (numero 12) (Ediciones Ingelek) [Spectrum Computing]
Video Basic (numero 12) (Edições Latinas) [Spectrum Computing]
Video Basic (numero 12) (Gruppo Editoriale Jackson) [Spectrum Computing]
Video Basic (numero 13) (Edições Latinas) [Spectrum Computing]
Video Basic (numero 13) (Gruppo Editoriale Jackson) [Spectrum Computing]
Video Basic (numero 14) (Edições Latinas) [Spectrum Computing]
Video Basic (numero 14) (Gruppo Editoriale Jackson) [Spectrum Computing]
Video Basic (numero 15) (Gruppo Editoriale Jackson) [Spectrum Computing]
Video Basic (numero 16) (Gruppo Editoriale Jackson) [Spectrum Computing]
Video Basic (numero 17) (Edições Latinas) [Spectrum Computing]
Video Basic (numero 17) (Gruppo Editoriale Jackson) [Spectrum Computing]
Video Basic (numero 18) (Gruppo Editoriale Jackson) [Spectrum Computing]
Video Basic (numero 19) (Gruppo Editoriale Jackson) [Spectrum Computing]
Video Basic (numero 20) (Gruppo Editoriale Jackson) [Spectrum Computing]
2025-04-14 11:19:56 -04:00
hap
a389a3393e devcb: add remove function to unset a devcb 2025-04-14 15:48:53 +02:00
arbee
64efa5635d apple/rbv.cpp: Remove leftover code since it's using the pseudo-VIA device now. [R. Belmont] 2025-04-14 07:42:47 -04:00
holub
7bb6cd259c
cpu/z80/z80.cpp: Avoided wrong isunset() detection in some Spectrum clones (#13590) 2025-04-14 11:00:55 +02:00
m1macrophage
6794099d89
machine/rescap.h: Implemented audio potentiometer law. (#13588)
* machine/rescap.h: Implemented audio potentiometer law.
Used it in oberheim/dmx.cpp and linn/linndrum.cpp.

* machine/rescap.h: Function should not be a constexpr.
Also avoiding pow in constexpr constants.
2025-04-13 21:58:52 +02:00
angelosa
65730f43b4 nec/pc98: drop '01 naming for memsw, kbd and cd 2025-04-13 21:30:49 +02:00
angelosa
e05b5cf408 nec/pc9801.cpp: move pc9801fs to pc9801us_state 2025-04-13 20:24:57 +02:00
angelosa
03bf3b03a5 nec/pc9801.cpp: make IDE hack local to pc9801rs 2025-04-13 20:24:57 +02:00
Vas Crabb
50178bb8a0 -apple/rbv.cpp, apple/maciici.cpp: Implemented monochrome mode, cleaned up clocks.
* apple/rbv.cpp: Send blue channel to all outputs when a monochrome
  monitor is connected.
* apple/rbv.cpp: Implement device_palette_interface rathr than using a
  separate palette device.
* apple/rbv.cpp: Derive 60.15 Hz timer and pseudo-VIA clock from clock
  input.
* apple/maciici.cpp: Derive clocks from RBV clock crystal.

-docs: Link more configuration options to their descriptions.
2025-04-14 03:31:55 +10:00
hap
d406685313 i8085: optimize set_status by checking if devcb is unset 2025-04-13 16:07:55 +02:00
Mike Swanson
853f7e8aed
hash/ibm51*.xml: New FreeDOS 1.3 hard disk image, FreeDOS 1.4 images (#13061)
hash/ibm5170_hdd.xml: replace FreeDOS 1.3 hard disk image with Full CD option.

New working software list item
--------------------------------------------
ibm5150.xml: FreeDOS 1.4 (Floppy-Only Edition, 3.5" 720k)
ibm5170.xml: FreeDOS 1.4 (Floppy-Only Edition, 3.5" 1.44MB), FreeDOS 1.4 (Floppy-Only Edition, 5.25" 1.2MB)
ibm5170_cdrom.xml: FreeDOS 1.4
ibm5170_hdd.xml: FreeDOS 1.4 [chungy]
2025-04-13 15:51:28 +02:00
cam900
075fffa097
bus/snes/st018.cpp: Add primary support of ST018 coprocessor (#13553)
* bus/snes/st018.cpp: Add primary support of ST018 coprocessor
moritas2 now boots, but still hangs at in-game.

* bus/snes/st018.cpp: Fix CPU latch accessing
2025-04-13 08:09:29 -04:00
angelosa
da488f5b09 hash/pc98.xml: update QA, 3.5" edition
New software list items marked not working
------------------------------------------
Touhou Reiiden: The Highly Responsive to Prayers [archive.org]
2025-04-13 12:18:03 +02:00
Vas Crabb
8212cb8b6b apple/rbv.cpp: Derive screen timing from oscillator inputs. 2025-04-13 06:43:49 +10:00
Vas Crabb
4d352e2562 apple/rbv.cpp: Use Endianness helper, fixed off-by-one in 8bpp cliprect check. 2025-04-13 05:33:14 +10:00
Vas Crabb
9d22332584 apple/rbv.cpp: Configure screen for selected monitor (fixes MT09152).
This is pretty hacky - it uses hard-coded parameters to give timing that
would work for each monitor.  I have no idea how the CRTC is actually
configured.
2025-04-13 05:12:15 +10:00
Vas Crabb
82718c58c4 cpu/drcbex64.cpp: Fixed another bug uncovered after fixing a bug in the DRC tester. 2025-04-13 03:59:41 +10:00
angelosa
9473c02735 nec/pc9801.cpp: accomodate gaiji BIOS setting memory to r/w to undisplayable portion when KAC is off 2025-04-12 18:31:42 +02:00
holub
19b42381d6
emu/emumem.h: Optimized cache line detection (#13584)
* emu/emumem.h: Optimized cache line detection

* use EXPECTED macro instead
2025-04-12 15:58:51 +02:00
angelosa
688559900f nec/pc9821.cpp: preliminary support for BIOS ROM overlay 2025-04-12 15:13:31 +02:00
flama12333
31081142cf
koftball.cpp: updated PCB info (#13579) 2025-04-12 07:48:16 +02:00
Vas Crabb
de40641555 More recompiler fixes:
* cpu/drcbec.cpp: Interpret index operand for load/store instructions as
  a signed value for consistency with other back-ends.
* cpu/drcbec.cpp: Honour alignment rules when packing immediate values.
* cpu/drcbex64.cpp: Don't special-case SEXT with an immediate source -
  the simplifier takes care of this.
* cpu/drcbex86.cpp: Be explicit about preserving flags in load/store
  instructions.
* docs: Added a couple more UML data movement instructions.
2025-04-12 13:25:58 +10:00
ClawGrip
2f93065a39
midway/midzeus.cpp: Add Cruis'n Exotica (version 1.0, build 8643) (#13572)
New clones marked not working
-----------------------------
Cruis'n Exotica (version 1.0, build 8643) [Victor Fernandez (City Game)]
2025-04-11 22:07:18 -04:00
qufb
9d0eab2f95
sega_beena_cart.xml: Add 2 new software items (#13528)
New working software items
---
Soreike! Anpanman Waku Waku Eigo Game! [TeamEurope]

New partially working software items
---
Juuken Sentai Gekiranger: Niki Niki! Kazu Katachi ni Challenge! [TeamEurope]
2025-04-11 22:06:11 -04:00
Matthew Daniels
00adcd4321
sega/model2_v.cpp: Fix error in clipping plane calculation (#13582)
Panoramic views during attract sequence of various games in linked mode should now work properly
2025-04-11 22:01:22 -04:00
donohoe00
9cdce3047e
act/victor9k.cpp: Get audio working on Victor 9000 (victor9k) (#13549)
* 6522via: Don't generate a signal on PB7 when the timer 1 latch is
programmed with 0.

On the Victor 9000, the clock for the audio codec is generated by a
via6522.  PB7 is connected to the codec's clock input.  Non-speech
sounds (e.g. beeps, musical notes) are produced by outputting a cyclical
waveform from the codec, with the pitch determined by the frequency of
the codec clock.

Software running on the Victor 9000 has been observed to attempt to
silence the audio by writing 0 to the T1 timer latch (not by turning off
continuous mode or PB7 output).  With the emulated via6522, this resulted
in a high-frequency clock signal being output on PB7, causing a
high-pitched squeal whenever notes are not being played.

From this observed behavior we could infer that the original 6522 HW
does not output a signal on PB7 when the latch value is 0, and that the
Victor 9000 software was relying on this behaviour to silence the audio
output (one would have to assume that the real hardware didn't produce
a squeal).

* mc6852: fix various transmit-related issues which were preventing
victor9k Audio output from working.

The expected behavior of mc6852 is to write the data received in the
FIFO register serially via tx_data_callback().  However, this was not
implemented, and the only way data in the transmit FIFO could be
removed and transmitted was by calling get_tx_byte(), and to then
serially transmit the data by some external mechanism.

Only m68sfdc.cpp calls get_tx_byte(), so it's hard to see how any
other device using the mc6852 would have been able to transmit data.

Software running on victor9k attempting to play audio would hang,
since it would block waiting for the TX FIFO to empty.  With these
changes, Victor 9000 audio playback works as expected, with the data
getting sent serially to the Audio codec.

In order to avoid breaking m68sfdc, a new API call is added to allow
data to be sent the "old" way.  m68sfdc now calls
set_tx_pull_mode(true), to get the previous behavior.  As I understand
it, other devices using mc6852 must be broken, and would need to
be revisited.

* victor9k: complete Audio support, adding a low-pass filter after
the HC-55516 codec.  Mark victor9k Audio as working.
2025-04-11 18:48:57 -04:00
Ivan Vangelista
8c5e73a6fa New working clones
------------------
Pit Boss Megatouch (9235-00-01 R0A) [Brian Troha, The Dumping Union]
2025-04-11 20:31:57 +02:00
hap
1ac5dc155e chessmst: swap parent/clone 2025-04-11 20:25:10 +02:00