Home Artists Posts Import Register

Content

Español abajo 日本語は以下

Today is the deadline I had set for the NeoGeo Pocket beta. I set this deadline to force myself to focus solely on this project. The core has seen a lot of progress and it boots up and runs through the language and clock set up screens. However, it hangs up soon after. The video accompanying this post comes directly from the JTNGP core.

During these three weeks I fixed several bugs in my T900H CPU core and also implemented other parts of the NeoGeo Pocket system which were missing, such as the timers, the fake battery indicator and the sound subsystem. The biggest missing part from the NGP point of view is the DMA subsystem, but it does not seem to be used by the firmware.

Like it happened with Haunted Castle, there seems to be a pending bug in the CPU implementation that is halting the progress at the moment and it is going to delay us a bit. This bug occurs during the setup screens as part of the text is not at the right position (because of the CPU). This may also be the reason why the system hangs up later on.

Other than this bug, there are two other missing features needed for the beta:

  1. JTFRAME only supports one ROM per system at this moment, which means that it would only load the firmware and not the cartridges. Some people asked for using MRA files for this core too. That would work with JTFRAME as it is, but it would require writting over 70 MRA files. Probably the approach used by the other console cores is more practical for everyone.
  2. Displaying on a CRT/HDMI screen. I originally thought that the image was to be drawn on the screen as the circuit renders it. That would make it very cumbersome to port to a different technology as the timings used in the NeoGeo Pocket LCD screen are very different from those of a CRT or HDMI screen. Nonetheless, it looks like there is a frame buffer between the screen rendering and the LCD displaying it, so that will ease the problem. This part of the system is not implemented yet.

I am not sure how long the core needs to be ready for the beta, but it’s clear that we are very close. We will continue working on this core until it is ready except for one week, which will be dedicated to a new arcade beta.

Español

Hoy es la fecha límite que me había fijado para la beta de NeoGeo Pocket. Me fijé este plazo para obligarme a centrarme únicamente en este proyecto. El núcleo ha progresado mucho, arranca y pasa por las pantallas de configuración del idioma y del reloj. Sin embargo, se cuelga poco después. El vídeo que acompaña a este post procede directamente del núcleo JTNGP.

Durante estas tres semanas he corregido varios errores en mi núcleo de la CPU T900H y también he implementado otras partes del sistema NeoGeo Pocket que faltaban, como los temporizadores, el falso indicador de batería y el subsistema de sonido. La mayor parte que falta desde el punto de vista de la NGP es el subsistema DMA, pero no parece que el firmware lo utilice.

Al igual que ocurrió con Haunted Castle, hay un bug pendiente en la implementación de la CPU que está deteniendo el progreso por el momento y nos va a retrasar un poco. Este bug ocurre durante las pantallas de configuración ya que parte del texto no está en la posición correcta (por culpa de la CPU). Esta también puede ser la razón por la que el sistema se cuelga más tarde.

Aparte de este error, hay otras dos características que faltan en la beta:

  • JTFRAME sólo soporta una ROM por sistema en este momento, lo que significa que sólo cargaría el firmware y no los cartuchos. Algunas personas pidieron usar archivos MRA en este core. Eso funcionaría con JTFRAME tal y como está, pero requeriría escribir más de 70 ficheros MRA. Probablemente el enfoque utilizado por los otros núcleos de consola es más práctico para todos.
  • Visualización en una pantalla CRT/HDMI. Originalmente pensé que la imagen se dibujaría en la pantalla a medida que el circuito la renderizara. Esto complicaría mucho la portabilidad a una tecnología diferente, ya que los tiempos utilizados en la pantalla LCD de NeoGeo Pocket son muy diferentes de los de una pantalla CRT o HDMI. No obstante, parece que hay un búfer de fotogramas entre el renderizado de la pantalla y la visualización de la pantalla LCD, lo que aliviará el problema. Esta parte del sistema aún no está implementada.

No estoy seguro de cuánto tiempo necesita el núcleo para estar listo para la beta, pero está claro que estamos muy cerca. Seguiremos trabajando en este núcleo hasta que esté listo, excepto durante una semana, que se dedicará a una nueva beta de arcade.

日本語

今日はネオジオポケットのベータ版のために設定した締め切り日です。この期限を設定したのは、このプロジェクトだけに集中することを自分に強いるためです。コアはかなり進歩し、起動し、言語と時計のセットアップ画面を実行します。しかし、その後すぐにハングアップしてしまいます。この記事に添付されているビデオは、JTNGPコアから直接送られてきたものです。

この3週間の間に、私はT900HのCPUコアのいくつかのバグを修正し、タイマー、偽のバッテリーインジケーター、サウンドサブシステムなど、NeoGeo Pocketシステムに欠けていた他の部分も実装しました。NGPの観点から見た最大の欠落部分はDMAサブシステムですが、ファームウェアでは使用されていないようです。

悪魔城ドラキュラで起こったように、CPUの実装に保留中のバグがあり、それが今のところ進行を止めているようで、少し遅れることになりそうです。このバグは、設定画面において、テキストの一部が正しい位置にない(CPUのせい)ために発生します。また、後にシステムがハングアップするのも、これが原因かもしれません。

このバグの他に、ベータ版に必要な機能で足りないものが2つあります:

1. JTFRAMEは今のところ1システムにつき1つのROMしかサポートしていないので、ファームウェアだけをロードして、カートリッジはロードしないことになります。このコアにもMRAファイルを使いたいという声もありました。その場合、JTFRAMEではそのまま使えますが、70以上のMRAファイルを書く必要があります。おそらく、他のコンソールコアで使われているアプローチの方が、誰にとっても実用的だと思います。

2. CRT/HDMIの画面に表示する。私はもともと、回路がレンダリングした画像をそのまま画面に表示するものと思っていました。そうすると、NeoGeo Pocketの液晶画面で使われているタイミングは、CRTやHDMIの画面とは大きく異なるので、異なる技術に移植するのが非常に面倒になります。それでも、画面のレンダリングとそれを表示するLCDの間にフレームバッファがあるようなので、問題は緩和されると思います。この部分はまだ実装されていません。

コアがベータ版の準備にどれくらい必要なのかは分かりませんが、あと少しであることは明らかです。私たちは、新しいアーケード・ベータに専念する1週間を除いて、準備が整うまでこのコアに取り組み続けるつもりです。

Files

NeoGeo Pocket core - work in progress -

JTNGP core simulation. The core is in development and will be available for MiSTer and Pocket FPGAs soon. https://patreon.com/jotego

Comments

Justin Eusoof

I appreciate the transparency and owning up to the deadlines you and your team set. Looking forward to the NGPC beta whenever that time comes!

The Nomad Coder

Hello, I keep downloading the latest beta, but many of the things you've had on public release are still showing the "You need the beta" message. What am I doing wrong?

JOTEGO

Your _Arcade folder in MiSTer seems to be corrupted. The easiest way around is to delete it and run the update_all script so it gets recreated.