News:

11 March 2016 - Forum Rules

Main Menu

Circus Charlie translation [Solved]

Started by sics, March 31, 2022, 09:24:00 PM

Previous topic - Next topic

sics

I have been informed that my translation of Circus Charlie (Es).7z has a glitch on the title screen when started using Mesen:


I've checked thoroughly and it doesn't seem to have made any mistakes, on the other hand, I've noticed that this glitch doesn't happen when the game is running in PAL and is definitely fixed if I shorten a character from any of the lines in the options menu. Can someone explain to me what's going on here?  ;)

Linktree  | Better a small finished project than a thousand giant ideas stuck in your system.

Cyneprepou4uk

By looking at the image, I would say that PPU buffer is not closed properly because of a longer string. This results in the game keeps reading buffer as there is more data than should be, which results in more data feeding to PPU (seems lucky that no other glitches are visible like tiles or nametables are overwritten), which results in problems with scrolling. PAL has longer VBLANK time, that's why it can handle bigger portions of data transfering to PPU. However I doubt that this happens only in Mesen, unless your other emulator is overclocked or something.

This is my best guess. Didn't look at your code.

sics

This title screen loads each line through a list of pointers, it doesn't have a closing code as such, so I don't know how to redefine the amount of data it handles.

Data:


Pointers:


On the other hand, it's true, the hack fails also in MESEN, Nestopia and Nintendulator, although it works in Fceux and VirtuaNES.
Linktree  | Better a small finished project than a thousand giant ideas stuck in your system.

Cyneprepou4uk

Well, I've looked at the code, and though I din't find a PPU buffer because NMI code handles all the calculations (which is not very optimized by the way), I was right about writing to PPU being too long. Funny thing is that "too long" is just a couple of cycles longer than "before any glitches start popping out". Weird thing is that in my experience background should be shifting just by 1-2 pixels down (not half of the screen like in your case), considering a minor cycles overflow. I suppose Mesen is a more sensitive girl than other emulators.

So either the code needs to be optimized, or the strings should be shortened.

sics

Thank you very much for your help, unfortunately this problem can only be solved by shortening the names of the menu items, which I can't do without making it ugly, so for the moment I applied the following solution, making the numbers a static part of the background :thumbsup:


It is not the best solution, but it is functional...
Linktree  | Better a small finished project than a thousand giant ideas stuck in your system.

Cyneprepou4uk

You can also write 1A JUGADOR, this will save 1 letter for each option.

sics

#6
It was the first thing I tried, but it didn't convince me, I think I will take up this problem when I have more knowledge ;)

Edit: But on second thought, if I centered it better it wouldn't look so bad.... I will add it as an option and credit you for the help as a consultant and tester, Thanks :thumbsup:


Linktree  | Better a small finished project than a thousand giant ideas stuck in your system.