Home Artists Posts Import Register

Downloads

Content

Español abajo 日本語は以下

I developed the SEGA System 16 compatible cores in 2021. It was a difficult project because under that unifying System 16 name there are indeed many different arcade boards. For a starter, you have two different sprite and PCM sound approaches for the early System 16A boards and the later 16B ones. But even within the A and B models, there are many different protection systems. Some games have no protection at all, others have an Intel microcontroller, others have encryption in the main CPU (M68000) instructions (with two variants for this) and finally some have the encryption done in the sound CPU. Then you have different ROM banking approaches for graphics and different joystick input systems. Overall, these games are quite heterogenous and originally demanded 5 different cores to support them. In time, I was able to consolidate them into two single cores: JTS16 and JTS16B.

The Alpha team at that time made extensive testing at the time and reported many issues but I was not able to fix all of them at the time. Having at least a version of a given game working, made it less important to fix issues on other versions.

Yet some of the issues were ugly. Dynamite Dux character would get funky colors in stage 2, the truck in stage 9 of E-SWAT was unbeatable, some actions could lock up Golden Axe, there were occasional glitches in Cotton background, some games would start up in service mode… We had to come back to this and fix it.

I originally thought it would take a month to get over these issues but two years after the core release, the JTFRAME workflow is much better for debugging and I am more experienced too. So we have been able to fix pretty much all of them in two weeks. Thus we are making a service release, that will also add Y/C video output to the MiSTer version. We also add System 16A files for the Analogue Pocket.

Issues fixed

  • Sprite alignment, noticeable in Shinobi’s eye, for instance
  • Golden Axe and Tough Turf main sets started in service mode
  • The length of the horizontal sync signal (CRT output) did not match the PCB
  • Silence sections in the middle of PCM sounds were too short, very noticeable in the count down for Alien Syndrome time out that ended when the on-screen counter was still at four, instead of ending at zero
  • A genuine horizontal line glitch in Ryukyu was occuring a few lines lower in the core
  • Golden Axe locked up in stage 2 if an enemy was pushed off the turtle shell on some versions
  • The core was effectively operating slower than real hardware, provoking  Dynamite Dux character  color changed on stage 2
  • Sprites remained on screen after some scenes, especially annoying when entering the service menu but sometimes during the game too such as some scenes in Sonic Boom
  • Alien Syndrome player got frozen if an impossible input (like left+right) was sent using a keyboard
  • Several rom sets of Passing Shot did not boot
  • Stage 9 of E-SWAT was locked up in some versions
  • There was a buzzing sound in some versions of Golden Axe during attract mode
  • Control for players 2P and 4P in Dunk Shot was inverted, which the intention for the original cocktail table but does not suite modern playing setups
  • The second scroll layer in Cotton got corrupted lines occasionally
  • The core sound CPU got broken in one source code update, and we could not make new releases
  • MiSTer version had many timing errors during compilation, which made new releases impractical

The remaining work on this core is about supporting some S16A titles that use the microcontroller and fixing the cocktail mode. There has been no demand for this from patrons, though. So that takes a bit less priority.

Español

En 2021 desarrollé los núcleos compatibles con SEGA System 16. Fue un proyecto difícil porque bajo el nombre unificador de System 16 hay muchas placas arcade diferentes. Para empezar, tienes dos enfoques diferentes de sprites y sonido PCM para las primeras placas System 16A y las posteriores 16B. Pero incluso dentro de los modelos A y B, hay muchos sistemas de protección diferentes. Algunos juegos no tienen ningún tipo de protección, otros tienen un microcontrolador Intel, otros tienen encriptación en las instrucciones de la CPU principal (M68000) (con dos variantes para esto) y finalmente algunos tienen la encriptación hecha en la CPU de sonido. Luego tienes diferentes enfoques de banca ROM para gráficos y diferentes sistemas de entrada de joystick. En general, estos juegos son bastante heterogéneos y originalmente exigían 5 núcleos diferentes para soportarlos. Con el tiempo, pude consolidarlos en dos únicos núcleos: JTS16 y JTS16B.

El equipo Alpha de la época realizó pruebas exhaustivas e informó de muchos problemas, pero no pude solucionarlos todos en su momento. Tener al menos una versión de un juego funcionando, hacía menos importante arreglar problemas en otras versiones.

Sin embargo, algunos de los problemas eran feos. El personaje de Dynamite Dux se ponía de colores raros en la fase 2, el camión de la fase 9 de E-SWAT era imbatible, algunas acciones podían bloquear Golden Axe, había fallos ocasionales en Cotton background, algunos juegos se iniciaban en modo servicio... Tuvimos que volver sobre esto y arreglarlo.

Al principio pensé que tardaría un mes en solucionar estos problemas, pero dos años después del lanzamiento del núcleo, el flujo de trabajo de JTFRAME es mucho mejor para depurar y yo también tengo más experiencia. Así que hemos podido solucionar prácticamente todos ellos en dos semanas. Así que estamos haciendo una versión de servicio, que también añadirá salida de vídeo Y/C a la versión MiSTer. También añadimos archivos del Sistema 16A para el Analogue Pocket.

