vSNES

Announce new emulators, discuss which games run best under each emulator, and much much more.

Moderator: General Mods

creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

OK, I've edited a copy of the old code to fix the CHT bugs. Put these files Image into your v2.92 beta2 directory.

You'll need the Delphi 10 BPLs Image, too. Put them into the same directory or somewhere else where Windows will find them. They'll be used by all my future Delphi 10 projects.


EDIT: Added some missing files.
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
Qyzbud
Rookie
Posts: 20
Joined: Fri Apr 21, 2006 3:34 pm
Location: Australia
Contact:

Post by Qyzbud »

Thanks for going to this trouble. Seems like more problems have cropped up though. :?

If I use this version to copy the cheat table to the clipboard, and then try to paste it back in unaltered, I receive the message "The clipboard text has the wrong format." I looked at the text which vSNES is copying to the clipboard, and it looks as though the table is now upside-down - meaning that the order of cheats is reversed. Not only that, but the formatting of the copied cheat code table (which used to be very neat in your last build) is now jumbled... Probably for the same reason as the order-switch.

I see what you mean about the flags not being accurate- these seem reversed, too... but not exactly.

All of this stuff could easily be the result of one little bug, I guess!


I should also say that the interface does indeed look more nice and tidy without the reload/launch buttons. Now my mission will be to adapt to using the F5 key to reload. ;)
Super NES... Still the best.
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

Indeed a small bug - fixed. (I really need to test the things I'm rewriting...)
Please download again, maybe after clearing your browser cache.

The flags should be fine with this release, at least with SNES9x standards.
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
Qyzbud
Rookie
Posts: 20
Joined: Fri Apr 21, 2006 3:34 pm
Location: Australia
Contact:

Post by Qyzbud »

Flags & copied text work fine now, but it seems that cheat descriptions are lost when pasting back into vSNES.
Super NES... Still the best.
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

Fixed - please download again.
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
Qyzbud
Rookie
Posts: 20
Joined: Fri Apr 21, 2006 3:34 pm
Location: Australia
Contact:

Post by Qyzbud »

Good on ya, man!

I can tell you tested it this time - with Chrono Trigger, right? :D
It's working just fine for my purposes now, I appreciate your perseverance!

A couple of issues to address at your leisure:
  • Although the toggle checkboxes display the flag status correctly in vSNES, they seem to open up in ZSNES with inverted values. (Those which should be disabled by default are enabled, and vice versa)

    If you copy a cheat table to the clipboard, then back into vSNES, and copy the cheat table to the clipboard again, the values with the heading '????' all show up as 0000. Pasting the cheat table back into vSNES after this will cause the toggle flags' status to appear reversed in vSNES, but as you probably guessed, this means that the flags show up just right in ZSNES! The resetting of the '????' values seems to have no negative effect, which is good news.
Btw, do you have any idea what the '????' values do? ...Or are they headed with a series of question marks for good reason. ;)
Super NES... Still the best.
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

Qyzbud wrote:Although the toggle checkboxes display the flag status correctly in vSNES, they seem to open up in ZSNES with inverted values. (Those which should be disabled by default are enabled, and vice versa)
This might be a bug in the SNES9x source. I'll probably fix it so that it matches with ZSNES.
Qyzbud wrote:If you copy a cheat table to the clipboard, then back into vSNES, and copy the cheat table to the clipboard again, the values with the heading '????' all show up as 0000. Pasting the cheat table back into vSNES after this will cause the toggle flags' status to appear reversed in vSNES, but as you probably guessed, this means that the flags show up just right in ZSNES! The resetting of the '????' values seems to have no negative effect, which is good news.

Btw, do you have any idea what the '????' values do? ... Or are they headed with a series of question marks for good reason. ;)
The "????" values don't have a name in the SNES9x source. They are set to a 'magic' value of $FCFE if it's the first code in the list, otherwise to zero. I guess ZSNES relies on that, so I change these values when the values are encoded into the binary CHT structure.

The flag reversing seems strange...
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

... but is once again a small bug that has been fixed in the current build.

Please download again (I won't change the version number just for bugfixes :wink:).
Btw. you only need to extract the EXE file; overwriting the INI file will of course reset your settings.
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
Qyzbud
Rookie
Posts: 20
Joined: Fri Apr 21, 2006 3:34 pm
Location: Australia
Contact:

Post by Qyzbud »

Great, getting so much better all the time.
My .cht files have never looked neater. 8)

So only the .exe is being updated for these bugfixes? That's good to know. I suppose one of the positive outcomes of me having overwritten the .ini file every time is that I've become quite familiar with vSNES's options menu!
Super NES... Still the best.
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

Just FMI, what are you changing in the options after a reset? (The only thing I do is disabling the exit window.)
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
Qyzbud
Rookie
Posts: 20
Joined: Fri Apr 21, 2006 3:34 pm
Location: Australia
Contact:

Post by Qyzbud »

The exit window? Who could think of disabling such a charming feature! ;)

It's great that such an obscure programme has powerful customisation options... The default settings are great, but my needs are specific. Firstly, I like to free up screen space for other applications (such as ZSNES, Photoshop etc, and folders), so I tend to disable the start maximised option. I also like to see the graphics layers in their un-filtered format, so I disable the resizing features. I'm frequently greeted with 'cartridge not found' if I don't uncheck try to load cartridge, so I've learnt to save myself that grief by clicking away that option... Oh and finally I like the bitmaps to be copied to clipboard rather than saved to files.

