[ オリジナルレポート ]

BugID: #08875

カテゴリ 重要度 ステータス 解決状況 登録日時 最終更新
重要 (ゲーム)未処理2024-06-20 01:532024-07-08 03:41
 
テスターICEknight担当者 ソース
バージョン0.266発生バージョン修正バージョン
修正コミットプルリク
フラグ実機・資料検証済み
セット specpls2 and clones, cpc464 and clones, others with a cassette device
セット詳細
cpc464 - Amstrad CPC464
specpls2 - ZX Spectrum +2
 
概 要カセットの入出力信号が反転している。
詳 細When loading audio cassettes, MAME seems to always invert the polarity of the signal. This is akin to what the Commodore Datasette did and it allows for these recordings to load correctly on systems that used it, such as the C64 and Vic-20.

Other computers didn't require the signal to be inverted, but MAME seems to have this inversion applied globally, thus causing systems such as the ZX Spectrum, Amstrad CPC and MSX to fail loading any games which are polarity-dependant.

Likewise, tape saving in MAME is always applying this inversion which should be only done on the few systems with Datasette support. This can be seen when comparing the waveform in any short Basic program recorded from MAME and real hardware (first motion in first pilot tone is down, first motion in second pilot tone is up, with MAME's recordings doing the opposite).

Once this inversion is limited to those specific Commodore computers, any recordings that work on real hardware should load properly in MAME, which is not currently the case.
再現手順A good test case for this is the game Whopper Chase, which had both its MSX and Commodore 64 versions recorded on the same side of the tape. Can't link to games here so ask me for a recording if needed.

- Load hb201p.
- Try loading the first program in Whopper Chase side B (run"cas:" [enter]).
- It will fail.

- Load c64p
- Try loading the second program in Whopper Chase side B (load [enter]).
- It will succeed.

This is due to the C64 requiring the inversion, which makes it load, but since other systems also do this inversion they won't succeed in loading whenever the loader may require a certain polarity.

Expectedly, if you invert the original recording the MSX version will load and the C64 version will fail.
追加情報 
 
添付ファイルjpg filereal hardware test.jpg (2024-06-20 01:54)
jpg filereal hardware pilot 1.jpg (2024-06-20 01:55)
jpg filereal hardware pilot 2.jpg (2024-06-20 01:55)
jpg filemame test.jpg (2024-06-20 01:55)
jpg filemame pilot 1.jpg (2024-06-20 01:55)
jpg filemame pilot 2.jpg (2024-06-20 01:56)
flac filezxmartian Spectrum48K_Direct.flac (2024-07-08 03:37)
flac filespectrum plus 2 save.flac (2024-07-08 03:37)
flac filezxmartian Plus2B_Direct.flac (2024-07-08 03:38)