Joined: 6/8/2005
Posts: 236
Location: Madison, Wisconsin
I worked on Prophet64 and Action Replay (4.2+) support this week. I don't have a ROM to test the first with, and the second is being difficult. But the AR fastloader is reportedly the fastest cartridge-based loader you can use, according to this: http://www.lemon64.com/forum/viewtopic.php?t=41482&sid=697e0d8b25d115ffbfdc20ad9bffdd85 Better Action Replay 4.2+ support will come soon. There are still some incompatibilities with Krill's loader also. I'll be addressing all of these problems soon.
Joined: 6/8/2005
Posts: 236
Location: Madison, Wisconsin
Now that we have disk support, I'm able to run the "1541 Test Framework". This is essentially a list of programs that will be loaded into the disk drive and run. Since the drive uses a 6502 processor (and not a 6510 like the main computer) tests against it should benefit other cores that use the 6502. I don't have time this weekend to do much more testing. But it did reveal a couple things in decimal mode (ADC, SBC) that need to get fixed. It also failed on some of the "invalid" opcodes, but I'm not surprised- these often return different results depending on what machine the CPU is installed in.
Joined: 7/17/2012
Posts: 530
Location: Switzerland
First of all, thanks et bravo for your amazing work SaxxonPike! Is the rerecording feature broken? 1.11.7 -> On movie recording. on save, that reset movie to 0 1.11.8.2 -> On movie recording, movie constantly move between 0 - 4, for exemple Link to video
My Citra 3DS rerecording movie files test repositery: https://cutt.ly/vdM0jzl Youtube playlist "Citra Tests": https://cutt.ly/AdM0wg9 http://www.youtube.com/user/phoenix1291
Joined: 6/8/2005
Posts: 236
Location: Madison, Wisconsin
Quite possibly! Something I'll look into maybe in January. Got a lot of stuff going on between now and then.
Joined: 7/17/2012
Posts: 530
Location: Switzerland
BizHawk Git (2017/05/11)
* C64 - fix framecount getting reset to 0 on savestate, not sure why it was broken teh way it was and why this is necessary but meh,
it is fixed and more like how other cores handle Frame anyways
Thanks, I will test! Edit: Framecount seems to work as expected, but lag counter reset every 2-3 seconds. ( rev master 1222b4d5)
My Citra 3DS rerecording movie files test repositery: https://cutt.ly/vdM0jzl Youtube playlist "Citra Tests": https://cutt.ly/AdM0wg9 http://www.youtube.com/user/phoenix1291
Alyosha
He/Him
Editor, Expert player (3534)
Joined: 11/30/2014
Posts: 2732
Location: US
I've been working with SID filtering a bit. I have a first draft committed in master, so anyone interested can try it out in the dev build. Things seem to be working at least somewhat well. Gianna Sisters wind sound is much better then in 1.12.2. The rather basic FFT implementation I used though really isn't up to the task of emulating the filtering in a low level way (the way reSID does in VICE), but with a few more tweaks I should at least be able to get close.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11272
Location: RU
Even though I'm able to just try it myself, I'm requesting a video of how it sounds now, if anyone is interested in recording one.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Alyosha
He/Him
Editor, Expert player (3534)
Joined: 11/30/2014
Posts: 2732
Location: US
Oh yeah, I guess I should spare people the pain of waiting through that horrible and long boot up sequence XD (I forgot how tedious that is when you don't already have a savestate where you need it) Link to video NOTE: This is only a first draft, and should improve a bit by the final version, but don't expect it to sound like VICE (unless Saxxon comes back and codes it up)
fsvgm777
She/Her
Senior Publisher, Player (221)
Joined: 5/28/2009
Posts: 1185
Location: Luxembourg
With OldR2: Link to video With OldR4AR: Link to video I notice a fair amount of audio crackling when the filters kick in. The wind howling is there, but not quite like in VICE, but as you said, Alyosha, it needs some fine-tuning. Something else I noticed is that the title screen theme (present in my videos) sounds a tad off (a sound just abruptly stops instead of continuing). Here's a FLAC of the title screen theme, for comparison's sake (recorded on Sidplay 2.6 with the R4AR filter (reSID-fp), then converted using foobar2000)
Steam Community page - Cohost profile Oh, I'm just a concerned observer.
fsvgm777
She/Her
Senior Publisher, Player (221)
Joined: 5/28/2009
Posts: 1185
Location: Luxembourg
So I downloaded a recent interim build again: Link to video The audio now sounds much better, though there's still some buzzing accompanying the title screen theme (the one sound I talked about above now does continue, but with some buzzing). Wind howling is about the same as before (it's a bit more pronounced in VICE).
Steam Community page - Cohost profile Oh, I'm just a concerned observer.
Alyosha
He/Him
Editor, Expert player (3534)
Joined: 11/30/2014
Posts: 2732
Location: US
It's getting there. Here is the sound after the third round of commits. If I could get the buzzing sound worked out, I'd be happy with it. For future work it might be worth it to just integrate the reSID library, since it's at least much closer to the real thing then the high level FFT + attenuation I'm using now, but I'm not interested enough to do it. Link to video
Editor, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
Alright, Bizhawk 1.13.0 with C64 core is out. I'd like to try it out but I'm not familiar with the system. What should I be doing on this screen? And is the firmware I'm using fine? http://imgur.com/AFSAoI8.png
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11272
Location: RU
Does typing RUN help?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Joined: 5/22/2014
Posts: 4
https://www.c64-wiki.com/wiki/First_Steps Crash course: Drop disk image on Bizhawk. Type LOAD "*",8 to load first program. '"' you will get by SHIFT+2, like on real Commodore keyboard. '*' is under ]. Then wait few minutes. After program loads, type RUN to run it. LIST won't work because Tool Box shortcut eats 'T'...
adelikat
He/Him
Emulator Coder, Site Developer, Site Owner, Expert player (3598)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
shas wrote:
LIST won't work because Tool Box shortcut eats 'T'...
BizHawk crash course: just no. Hotkeys are remappable in the Hotkey config. Also, Key priority is an essential feature with a core like this. In Config -> Key priority and also an icon in the status bar. The icon you can simply click to toggle the state. I also added a hotkey for toggling. If you set it to gamepad, and press T in your example it will type T and not open the toolbox.
It's hard to look this good. My TAS projects
Editor, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
Using LOAD "*",8 gave a device not present error. However, simply using LOAD made it load for a while and then it said it found Karateka. Then I used RUN and it works. But the sound seemed really glitchy, and then it got stuck on a screen saying AriolaSoft. Maybe the game crashed. This happened when I tried the (E) version of the game, and maybe it's not compatible with the firmware? I'd like to try to use a different version, but then the bluescreen outputs "Press Play on Tape". How do I do that?
adelikat
He/Him
Emulator Coder, Site Developer, Site Owner, Expert player (3598)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
Use just "LOAD" when it is a tape game. If you see press play on tape you did the wrong commands. There is no button to press. Sounds like you typed just LOAD on a disk which isn't the right command.
It's hard to look this good. My TAS projects
Editor, Expert player (2315)
Joined: 5/15/2007
Posts: 3856
Location: Germany
Ok, on this new version, I used LOAD "$",8 and then LIST like the wiki says. Then I typed LOAD "KARATEKA",8,1 and it started. But the screen just stayed blank and changed color every 10 seconds. Seems like it's unplayable on this version too.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11272
Location: RU
How long did you wait for the flashing screen to end?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Alyosha
He/Him
Editor, Expert player (3534)
Joined: 11/30/2014
Posts: 2732
Location: US
Seems to be working to me, although it took 5 minutes to get into the game...and then I walked backwards over the edge and died and it told me to insert side 2, I'm glad I had a NES growing up.
DrD2k9
He/Him
Editor, Judge, Expert player (2071)
Joined: 8/21/2016
Posts: 1014
Location: US
Not sure if there's someone specific I should suggest this to, but I assume if there is, someone here will tell me. I have a thought/suggestion for future BizHawk versions regarding utilizing fastloaders. I have extremely little coding experience/understanding, so I have no idea how difficult the following suggestion would be (if it's even possible). But here goes... Could a section be added in the C64 firmware settings for a fastloader cartridge rom? If it is loaded in as part of the firmware, couldn't other games/disk images then be opened just as they are now, while still benefiting from the faster loading times resulting from of the fastloader cartridge? Again, I have no idea if this is even possible in an emulated environment.
Joined: 6/8/2005
Posts: 236
Location: Madison, Wisconsin
Anything's possible in an emulated environment ;) I haven't looked at it in some time, but I'm guessing we would probably just use the existing bundling mechanism. A lot of C64 owners (in the US at least) almost permanently had an Epyx Fast Load in their systems. Then there's the prospect of custom Kernals such as Jiffydos... This stuff *could* probably be implemented, but where do we draw the line for TAS? I also feel like the existing disk bundling mechanism we have right now might not entirely be appropriate for this sort of setup. Something to investigate when I get back.
Joined: 6/8/2005
Posts: 236
Location: Madison, Wisconsin
I did some playing around with the C64 core tonight, specifically the disk code. A good number of fastloaders and copy protections work. Some do not. - Unformatted track checks seem to work fine. Shamus is one such game. - Fat tracks (one form of Electronic Arts protection) work fine. Adventure Construction Set is one such game. - Vorpal is hit or miss. The games that work consistently work, the games that do not, do not. For those of you unfamiliar with the system... Disk games easy start guide: - At the READY prompt, type LOAD"*",8,1. The " is mapped to shift-2 and the * is mapped to ] to stay relative to the physical layout of a C64. - If READY shows up again with a blinking cursor, the game is not an auto-loader, so you have to type RUN and press enter. It will commence loading. Tape games easy start guide: - At the READY prompt, type LOAD and press Enter. We force Play to be pressed, so it should immediately begin to load the program on the tape. Things to remember: - The C64 has two joystick ports. Some games require port 1. Some games require port 2. If your input doesn't seem to be working, switch ports. - Games that are published on magnetic media have very slow access times. Be patient with them. - Cartridges require no intervention; they will load immediately. It also occurred to me we lack a soft and hard reset. That's priority one. Followed by getting better disk and tape support. We still have quite a few games that aren't loading yet.
Alyosha
He/Him
Editor, Expert player (3534)
Joined: 11/30/2014
Posts: 2732
Location: US
SaxxonPike wrote:
It also occurred to me we lack a soft and hard reset. That's priority one. Followed by getting better disk and tape support. We still have quite a few games that aren't loading yet.
This reminded me Saxxon, that interrupts need a second look as well. I ran into trouble with the game MoonDust, which was doing some non-standard stuff with interrupts. The fix was simple but it took me a very long time to realize what the problem was. See this commit: https://github.com/TASVideos/BizHawk/commit/f99f9847b43d7ec51899ef65b91443e14e56b1a7 I didn't check for consistency in the other interrupt sources, so it's possible some issues are related to that. Also porting reSID would be good so my hackish FFT stuff can be removed.
Joined: 6/8/2005
Posts: 236
Location: Madison, Wisconsin
Alyosha wrote:
SaxxonPike wrote:
It also occurred to me we lack a soft and hard reset. That's priority one. Followed by getting better disk and tape support. We still have quite a few games that aren't loading yet.
This reminded me Saxxon, that interrupts need a second look as well. I ran into trouble with the game MoonDust, which was doing some non-standard stuff with interrupts. The fix was simple but it took me a very long time to realize what the problem was. See this commit: https://github.com/TASVideos/BizHawk/commit/f99f9847b43d7ec51899ef65b91443e14e56b1a7 I didn't check for consistency in the other interrupt sources, so it's possible some issues are related to that. Also porting reSID would be good so my hackish FFT stuff can be removed.
According to this: http://www.zimmers.net/cbmpics/cbm/c64/vic-ii.txt ...your change is correct. The VIC interrupt latch should not be changed by a potential interrupt condition unless the interrupt itself is enabled. I'll go over the other interrupt sources and make sure that's the case.