* 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.
------------------------------
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
---------------------
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]
- 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
* 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.
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.
* model2: wait state when writing to copro TGP FIFO
The Manx TT course select rotation bug was caused by the i960 running too far ahead of the TGP and overwriting 0x918000 before the TGP got a chance to read it; adding a wait state when writing to the input FIFO prevents this
Also increase clock speed of TGP to 16.666 MHz (50 MHz / 3)
* model1: change TGP frequency to 13.333 MHz (40 MHz / 3)
* model2: remove issue that no longer occurs since TGP rewrite
* Fixed behaviour of exceptions in delay slots, and fixed recompiler not
updating ILC and P for some exceptions.
* Implemented privilege error exception on setting L in user mode for
interpreter.
-emu/debug, osd/modules/debugger: Added an option to show
exceptionpoints in breakpoints windows.
- Added memory and port maps.
- Hooked the PPI 8155
- Decoded graphics, added palette.
- Video update routines to draw the screen.
- Hooked input port and DIP switch.
- Accurate machine config.
- Added technical notes.
- Moved from /skeleton to /misc.
- Decoded color palettes from bipolar PROMs
(applies to hardware types featuring these devices)
- Implemented dynamic palette per line.
- Unified sureshoto and dphl machine config.
- Real colors for dphl, dphljp, newhilop, pkii_dm,
pma, gtipoker, smshilo, fastdrwp, sureshoto,
and dphlunkb.
- Fixed more ASCII PCB layouts.
- Fixed documentation about the 3x PPI 8255 devices
for both narout and DPHL types of hardware.
- Documented control panels, and added/fixed a lot
of technical notes.
* Implement MMC5 sound emulation
- Heavily based from devices/sound/nes_apu.cpp, Adjusted to differences compares to NES APU and MMC5.
* bus/nes/mmc5,cpp: Fix save state support, Implement MMC5 sound
* bus/nes/nes_slot.h: Fix save state support
* sound/nes_defs.h: Fix save state support
Emulate pointer error exception on load/store and range error exception
on store signed byte/half-word.
Further optimised code generation for MOV and MOVI. These are very hot,
so this alone gains a further 2% performance or so in the dgPIX games.
Also some other miscellaneous cleanup.
* nintendo/gba.cpp: Implement master volume for PSG and directsound, use required_device_array for DACs
* nintendo/gba.cpp: Use table for master volume
* gba.cpp: Fix FIFO sound emulations, Use struct for FIFO sound
* nintendo/gba.cpp: Fix logging
Cleaned up meta data focusing on Scholastic, Queue, Electronic Arts, Sunburst Communications, and Epyx
Credits: [4am, san inc, A-Noid]
New working software list items (apple2_flop_orig.xml)
-------------------------------
A.I.
Adventures in Space
Adverbial Clauses (version 1988)
Agreement of Subject and Verb (version 1988)
Algebra Word Problems (version 1983)
Algebra Word Problems (version 1988)
American Government (Intellectual Software)
American History Adventure
An Adventure Double Feature Volume II
Analytical Reasoning
Animals with an Attitude
Averages (version 1988)
Banner Books: All Along The Alphabet
Banner Books: Your School Day
Big Book Maker: Favorite Fairy Tales & Nursery Rhymes
Big Book Maker: Tall Tales & American Folk Heroes
Boulder Dash (Micro Fun)
Boulder Dash (Ozisoft)
Boulder Dash (Super Boulder Dash Collection) (Electronic Arts)
Boulder Dash Construction Kit
Boulder Dash II (Super Boulder Dash Collection) (Electronic Arts)
Bulletin Board Maker (version 1.0)
Bulletin Board Maker: City & Country
Bulletin Board Maker: Your Neighborhood
Buzz Bang Harvey
Clauses and Whole Sentences
Clue: Master Detective (version 1.5)
Commas (version 1990)
Complex Sentences / Adjective Clauses (version 1988)
Comprehensive Grammar Review II (version 1988)
Creature Cube
Deathlord
Easy as ABC (Spinnaker Software)
Equations I (version 1983)
Equations I (version 1988)
Equations II (version 1988)
ESL Writer (version 1.0)
Fortress (revision 2)
Fraction Word Problems
Gemstone Warrior (version 1.1)
Germany 1985 (version 1.0)
Gerunds (version 1988)
Harvey by Primes
How To Do Research
Infinitives (version 1988)
Kids at Work
La Geste du Barde : The Bard's Tale (French)
Latin Tutor
Logic Builders
M-ss-ng L-nks: Al Pie De La Letra Spanish Editor
M-ss-ng L-nks: Classics Old and New
M-ss-ng L-nks: English Editor
M-ss-ng L-nks: Young People's Literature (version 1983)
M-ss-ng L-nks: Young People's Literature (version 1987 revised)
Magic Slate: 20/40-Column Apple ][+ Version (version 1.02)
Magic Slate: 20/40-Column Apple ][+ Version (version 1.1.2)
Math Man
Math Shop Spotlight: Weights & Measures
Mathematics Word Problems Grade 2
Mathematics Word Problems Grade 3
Mathematics Word Problems Grade 8
Mech Brigade (version 1.2)
Mind Castle I
Mind Castle II
Mind Mirror
Momentum and Work
Monstrous Monsters (version 1.0)
More Teasers from Tobbs: Decimals and Fractions
Murder on the Zinderneuf
Music Construction Set (revision 1)
Music Construction Set (revision 2)
Music Construction Set (revision 3)
Music Construction Set (revision 4)
Mystery Sentences (revision 1)
Mystery Sentences (revision 2)
NAM (version 1.0)
Noun Clauses (version 1988)
Odd One Out (version 26-AUG-1990)
Operation Apocalypse
Panzer Grenadier (version 1.0)
Panzer Grenadier (version 1.2)
Participles (version 1988)
Poster
Practical Composition II: Clear, Logical Sentences
Prepositional Phrases (version 1988)
Problems in the Use of Infinitives (version 1988)
Pronouns: Substitutes for Nouns
Punctuation Review (version 1988)
Quations: The Crossmath Game
Queen of Hearts
Reading Explorers Volume 1
Reading Explorers Volume 2
Reading Explorers Volume 3
Real Number System (version 1983)
Real Number System (version 1988)
Roadwar 2000 (version 1.0)
Roadwar 2000 (version 1.2)
Roadwar Europa (version 1.0)
Rounding and Estimation
Science Explorers Volume 1 Grades 1-3: Plants
Science Explorers Volume 1 Grades 1-3: Skeletons
Science Explorers Volume 2 Grades 4-6: Animal Adaptations
Story Tree (version 1.4)
Super Science Graph and Charts: Health and Human Body
Symbols and Sets (version 1988)
Tales from History
Tales of Discovery
Tales of Fantasy
Tales of Mystery
Teasers by Tobbs: Whole Numbers
Teddy and Iggy (version 30-JUN-1989)
The Compound Sentence (version 1988)
The Standing Stones
The Tenses of Verbs (version 1988)
Theorems and Proofs of Theorems
Torpedo Fire
Verbs: Voice and Mood (version 1988)
War in Russia
Warship (version 1.0)
New non-working software list items (apple2_flop_orig.xml)
-------------------------------
Decimal and Percent Word Problems
Knights of the Desert (version 1.1)
Mathematics Word Problems Grade 7
North Atlantic 86
The Newsroom (version 1985-02-08)
The Newsroom (version 1985-02-11)
The Newsroom (version 1985-05-15)
The Newsroom (Scholastic Edition) (version 1985-05-20)
The Newsroom (version 1985-05-20)
The Newsroom (version 1985-10-16)
The Newsroom (version 1985-12-20)
The Newsroom (version 1986-01-28)
The Newsroom (version 1987-05-08)
Redumped software list items (apple2_flop_orig.xml)
-------------------------------
Fantavision [4am, qkumba, anoid]
New working software list items (apple2_flop_clcracked.xml)
-------------------------------
ADD Reading Skills A (4am crack)
ADD Reading Skills B (4am crack)
Momentum and Work (4am crack)
Reading and Thinking III (4am crack)
Science Explorers Volume 1 Grades 1-3: Plants (800K 3.5") (4am crack)
Science Explorers Volume 1 Grades 1-3: Shadows (800K 3.5") (4am crack)
Science Explorers Volume 1 Grades 1-3: Skeletons (800K 3.5") (4am crack)
Science Explorers Volume 1 Grades 1-3: Weather (800K 3.5") (4am crack)
Science Explorers Volume 2 Grades 4-6: Animal Adaptations (800K 3.5") (4am crack)
Science Explorers Volume 2 Grades 4-6: Day, Night, and The Seasons (800K 3.5") (4am crack)
Science Explorers Volume 2 Grades 4-6: Nutrition (800K 3.5") (4am crack)
Science Explorers Volume 2 Grades 4-6: Simple Machines (800K 3.5") (4am crack)
Story Tree (version 1.3) (4am and san inc crack)
SuperPrint! (version 1.2) (4am crack)
The Royal Rules (revision 2) (4am crack)
Transportation Transformation (version 1.1) (4am crack)
Redumped software list items (apple2_flop_clcracked.xml)
-------------------------------
Quations: The Crossmath Game (4am crack)
Spare Change (4am and san inc crack)
Removed (apple2_flop_clcracked.xml)
-------------------------------
Boulder Dash Construction Kit (imperfect clean crack)
Microzine 7 (imperfect clean crack)
Microzine 9 (imperfect clean crack)
Microzine 14 (imperfect clean crack)
Mystery Sentences (imperfect clean crack)
Operation Frog (imperfect clean crack)
Secret Filer (imperfect clean crack)
Story Tree (version 1.4) (imperfect clean crack)
Success with Typing (version 1.2) (imperfect clean crack)
Tales of Mystery (imperfect clean crack)
The Eidolon (imperfect clean crack)
The World's Greatest Baseball Game (Enhanced Version) (imperfect clean crack)