Problemas solucionados

  • Alineación de sprites, notable en el ojo de Shinobi, por ejemplo
  • Los sets principales de Golden Axe y Tough Turf se iniciaban en modo servicio
  • La longitud de la señal de sincronización horizontal (salida CRT) no coincidía con la PCB
  • Las secciones de silencio en medio de los sonidos PCM eran demasiado cortas, muy notable en la cuenta atrás para el tiempo de espera de Alien Syndrome que terminaba cuando el contador en pantalla aún estaba en cuatro, en lugar de terminar en cero
  • Un fallo genuino en una línea horizontal en Ryukyu ocurría unas líneas más abajo en el núcleo
  • Golden Axe se bloqueaba en la fase 2 si un enemigo era empujado fuera del caparazón de tortuga en algunas versiones
  • El núcleo funcionaba más lento que el hardware real, lo que hacía que el color del personaje de Dynamite Dux cambiara en la fase 2
  • Los sprites permanecían en pantalla después de algunas escenas, especialmente visibles al entrar en el menú de servicio, pero a veces también durante el juego, como en algunas escenas de Sonic Boom
  • El jugador de Alien Syndrome se quedaba congelado si se enviaba una entrada imposible (como izquierda+derecha) usando el teclado
  • Varias roms de Passing Shot no arrancaban
  • La fase 9 de E-SWAT se bloqueaba en algunas versiones
  • Había un zumbido en algunas versiones de Golden Axe durante el modo atraer
  • El control de los jugadores 2P y 4P en Dunk Shot estaba invertido, lo que era la intención de la mesa de cóctel original, pero no se ajusta a las configuraciones de juego modernas
  • La segunda capa de fondo en Cotton se corrompió líneas de vez en cuando 
  • El módulo de la CPU de sonido se rompió en una actualización del código fuente, y no pudimos hacer nuevas versiones
  • La versión MiSTer tenía muchos errores de sincronización durante la compilación, lo que hacía impracticables las nuevas versiones.

El trabajo restante en este núcleo consiste en dar soporte a algunos títulos S16A que utilizan el microcontrolador y arreglar el modo cóctel. Sin embargo, no ha habido demanda de esto por parte de los usuarios. Así que eso tiene un poco menos de prioridad.

日本語

私は2021年にセガ・システム16互換コアを開発しました。システム16という統一名称のもと、実に多くの異なるアーケードボードが存在するため、難しいプロジェクトでした。まず、初期のシステム16Aと後期のシステム16Bでは、スプライトとPCMサウンドのアプローチが異なります。しかし、AモデルとBモデルの中にも、さまざまなプロテクトシステムが存在していて、プロテクトがまったくないゲームもあれば、インテルマイクロコントローラーを使ったもの、メインCPU(M68000)命令で暗号化を行うもの(これには2つのバリエーションがある。)、そして最後にサウンドCPUで暗号化を行うものもあります。さらに、グラフィックやジョイスティック入力システムに対するROMバンクのアプローチも異なります。全体として、これらのゲームはかなり異種混合であり、もともとはそれらをサポートするために5つの異なるコアが必要でした。やがて、それらを2つのシングルコアに統合することができました。: JTS16とJTS16Bです。

当時のアルファチームは大規模なテストを行い、多くの問題を報告しましたが、当時はそのすべてを修正することはできませんでした。あるゲームの少なくとも1つのバージョンが動作していれば、他のバージョンの問題を修正する重要性は低くなります。

しかし、いくつかの問題はひどいものでした。ダイナマイトダックスのキャラクターがステージ2でファンキーな色になったり、E-SWATのステージ9のトラックが倒せなかったり、一部のアクションでゴールデンアックスがロックされたり、コットンのバックグラウンドで時々不具合が起きたり、サービスモードで起動するゲームがあったり......。

当初は、これらの問題を解決するのに1ヶ月はかかるだろうと思っていましたが、コア・リリースから2年が経ち、JTFRAMEのワークフローはデバッグにはるかに適していますし、私自身もこの2年でいろいろな経験を積みました。そのため、2週間でほぼすべてを修正することができました。そこで、MiSTerバージョンにY/Cビデオ出力を追加したサービスリリースを作成することにしました。また、アナログポケット用のシステム16Aファイルも追加します。

修正された問題点

  • スプライトの位置合わせ、例えば『SHINOBI 忍』の目に顕著
  • 『ゴールデンアックス』と『タフ・ターフ』のメインセットがサービスモードで起動した。
  • 水平同期信号(CRT出力)の長さがPCBと合っていなかった。
  • PCMサウンドの途中の無音部分が短すぎる。エイリアン・シンドロームのタイムアウトのカウントダウンで顕著で、画面上のカウンターがゼロで終わるのではなく、まだ4で終わっていた。
  • 『琉球』の本物の水平ラインの不具合が、コアの数ライン下で発生していた。
  • 一部のバージョンで、敵が亀の甲羅から押し出された場合、『ゴールデンアックス』がステージ2でロックされていた。
  • コアの動作が実際のハードウェアよりも事実上遅かったため、『ダイナマイトダックス』のキャラクターの色がステージ2で変化していた。
  • いくつかのシーンの後、スプライトが画面に残っていた。特にサービスメニューに入るときに見えたが、『ソニックブーム』のいくつかのシーンのように、ゲーム中にも見えることがあった。
  • エイリアン・シンドロームのプレイヤーが、キーボードで不可能な入力(左+右など)が送られるとフリーズしてしまった。
  • 『パッシングショット』のいくつかのロムセットが起動しなかった。
  • 『E-SWAT』のステージ9がいくつかのバージョンでロックされた。
  • 『ゴールデンアックス』の一部のバージョンで、アトラクトモード中にブザー音が発生した。
  • 『ダンクショット』の2Pと4Pのコントロールが逆になっていた。
  • 『コットン』の2つ目のスクロールレイヤーが、時折破損することがあった。
  • あるソースコードのアップデートで、コアサウンドCPUが壊れてしまい、新しいリリースができなかった。
  • MiSTerバージョンは、コンパイル時に多くのタイミングエラーが発生し、新規リリースが実用的でなかった。

このコアの残りの作業は、マイクロコントローラーを使用するいくつかのS16Aタイトルのサポートとカクテルモードの修正です。しかし、今のところ これらに対するパトロンからの要望はありません。そのため、優先順位はやや下がります。

Files