(WIP) David Haywood's Homepage - 模擬器

George avatar
By George
at 2019-04-02T11:18

Table of Contents

2019.03.30

"The Importance of Alternate Versions"

One of the things I picked up with the money that was donated is the
following JAKKS Pacific Spiderman, which has a different, much more boxy
looking shell than the more commonly seen one with GameKey port (and the
later release of the same form with the port removed)

https://mamedev.emulab.it/haze/pics2019/olderspider_small.jpg
Spiderman 5-in-1 JAKKS

Various sources indicated that Spider-Man 5-in-1 started life as a game
running on the SunPlus SPG110 based SoC (System on Chip), not the 2xx
(usually 240) type SoCs found in all the GameKeyReady units. I felt due to
the vastly different form factor here, which appears to be an earlier and
less refined design (closer to the early SpongeBob unit, which is on even
earlier hardware) that there was a good chance that the device pictured would
be the version running on the SPG110 hardware.
It was.

While this contains exactly the same games as the already emulated
GameKeyReady version it is useful for some very important reasons. Firstly,
the Classic Arcade Pinball title is also running on SPG110, and was never
ported to SPG2xx to my knowledge. The (undumped, but sourced) EA Sports units
also run on SPG110.

The problem is, SPG110 actually differs from SPG2xx in some significant ways,
not least it uses an entirely different palette format (HSL based instead of
RGB based) and also has somewhat different video capabilities (Video RAM is
private, only writable with the CPU via DMA / port uploads, sprite format is
different, tile base register is shared, not per layer, priorities are per
tile, not per layer, transparency handling is done with a separate table, not
upper bit of palette etc.)

Having the same game on two different pieces of hardware makes it much easier
to draw conclusions about how the unemulated hardware works by comparing
code, data structures in RAM, register writes etc. between the two versions,
thus telling us plenty about the previously undocumented and not fully
understood SPG110.

This has allowed me to implement many features of the SPG110 hardware, to get
this version booting. Note, the colours are not 100% correct yet, I’ve asked
Olivier Galibert if he can look into it further as HSL decoding is not my
strong point. On the left is the SPG110 set that I’ve been making
improvements to, on the right is the SPG2xx set that is already emulated.
This kind of reference for the colours in an already correctly emulated
version is going to be an essential guideline for improving the decoding.

https://mamedev.emulab.it/haze/pics2019/spdolder0.png
https://mamedev.emulab.it/haze/pics2019/spdnewer0.png
https://mamedev.emulab.it/haze/pics2019/spdolder1.png
https://mamedev.emulab.it/haze/pics2019/spdnewer1.png
https://mamedev.emulab.it/haze/pics2019/spdolder2.png
https://mamedev.emulab.it/haze/pics2019/spdnewer2.png
Left: SPG110 hardware version with currently imperfect HSL decoding Right:
SPG2xx hardware version with correct RGB decoding

As you may have noticed, both screens show sprites, and last time I showed
Classic Arcade Pinball shots, it was lacking in sprites. Needless to say, it
now has sprites with the recent work done.

https://mamedev.emulab.it/haze/pics2019/capb_new_1.png
https://mamedev.emulab.it/haze/pics2019/capb_new_2.png
https://mamedev.emulab.it/haze/pics2019/capb_new_3.png
https://mamedev.emulab.it/haze/pics2019/capb_new_4.png
SPG110 emulation improvements have given Classic Arcade Pinball sprites and
controls

Again colours are still imperfect, but fixing Spider-Man should fix them here
too. I also added inputs so you can actually play the game.
Sound is unemulated, but seems to be closely related to the SPG2xx stuff
(probably with less channels) so I did some refactoring of all the SPG2xx
code in the process, splitting various internal peripherals into sub device
modules (including the I/O which is how I was able to hook up inputs easily
here)

Interestingly videos show a shadow on the ball for this game, yet the
hardware does not seem to have shadow sprite capability as SPG2xx does, so I’
m currently puzzled about how that is being pulled off, it could be some
raster interrupt abuse like that one SNES game does, but we’ll see. (I’m
assuming there aren’t multiple versions of this on different hardware
anyway, I didn’t think to take pictures of my unit running before sending it
off to Sean for dumping)

The earlier version of the ‘Disney’ Plug and Play might also run on SPG110,
the one we sourced and had dumped is the less common GameKeyReady unit (which
works fine in MAME) but I still need to do a proper update about that (it’s
supported in 0.208 tho)

Anyway, going to leave it at that for now, hopefully if the colours can be
further fixed it will be more worthwhile showing screenshots later. I just
wanted to highlight why buying this alt version of Spider-Man was a gamble
that paid off in terms of it enabling me to make progress on other things too.


https://mamedev.emulab.it/haze/

--

ポーラステーション
http://perry0517a.blogspot.tw/

--

All Comments

Kristin avatar
By Kristin
at 2019-04-06T00:44
長知識了有這遊戲,酷

(FC) My Nes GTK v3.2

Margaret avatar
By Margaret
at 2019-04-02T11:12
2019.04.01 My Nes GTK is a nes emuator written in .net C#. It can run an Windows(R) and Linux platforms. It uses GTK# for menus, SDL.NET for emulator wind ...

FC新作《亞馬遜減肥大作戰》

Skylar Davis avatar
By Skylar Davis
at 2019-04-02T01:16
昨日株式会社エインシャント慶祝創立30週年, 再次免費提供了新遊戲的Rom 「みんなでコシって騎士 ユウゾウのMML大作戦」 Download網址: https://t.co/VWvO0qPQrY?amp=1 解開Rar檔後,內有遊戲操作說明 - ...

MEGADRIVE MINI收錄遊戲公開其中10款

Poppy avatar
By Poppy
at 2019-04-01T16:45
SEGA的人直接嗆明所有東西跟AT GAMES毫無關聯了 官方BLOG https://reurl.cc/nqYL2 SEGA Games宣布,1988年在日本發售的SEGA家用遊戲主機「Mega Drive(※1 Genesis) 」專用的遊戲,將內建在「メガドライブミニ(Mega Drive Mini ...

遊樂場:新北汐止iFG遠雄廣場

Jacob avatar
By Jacob
at 2019-04-01T00:34
[前言] https://i.imgur.com/ZgRp3Mx.jpg https://i.imgur.com/mr7U5kC.jpg 在上週二(3/26)下午 利用課餘空檔請假帶女兒出門 想找個有兒童遊玩空間的地方 恰巧在老婆娘家汐止有個遠雄廣場 我上次有去吃過,大概知道有些街機 可這次去整個逛過 才知道 ...

迷你超任相關 canoe EMU

Emma avatar
By Emma
at 2019-03-31T23:45
https://i.imgur.com/XVAdkUM.jpg 實測+感覺文,部分圖之後再補. 如有違規,請告知。 先廢話一下. 一、canoe canoe 是老任為mini SNES 弄得新規格 重新定義的目的,老前輩們心中應該有自己的答案~ -舊式的rom檔(.smc、.sfc)不能使用,須編 ...