Locked

1 2
12 13 14 15
Senior Moderator
Joined: 8/4/2005
Posts: 5770
Location: Away
Yeah, to hell with backwards compatibility. Movies shouldn't rely on emulation bugs. (Except Starfox, which is dead boring otherwise.)
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
Dwedit
He/Him
Joined: 3/24/2006
Posts: 692
Location: Chicago
For the ram mirroring issues, back compatibility isn't that important. For the other small changes to the GB emulator that have been made since, that may be an issue. I'd like to just see a new version get out the door though. The sooner the new version gets out, the sooner new movies won't depend on an old buggy emulator. If you really need back compatibility, leave the old version up for download next to it with a caption like "May be necessary to play older files".
Senior Moderator
Joined: 8/4/2005
Posts: 5770
Location: Away
I think it's already out, actually. :)
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
Emulator Coder, Skilled player (1300)
Joined: 12/21/2004
Posts: 2687
OK then, here's v20 (on the first post). The GB core is now up to date with CVS, which supposedly fixes the echo RAM bug and looks like it fixes several other bugs and timing issues. It broke the savestates pretty badly, so I patched that up quickly, but there could be some remaining bugs related to that or almost anything else (please report any you find). Neither movies nor savestates are backward-compatible for GB/SGB/GBC games (although it could be made to load old savestates again at some point in the future). I did not change the GBA core this time.
Joined: 10/15/2005
Posts: 7
Location: Chile
nitsuja About VBA of kode54, think in these improvements: LCD colors option, in Filter PCM interpolation (None, Linear, Cubic, FIR (Kaiser 4T) and libresample)
Editor, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Is there a version history for VBA? I have absolutely no idea whatsoever how the version numbering goes and which versions have changes which would require me to patch my version of VBA that I only use for the purpose of making AVI files. Nor do I have any idea how to patch it ― there don't seem to be .diff files available. EDIT: My version seems to be based on … vba-rerecording-19 vba-dehacked. When I do a diff between the sources in vba-rerecording-19-src.7z (which seems to be aka. v19.2) and vba-rerecording-20-src.7z (which seems to be aka. v20.0), the result is… uh-oh, 10858 lines.
Joined: 8/27/2006
Posts: 883
Is the emulator version stored in the movie files ? If not, that would be a good thing to do, that way you could ensure that you are using the good version of the emulator to playback the movie file.
ventuz
He/Him
Player (123)
Joined: 10/4/2004
Posts: 940
This version seem to giving me trouble to change control (it's taking about 4 "presses" to make change") and it doesn't want controls from gamepad or something.
Emulator Coder, Skilled player (1300)
Joined: 12/21/2004
Posts: 2687
Here is the diff: vba_19.3_to_20.0.diff.zip Here is a complete list of files with differences:
/src/AutoBuild.h
/src/movie.cpp
/src/NLS.h
/src/gb/GB.cpp
/src/gb/GB.h
/src/gb/gbCheats.cpp
/src/gb/gbCheats.h
/src/gb/gbCodesCB.h
/src/gb/gbGfx.cpp
/src/gb/gbGlobals.cpp
/src/gb/gbGlobals.h
/src/gb/gbMemory.cpp
/src/gb/gbMemory.h
/src/gb/gbSGB.cpp
/src/gb/gbSound.cpp
/src/win32/DirectDraw.cpp
/src/win32/MainWndFile.cpp
/src/win32/VBA.cpp
All of that results from integrating the newer GB core code, except for the win32 changes which only do the following: - allow text to go into AVIs if the "text in image" option is on - ask for confirmation before clearing recent ROMs list
Mitjitsu
He/Him
Banned User, Experienced player (532)
Joined: 4/24/2006
Posts: 2997
How come when I try to update frames using frame advance I don't actually see anything on screen happening despite the fact that when I unpause the game? it goes the place I should be which is a few seconds ahead. I've never had this problem until the current 20 version came along.
Emulator Coder, Skilled player (1300)
Joined: 12/21/2004
Posts: 2687
Hmmm, something that's supposed to deal with that is now missing in the GB update code, however, you can avoid the problem by setting frameskip=0 for GB games. (options > speed > frame skip > skip 0)
Mitjitsu
He/Him
Banned User, Experienced player (532)
Joined: 4/24/2006
Posts: 2997
nitsuja wrote:
Hmmm, something that's supposed to deal with that is now missing in the GB update code, however, you can avoid the problem by setting frameskip=0 for GB games. (options > speed > frame skip > skip 0)
I've tried it out, sorry it doesn't work.
Emulator Coder, Skilled player (1300)
Joined: 12/21/2004
Posts: 2687
EDIT: Since AKA submitted a TAS using v20, I guess he figured it out.
Former player
Joined: 12/27/2006
Posts: 532
Location: Göteborg, Sweden
I tried to run Link's Awakening in the new VBA and for some reason the intro screens took me ~30 frames longer than usual. Is this because of an emulation bug in the previous movie?
My published movies [03:45:05] <Naohiro19> Soulrivers: ... [03:45:19] <Soulrivers> ? [03:46:35] <Naohiro19> <Soulrivers> No! <Naohiro19> So? <Soulrivers> Yes! [03:46:48] <Naohiro19> joke
Emulator Coder, Skilled player (1300)
Joined: 12/21/2004
Posts: 2687
It's probably an inaccuracy in the previous timing. I wouldn't call it an emulation bug, just missing lag frames.
Former player
Joined: 12/27/2006
Posts: 532
Location: Göteborg, Sweden
So there is nothing wrong with the new version - the previous one was lacking?
My published movies [03:45:05] <Naohiro19> Soulrivers: ... [03:45:19] <Soulrivers> ? [03:46:35] <Naohiro19> <Soulrivers> No! <Naohiro19> So? <Soulrivers> Yes! [03:46:48] <Naohiro19> joke
Emulator Coder, Skilled player (1300)
Joined: 12/21/2004
Posts: 2687
If I'm correct in assuming that the people updating the GB core of VBA on CVS have been making it more accurate rather than less accurate, yes. And that's not a baseless assumption. They seem to have gotten the memory map right (dealing with the echo RAM issue), and I saw several "oops, this was totally wrong before" moments in their new code, fixes for things that in retrospect were obviously mistakes.
Editor, Skilled player (1941)
Joined: 6/15/2005
Posts: 3247
When I run an SGB/GBC game, the frame counter goes up to 29, stops for 1.5 seconds, then jumps to about 100. I don't think that is supposed to happen. Also happens when I soft-reset with A+B+Start+Select. It does not seem to affect GB.
Emulator Coder, Skilled player (1300)
Joined: 12/21/2004
Posts: 2687
Yeah, that's a bug. The problem is simply that it's not refreshing the emulator screen while the game is loading. One way to force it to show the actual frame count is to toggle the input display after frame advancing.
Former player
Joined: 12/27/2006
Posts: 532
Location: Göteborg, Sweden
Game crashes when I use in-game (S&Q) reset in Link's Awakening.
My published movies [03:45:05] <Naohiro19> Soulrivers: ... [03:45:19] <Soulrivers> ? [03:46:35] <Naohiro19> <Soulrivers> No! <Naohiro19> So? <Soulrivers> Yes! [03:46:48] <Naohiro19> joke
Emulator Coder, Skilled player (1300)
Joined: 12/21/2004
Posts: 2687
Soulrivers wrote:
Game crashes when I use in-game (S&Q) reset in Link's Awakening.
The game does not crash for me in v20 when doing an ABSs save&quit in any version of Link's Awakening or Link's Awakening DX, so more details would be nice.
Former player
Joined: 12/27/2006
Posts: 532
Location: Göteborg, Sweden
nitsuja wrote:
Soulrivers wrote:
Game crashes when I use in-game (S&Q) reset in Link's Awakening.
The game does not crash for me in v20 when doing an ABSs save&quit in any version of Link's Awakening or Link's Awakening DX, so more details would be nice.
It's strange, it just started working now. Dunno what caused it. D:
My published movies [03:45:05] <Naohiro19> Soulrivers: ... [03:45:19] <Soulrivers> ? [03:46:35] <Naohiro19> <Soulrivers> No! <Naohiro19> So? <Soulrivers> Yes! [03:46:48] <Naohiro19> joke
Joined: 2/12/2006
Posts: 432
i'm trying to compile version 20, but i'm getting a stranger error:
GB.cpp: In function ‘bool gbReadSaveStateFromStream(void*)’:
GB.cpp:4272: error: jump to label ‘failedLoadGB’
GB.cpp:3837: error:   from here
GB.cpp:3842: error:   crosses initialization of ‘bool ib’
GB.cpp:3841: error:   crosses initialization of ‘bool ub’
GB.cpp:4272: error: jump to label ‘failedLoadGB’
GB.cpp:3825: error:   from here
GB.cpp:3842: error:   crosses initialization of ‘bool ib’
GB.cpp:3841: error:   crosses initialization of ‘bool ub’
whats this all about?
Emulator Coder, Skilled player (1300)
Joined: 12/21/2004
Posts: 2687
Eh, I think the compiler is being overly paranoid to make that an error. Just add a { on line 3840 and a } on line 3863 to keep it happy there.
Joined: 2/12/2006
Posts: 432
now it gives a bunch of undefined reference errors for "VBAMovie" type functions. by the way, the compiler its using i think is g++. the whole thing looks like this:
SDL.o: In function `main':
SDL.cpp:(.text+0x6a4b): undefined reference to `VBAMovieCreate(char const*, char const*, unsigned char, unsigned char, unsigned char)'
SDL.cpp:(.text+0x6a61): undefined reference to `VBAMovieOpen(char const*, signed char)'
SDL.cpp:(.text+0x6a77): undefined reference to `VBAMovieOpen(char const*, signed char)'
GBA.o: In function `CPUReset()':
GBA.cpp:(.text+0x967): undefined reference to `VBAMovieSignalReset()'
GBA.o: In function `CPULoop(int)':
GBA.cpp:(.text+0x4b94e): undefined reference to `systemFrame(int)'
GBA.o: In function `CPUWriteStateToStream(void*)':
GBA.cpp:(.text+0x4e9eb): undefined reference to `VBAMovieActive()'
GBA.cpp:(.text+0x4ea34): undefined reference to `VBAMovieFreeze(unsigned char**, unsigned long*)'
GBA.o: In function `CPUReadStateFromStream(void*)':
GBA.cpp:(.text+0x4f346): undefined reference to `VBAMovieActive()'
GBA.cpp:(.text+0x4f431): undefined reference to `VBAMovieUnfreeze(unsigned char const*, unsigned long)'
GBA.cpp:(.text+0x4f456): undefined reference to `VBAMovieActive()'
GBA.cpp:(.text+0x4f7a0): undefined reference to `VBAUpdateFrameCountDisplay()'
RTC.o: In function `rtcWrite(unsigned int, unsigned short)':
RTC.cpp:(.text+0x3db): undefined reference to `VBAMovieActive()'
RTC.cpp:(.text+0x3e4): undefined reference to `VBAMovieLoading()'
RTC.cpp:(.text+0x3ff): undefined reference to `VBAMovieGetId()'
RTC.cpp:(.text+0x406): undefined reference to `VBAMovieGetFrameCounter()'
RTC.cpp:(.text+0x4e0): undefined reference to `VBAMovieActive()'
RTC.cpp:(.text+0x4e9): undefined reference to `VBAMovieLoading()'
RTC.cpp:(.text+0x504): undefined reference to `VBAMovieGetId()'
RTC.cpp:(.text+0x50b): undefined reference to `VBAMovieGetFrameCounter()'
../gb/libgb.a(GB.o): In function `gbWriteSaveStateToStream(void*)':
GB.cpp:(.text+0x18f8): undefined reference to `VBAMovieActive()'
GB.cpp:(.text+0x1941): undefined reference to `VBAMovieFreeze(unsigned char**, unsigned long*)'
../gb/libgb.a(GB.o): In function `gbReadBatteryFile(char const*)':
GB.cpp:(.text+0x25c7): undefined reference to `VBAMovieActive()'
GB.cpp:(.text+0x25d0): undefined reference to `VBAMovieLoading()'
GB.cpp:(.text+0x25eb): undefined reference to `VBAMovieGetId()'
GB.cpp:(.text+0x25f2): undefined reference to `VBAMovieGetFrameCounter()'
GB.cpp:(.text+0x2789): undefined reference to `VBAMovieActive()'
GB.cpp:(.text+0x2792): undefined reference to `VBAMovieLoading()'
GB.cpp:(.text+0x27ad): undefined reference to `VBAMovieGetId()'
GB.cpp:(.text+0x27b4): undefined reference to `VBAMovieGetFrameCounter()'
../gb/libgb.a(GB.o): In function `gbReset()':
GB.cpp:(.text+0x30f6): undefined reference to `VBAMovieSignalReset()'
../gb/libgb.a(GB.o): In function `gbReadSaveStateFromStream(void*)':
GB.cpp:(.text+0x93bf): undefined reference to `VBAMovieActive()'
GB.cpp:(.text+0x94aa): undefined reference to `VBAMovieUnfreeze(unsigned char const*, unsigned long)'
GB.cpp:(.text+0x94cf): undefined reference to `VBAMovieActive()'
GB.cpp:(.text+0x96d7): undefined reference to `VBAUpdateFrameCountDisplay()'
../gb/libgb.a(GB.o): In function `gbEmulate(int)':
GB.cpp:(.text+0xa806): undefined reference to `systemFrame(int)'
GB.cpp:(.text+0xb35c): undefined reference to `systemFrame(int)'
../gb/libgb.a(gbMemory.o): In function `memoryUpdateMBC3Clock()':
gbMemory.cpp:(.text+0x34eb): undefined reference to `VBAMovieActive()'
gbMemory.cpp:(.text+0x34f4): undefined reference to `VBAMovieLoading()'
gbMemory.cpp:(.text+0x350f): undefined reference to `VBAMovieGetId()'
gbMemory.cpp:(.text+0x3516): undefined reference to `VBAMovieGetFrameCounter()'
../gb/libgb.a(gbMemory.o): In function `mapperMBC3RAM(unsigned short, unsigned char)':
gbMemory.cpp:(.text+0x3a0e): undefined reference to `VBAMovieActive()'
gbMemory.cpp:(.text+0x3a17): undefined reference to `VBAMovieLoading()'
gbMemory.cpp:(.text+0x3a32): undefined reference to `VBAMovieGetId()'
gbMemory.cpp:(.text+0x3a39): undefined reference to `VBAMovieGetFrameCounter()'
../gb/libgb.a(gbSGB.o): In function `gbSgbPicture()':
gbSGB.cpp:(.text+0x1377): undefined reference to `VBAMovieSignalIgnoreNextReset()'
1 2
12 13 14 15

Locked