I believe that's the extent of my option tweaking.
Super NES... Still the best.
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

Interesting, thanks. :wink:
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

Bugfix of the current version:
- fixed incrementing addresses in CHT editor when using multi-byte cheats
- added lines are 'enabled' by default
- fixed typo in the documentation (which isn't included in this update)

Thanks to Delta Dreamer.
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

Things are progressing. :)

Code: Select all

Procedure tPPU.Write(Const Address : Word;  Const Value : Byte);
Const   BG_LatchMask    =       Bits5 SHL 3;
        // ...
Var     i               :       Byte;
        tmp             :       Integer;
Begin
Regs[Address] := Value;
Case Address of
        // ...
        $210D:  Begin                                           // scrolling registers:
                With BG[BG1].ScrollPos do Begin                 // BG1 x
                        tBytes4(x)[0] := (BG_LatchData AND BG_LatchMask) OR tBytes4(x)[1];
                        tBytes4(x)[1] := Value;                 // 0 = low byte;  1 = high byte
                        x := x AND Bits11;
                        BG_LatchData := Value;
                End;
                With Mode7.ScrollPos do Begin                   // Mode7 x
                        tBytes4(x)[0] := Mode7.LatchData;
                        tBytes4(x)[1] := Value;
                        x := x AND Bits13;
                        Mode7.LatchData := Value;
                End;
                End;
        // ...
End;
End;
EDIT: small fix
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

The components PPU.CGRAM, PPU.OAM, PPU.OBJ, PPU.VRAM and the cartridge are now
classes that handle bus reads and writes by themselves. OOP shows its advantages by
making the code clearer and more self-documenting.

Reading the available info and going over the code again has also improved the
windowing / masking code. Hopefully the corresponding checkbox in the scene viewer
will then actually do something useful...
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
filouk
Rookie
Posts: 48
Joined: Fri Jan 12, 2007 7:15 pm
Location: France

"Reload"

Post by filouk »

Hello ! How are you ?

Creaothceann, in the Scene Viewer, when I click on "reload" (I often use this option when I change the .zst file so that it displays the new version), all boxes (layers...) get unchecked (even if the "update the layering" option has been disabled). Could you correct this please ?

Thanks !
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

This is fixed in the latest public release:

1. get the v2.92 beta2 files (link)
2. get the v2.93 files and the BPLs (see my post from Jul 20, 2007 at the top of this page)


EDIT: That version is not working exactly as intended...

You'll need to do the following:
- load the first savestate
- adjust the layering
- save the savestate to a temporary one
- load this temporary savestate
- disable the "update layering" checkbox

Now you can load other savestates.
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
filouk
Rookie
Posts: 48
Joined: Fri Jan 12, 2007 7:15 pm
Location: France

Post by filouk »

Mmh... sounds a bit complicated to me...

Thanks anyway.
filouk
Rookie
Posts: 48
Joined: Fri Jan 12, 2007 7:15 pm
Location: France

Post by filouk »

The "relload" button appears in grey unless you check/uncheck some layers. So it is worse than in the previous versions, where you could always click the "reload" button. Actually I don't see how it would solve my problem ?
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

v2.91a EXE file

Put this into your v2.91 directory, it should fix the problem.
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
filouk
Rookie
Posts: 48
Joined: Fri Jan 12, 2007 7:15 pm
Location: France

Post by filouk »

Thank you. But it actually doesn't fix the problem. Now with this new version, it doesn't matter whether I checked or uncheked the "update layering" option, the same thing happens : when I click on "reload" or when I load a new zst, the layer boxes never remain the way I set them. Example : I load a zst file, and I check only the "sprites priority 3" layer. Well, when I click on "reload" or when I load a new zst, the "bg2 priority 1" and "bg2 priority 0" get unchecked and all the others get checked. So again this is worse than in the previous version, where I only had problems with the "reload" option (when using F3 or the "load a savestae" menu I had no problems). With this new version the layers change whatever I do. Tell me if I'm not clear enough.
Thank you !
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

This is not what happens here... :?

Try downloading v2.91 again and extract it into a new directory. Put the v2.91a EXE there and start it. Load a savestate, uncheck the "update" checkbox and load another savestate: The layering should stay the same, and should become the new "saved" layering that is used by the reload button.
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
filouk
Rookie
Posts: 48
Joined: Fri Jan 12, 2007 7:15 pm
Location: France

Post by filouk »

Ok, if I first check the right boxes, then load another savestate it will then remember it when I click on the "reload" button. But now the problem with this new version is, that I can't click the "reload" button unless I have first enable or disable one layer, because otherwise it appears in "grey" colour when I load a new zst and I can't click on it until I have checked or unchecked some layer boxes. Could it be possible to be able to click on "reload" immediately, like in the previous version ? Thank you.
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

Alright, try this one: v2.91b EXE file
Last edited by creaothceann on Fri Nov 30, 2007 10:14 pm, edited 1 time in total.
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
filouk
Rookie
Posts: 48
Joined: Fri Jan 12, 2007 7:15 pm
Location: France

Post by filouk »

When I click on "reload" all layers get disabled (we are back to the original problem...)

P.S. if you need a beta-tester, I'm the man ;)
Post Reply