OpenMSX runs a bit too slow

Page 2/4
1 | | 3 | 4

By ducasp

Champion (460)

ducasp's picture

27-05-2021, 16:08

jvidal wrote:

I think my original MSX is a 60Hz machine, since I ive in south america. My MSX machines were manufactured by Telematica in Argentina (Talent DPC-300 and TPC-310), based on Daewoo original designs.
The machine I use mostly on OpenMSX is "Boosted MSX2 EN", but I'm not sure if it is a 50hz or 60hz machine.

I think Argentina is Pal-N right? Unlike Brazil's PAL-M that is 60Hz (I think it is the only PAL signal @60hz), that should be 50Hz, but also I remember they have used a lot of NTSC devices as well, most TVs were PAL-N/NTSC compatible...

By jvidal

Rookie (18)

jvidal's picture

28-05-2021, 00:18

argentina might be PAL (not sure), but this machines (I believe) were export models especially suited to the chilean (where I live) market, and we use NTSC here.

By AxelStone

Prophet (3046)

AxelStone's picture

28-05-2021, 09:57

Make a simple test: play using some 60hz configuration (Panasonic MSX2+ for example).

By sdsnatcher73

Prophet (2228)

sdsnatcher73's picture

28-05-2021, 11:22

Or try the machine you had in openMSX, the Talent TPC-310 is emulated. If you still have a DPC-300 a ROM dump and some reverse engineering tests would help to get the machine emulated as well.

By ducasp

Champion (460)

ducasp's picture

28-05-2021, 14:43

jvidal wrote:

argentina might be PAL (not sure), but this machines (I believe) were export models especially suited to the chilean (where I live) market, and we use NTSC here.

Makes total sense then, seems that those machines have a PAL/NTSC switch, wondering if that would change the machine to 50Hz as well or just would use an internal video transcoder Tongue

By ~mk~

Champion (302)

~mk~'s picture

28-05-2021, 18:23

The Talent TPC-310 has a PAL/NTSC switch but that does not change the VDP frequency (which is hardcoded in the rom).
To get a standard video signal (PAL 50hz / NTSC 60hz), apart from using the switch, you have to invoke a bios call to change the VDP frequency.

From basic this would be as simple as:
VDP(10)=VDP(10)OR&h02 "switch to 50 hz"
VDP(10)=VDP(10)AND&hFD "switch to 60 hz"

If you are using a game cartridge, then you are stuck with the default frequency.
I've heard there is a modified main rom that can switch the frequency at boot time depending on the press of a key, although I've never seen it, nor have the modified roms.

By thegeps

Paladin (860)

thegeps's picture

04-06-2021, 12:46

NYYRIKKI wrote:
ToriHino wrote:

that's indeed the reason why it is a bit 'slower'

Indeed 'slower' and percentages are quite misleading ways to describe this problem... Computers displaying on 50Hz frame rate can actually execute 20% more code/frame... There are just 16.6% less frames. Smile In real life only thing that changes is the screen update frequency, but in MSX game and music progress was typically tied very tightly to screen update speed unlike in modern computers.

There is also no "best default" as it depends a lot where you are coming from. Most of popular emulators originate today from Europe that was using mostly 50Hz TVs. On the other hand most of the best games and MSX standard it self originate from Japan that was using 60Hz TVs.

Let me try to open the problem a bit more: Typically when you run program designed for 60Hz on 50Hz it just runs 16.6% too slow. When you run program designed for 50Hz on 60Hz, it either runs 20% too fast or it starts to skip screen updates and in worst case drops to 60% of original speed due to lack of CPU time. Some games (on MSX2 and up) tend to force the screen update to some fixed selection regardless of the selected machine... or in best case the game may even compensate the music & stuff depending of screen update speed (typically a bit more modern games). In some games the 50Hz/60Hz selection does not really matter as the limiting FPS factor is the MSX CPU and not the screen draw. (maybe most typically 3D games and BASIC games) and some games / game loaders has a hot key, command line option or settings screen to select between 50Hz/60Hz (ie. disk cracks, ROM-loaders and such) On MSX1 the 50Hz/60Hz is fixed on hardware and the screen update speed can not be changed by software.

Indeed. Freedom Fighter is developed on 50Hz machine (Philips VG8020) and best performance are on 50Hz machines. It works fine on 60Hz machines too but when there are a lotnof sprites on screen (so almost always) the scrolling slow down a bit (but it is always smooth). This because all the sprites management is inside the H.TIMI hook (and arkos AKG player too, and it skip one frame on ntsc to play at the right speed)

By jvidal

Rookie (18)

jvidal's picture

26-06-2021, 03:03

sdsnatcher73 wrote:

Or try the machine you had in openMSX, the Talent TPC-310 is emulated. If you still have a DPC-300 a ROM dump and some reverse engineering tests would help to get the machine emulated as well.

The TPC-310 emulated by OpenMSX is a 50hz machine (VDP (10) = 2), whereas my physical TPC-310 is a 60hz machine (sadly, it died and I can not test it Sad ).
My DPC-300 still works, though Smile

By Manuel

Ascended (18133)

Manuel's picture

26-06-2021, 11:44

As it's an MSX2, the BIOS sets the register in the VDP to select 50 or 60 Hz. Assuming that the BIOS is dumped correctly, openMSX is just doing what it's told Smile

By jvidal

Rookie (18)

jvidal's picture

27-06-2021, 06:10

Maybe the TPC-310 emulated by OpenMSX is an Argentine (PAL) Machine, not the export (NTSC) version...Sadly, like I said, I can not dump the ROMs, since my TPC-310 won't boot Sad

Page 2/4
1 | | 3 | 4