Une nouvelle version de cet émulateur NeoGeo Pocket vient de sortir dont voici les nombreuses amélioarations:

– Trimmed out the old history from this file. I want to start with a clean
sheet as this version is greatly improved over the last versions.
– Removed the 32bit parity function and calls to it, as no instructions are
supposed to use it. This should reclaim a few extra clock cycles and improve
accuracy. Also, optimised the 8 and 16 bit parity functions, thanks Judge_
(Haven’t fixed DAA yet though! 🙂
– Improved faking of EEPROM bios calls by returning a success status
message. This improves « Fatal Fury » so you can now use the ‘reset memory’
option from the config menu.
– Added instructions BS1F,BS1B. This improves the SNK logo in « KOF – Battle
De Paradise ». It also improves « Koi Koi Mahjong » internally, but I don’t
know in what way as it’s in Japanese.
– Lowered the battery power status to within actual hardware limits.
– Memory accesses ignore the top 8 address bits when reading and writing.
This has fixed a large number of games that previously had graphical
– Added a special HACK for « Puyo Puyo 2 » because it does work very well,
except for a crazy routine at the beginning that overwrites critical system
– Fixed a small bug in the V flag emulation of « DEC #3,(mem) »
– Fixed a small bug in « DEC #3,r », it wasn’t setting the N flag correctly.
– Fixed a set of stupid bugs in « ADD (mem),R », « ADC (mem),R », « SUB (mem),R »,
« SBC (mem),R », « ADD (mem),# », « ADC (mem),# » and « SBC (mem),# » as they were adding the wrong sized values together (stupid cut and paste error!).
-Fixed just about every game that wasn’t working. The short list includes:
« Bikkuriman 2000 », « Bust-a-Move », « Big Bang Pro Wrestling », « Delta Warp »,
« Dynamite Slugger », « Dive Alert », « Gals Fighters », « Crush Roller », « Metal
Slug », « Pocket Reversi », « SNK vs CAPCOM », « Neo Turf Masters » … – Well, you
get the picture!
– Made a huge number of optimisations: Improved speed drastically by
checking timers and interrupts less often. Optimised register access a bit,
removing a layer of indirection. Optimised status flag get and set methods
into macros.
– Fixed STCF instruction (all modes) – it was very badly written the first
couple of times 🙂 Also removed Word mode from « STCF #3,(mem) » and « STCF
A,(mem) » as this isn’t actually allowed. Also removed Word mode from « LDCF
A,(mem) » for the same reason.
– Changed the emulation loop to currectly emulate twice as many TLCS-900h
instructions as Z80 ones. This only applies to the release version, the
debug build has a 1:1 ratio of instructions for simplicity. This has no
noticable effect on accuracy, just performance. The debugger runs at about
1/3 of the speed of the release version unfortunately.
– Added a speed display to the window title. Inspired by VisualBoyAdvance,
it shows as a percentage of the correct refresh rate of 59.95 fps. Note that
cycle counting for instructions hasn’t been completely implemented, so the
value will not be entirely accurate, but it does give a rough estimate of
performance. In case you are wondering, my 600Mhz PIII is capable of about
80-90% for most commercial games. I think this value will increase when
timing becomes more accurate. Certainly – no games feel slow any more!
– Input is now polled every frame. It’s possible to perform special moves in
fighting games, so I think this frequency is adequte.
– The Real Time Clock data is updated every frame as well. This is more
optimal than older versions where it was updated before every instruction.
– Optimised the graphics Z-Buffer (used for correct sprite priorities) as it
only needs to know about the current scanline.
– Optimised the graphics update by having two code paths, one for each
colour depth. This has raised overall performance a few percent.
– Both executables are now packed using UPX for a smaller download.

Télécharger NeoPOP v0.71/w1.06b (107,3 Ko)

Site officiel

En savoir plus…