Attempt to enable SSE features explicitly specified in ARCHOPTS. It
will still fall back to SSE 2 if you just use -march= to enable later
SSE features.
* Change hexadecimal prefix from $ to 0x ($ means something else in MIPS assembler syntax) and omit for small numbers
* mips1, mips3, psx: Use shorthand mnemonics bal, beqz(l), bnez(l), li, move, neg, negu, not where applicable
* mips1, mips3, psx: Add delay slot to jr ra for stepping out
* mips1, mips3: Remove invalid instructions from other MIPS cores and use .word syntax for invalid instructions
* mips3: Fix field spacing for some instructions
This was changed in 822c3b4232 but it
never worked for multiple reasons:
* The comment mentions saving around CALLC, but there is no code to save
and restore around CALLC, DEBUG and RECOVER, all of which can clobber
callee-saved registers.
* Numerous opcode handlers assume XMM0 and XMM1 can be used as scratch
registers, but this change mapped them to UML F0 and F1. This
resulted in F0 and F1 getting clobbered by many UML instructions.
* 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.
* 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]
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.
* 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.
- 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.
* 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.
* 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.
* Use references rather than pointers where appropriate, made some variables const.
* Made parameter names match in header and source and reformatted code.
* 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)
* 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.
- 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]
* 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.
* 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.
* 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