VICE PSP version 2.1.1 released

VICE PSP is now out. The sound lag seems to be fixed; however there are some issues: for one, the FPS counter sometimes reports incorrect data after frame skipping goes into effect (showing 4 FPS, when the emulator’s actually rendering at 50), and annoying stuttering noise while frames are being skipped.

I would like the sound engine to be more polished prior to release, but I’ve only had a few hours to work in the last two weeks (not likely to improve any time soon), and I feel like it’s in a suitable enough state.

VICE is a series of Commodore emulators; for now, I’ve only ported the C64 emulator. I’ve wanted to port a C64 emulator for a while now; as a fan of chiptunes/demoscene music (I recommend Kohina, by the way), I’m familiar with the popular SID chip that gave talented musicians like Martin Galway, Rob Hubbard and Ben Daglish an outlet to produce some of the most brilliant sets of bleeps and bloops to grace one’s ears.

Now it’s almost 4 AM, and I should probably turn in.

Download

This entry was posted in Release, VICE and tagged , . Bookmark the permalink.

19 Responses to VICE PSP version 2.1.1 released

  1. ewgf says:

    Brilliant – I’m downloading it now. Sadly I have to go out now (I only logged on to check for an e-mail), but I’ll be giving VICE PSP a *lot* of playing time tonight.

    Thanks mate!

  2. ewgf says:

    I’ve just spent an hour or so with this emulator, and it’s GREAT! It’s ran everything I tried, and shown no problems at all.

    I do have a few requests (sorry!).

    1. The screen display is only true size or stretched full screen – can you add a third option (as inj FUSE PSP) where the sceen is still in ratio, but stretched to fill the screen vertically?

    2. How do you load another disc (or tape) file without reseting the C64, for games that use mutliple discs or tapes? Please can you make it so that if the user presses CROSS when on the file menu then the C64 resets and loads from the selected disc/tape (as already happens, of course), BUT if the user instead presses SQUARE then the tape/disc file is selected and “inserted” into the C64, but the C64 does not reset, it just continues emulation.

    3. Please add a control option (to define a PSP control as this control option) to swap the emulated joystick from 1 to 2 (and then from 2 to 1 when the PSP control is again used). This isn’t too important, as going to the emulator option and selecting Swap Joystick does the same thing and is easy to do, but some people might like the ability to define a control for it.

    4. Please can you add an option to display the C64′s program counter, so that the user knows that the emulator has not crashed (often when the C64 is depacking code in memory it looks like the C64 has crashed when it hasn’t).

    5. Would it be possible to add a text viewer to the emulator, as I have the Blast disks (more than 300 disc images, each containing multiple games) and their contents are stored in a (large) text file, and the ability to view this file at any time to see which disc image contains which games would be great.

    6. You say that the emulator download is for firmware 2.00 onwards, yet it seems to work fine in 1.5 for me, is this normal?

    7. On the virtual keyboard I can’t access the SHIFT LOCK key (to the right of the RUN STOP key), it’s greyed out and the key select cursor jumps over it when I try to highlight it. Why is this?

    Anyway, many thanks for such a great program – I’ll post any more thoughts or bug reports or whatever comes to mind.

    • Akop says:

      Thanks Carl

      1. The screen display is only true size or stretched full screen – can you add a third option (as inj FUSE PSP) where the sceen is still in ratio, but stretched to fill the screen vertically?

      Actually, the height of the C64 screen matches that of the PSP – 272 pixels. So “actual size” and “fit height” are one and the same.

      2. How do you load another disc (or tape) file without reseting the C64, for games that use mutliple discs or tapes? Please can you make it so that if the user presses CROSS when on the file menu then the C64 resets and loads from the selected disc/tape (as already happens, of course), BUT if the user instead presses SQUARE then the tape/disc file is selected and “inserted” into the C64, but the C64 does not reset, it just continues emulation.

      I should’ve probably mentioned this in the docs, my fault. On the system tab, you can load another disk by pressing CROSS on Drive 8; same for tapes and cartridges. TRIANGLE will eject the peripherals; by pressing RIGHT on a loaded peripheral, you can auto-load a specific program from the disk. Loading or ejecting a tape/disk from the System tab will not reset the system.

      4. Please can you add an option to display the C64’s program counter, so that the user knows that the emulator has not crashed (often when the C64 is depacking code in memory it looks like the C64 has crashed when it hasn’t).

      Actually, VICE will pop a window if emulation crashes, so no need for a PC counter this time.

      6. You say that the emulator download is for firmware 2.00 onwards, yet it seems to work fine in 1.5 for me, is this normal?

      I’m surprised. Tell me what the directory layout on the memory stick is like – does Fuse work with 1.5 as well?

      7. On the virtual keyboard I can’t access the SHIFT LOCK key (to the right of the RUN STOP key), it’s greyed out and the key select cursor jumps over it when I try to highlight it. Why is this?

      VICE (the parent emulator) does not actually have any way of utilizing Shift Lock, most likely due to the fact that shift-locking was done in some analog fashion, by rewiring the Shift key (correct me if I’m wrong, anyone). This is why the button is grayed out on the virtual keyboard. You can get the same effect by opening the virtual keyboard and pressing CIRCLE while the Shift button is highlighted.

      • ewgf says:

        >>1. The screen display is only true size or stretched full screen – can you add a third option (as inj FUSE PSP) where the sceen is still in ratio, but stretched to fill the screen vertically?

        >Actually, the height of the C64 screen matches that of the PSP – 272 pixels. So “actual size” and “fit height” are one and the same.

        Oh right, then could you an an option to remove the C64′s border and stretch the remaining display vertically, keeping the vertical to horizontal the same, so that the horizontal stretchs as appropriate?

        I didn’t know that the C64′s vertical resolution exactly matched the PSP, by the way, that was lucky for us.

        >>2. How do you load another disc (or tape) file without reseting the C64, for games that use mutliple discs or tapes? Please can you make it so that if the user presses CROSS when on the file menu then the C64 resets and loads from the selected disc/tape (as already happens, of course), BUT if the user instead presses SQUARE then the tape/disc file is selected and “inserted” into the C64, but the C64 does not reset, it just continues emulation.

        >I should’ve probably mentioned this in the docs, my fault. On the system tab, you can load another disk by pressing CROSS on Drive 8; same for tapes and cartridges. TRIANGLE will eject the peripherals; by pressing RIGHT on a loaded peripheral, you can auto-load a specific program from the disk. Loading or ejecting a tape/disk from the System tab will not reset the system.

        Understood, thanks for that.

        >>4. Please can you add an option to display the C64’s program counter, so that the user knows that the emulator has not crashed (often when the C64 is depacking code in memory it looks like the C64 has crashed when it hasn’t).

        >Actually, VICE will pop a window if emulation crashes, so no need for a PC counter this time.

        Oh, is that part of VICE? It did it on the older Vice port for the PSP, but I thought it was a PSP specific addition, as I never saw it on the PC version (though to be fair, it’s a long long time since I used Vice on the PC, I prefered CCS64 (I think it was called)).

        >>6. You say that the emulator download is for firmware 2.00 onwards, yet it seems to work fine in 1.5 for me, is this normal?

        >I’m surprised. Tell me what the directory layout on the memory stick is like – does Fuse work with 1.5 as well?

        OK, well my PSP is running IRShell 3.90, and my firmware is, supposedly 3.90 M33-3 and 1.5. I say supposedly because in 1.5, if I try to go to the XMB then the PSP crashes. Plus when I boot up the PSP, the screen is blue for a second, which apparently (from what I read on the ‘net) means that the firmware is wrongly installed, but I’m reluctant to change anything as all of the software I like works fine, so I don’t want to risk messing things up.

        I do have things on the PSP that will only run in one firmware or the other. Both Doom and Quake, for example will only run in 1.5, according to their instructions, and this is the case. On my PSP in 1.5, they run fine, in 3.90, they refuse to run.

        Anyway, when I downloaded your VICE PSP, I already had the older VICE 64 conversion on my PSP, and I wanted to keep this (to test any games that might refuse to run on your version), so I moved this to a different directory, and copied yours to Vice 64′s former directory. See, IRShell lets you load five different programs from it’s main menu, and that’s five per firmware. And my C64 icon was in the 1.5 firmware menu, so I copied your program to there (and yes, I did propely move ALL of the older emulator’s file out first) without thinking that it shouldn’t run (I didn’t think of the firmware at all, it was only later that it occured to me that your Vice port shouldn’t run from IRShell in 1.5 mode). Anyway,

        Come to think of it, ZX81′s emulators (the CPC and MSX) and his PSP all run in 1.5, despite being 3.x versions (the ones I downloaded). I know this as I installed the 3.x versions, but my PSP joypad keeps pushing down (as far as the PSP is concerned) in some programs, so I downloaded a program called Joysens, which fixes the problem by creating a deadspot at the centre of the joypads sensitivity. Trouble is, Joysens only works for me in 1.5 mode, in 3.90 mode it doesn’t, despite it saying it does in the documentation (I’ve tried everything to get Joysens to work in 3.90 mode, and I’ve also tried to replacement physical joypad units, and nothing fixes it). So I use ZX81′s 3.x programs in 1.5 mode, and they work great, and Joysens fixes the joypad problem there. Your emulators work fine with my joypad, so please don’t ever tighten up their joypad reading!

        I’m sure I’ve tried programs that needed higher than 1.5 firmware and they did refuse to run in 1.5, but I can’t remember any. Polygun Wars, which I think might be 3.x + only, runs fine in 3.90, but in 1.5 crashes on the Load Profile screen. If you like, name some programs that won’t run under 1.5 and I’ll try them on my 1.5 – I think maybe my 1.5 is corrupted and so some 3.x programs get confused by it, but like I said, I’m reluctant to try to fix it as I don’t want to risk permanently losing the ability to run some software.

        >>7. On the virtual keyboard I can’t access the SHIFT LOCK key (to the right of the RUN STOP key), it’s greyed out and the key select cursor jumps over it when I try to highlight it. Why is this?

        >VICE (the parent emulator) does not actually have any way of utilizing Shift Lock, most likely due to the fact that shift-locking was done in some analog fashion, by rewiring the Shift key (correct me if I’m wrong, anyone). This is why the button is grayed out on the virtual keyboard. You can get the same effect by opening the virtual keyboard and pressing CIRCLE while the Shift button is highlighted.

        Strange! OK mate, thanks for the answers. I’ve posted news about the release on both World of Spectrum and lemon64.com.

      • Shaun says:

        >VICE (the parent emulator) does not actually have any way of utilizing Shift Lock, most likely
        >due to the fact that shift-locking was done in some analog fashion, by rewiring the Shift key
        >(correct me if I’m wrong, anyone).

        I believe you’re right. On my old breadbin the Shift Lock key is basically a physical switch, in the sense that when you push it down it clicks down and stays down until you push it again to release it. So basically I presume it’s just connected the same contact as the Shift key directly below it.

  3. Umpa says:

    Hi great emulator but you can add a full screen option like other Psp vice emulator?

  4. ewgf says:

    Sorry, forgot to say; yes, FUSE PSP works fine in 1.5 on my PSP, both versions 0.10.0.21 (April 7 2009), and 0.10.0.1 (Jan 1 2009) (I like to keep an older version on the PSP in case I find an incompatible game on the newer emulator, and then I can check it with the older version)

    • Akop says:

      I’m not 100% sure, but I believe your custom firmware automatically loads VICE and Fuse in 2.00+ mode, and the 1.50 apps in the other mode. I’m fairly certain (check, anyone?) that both apps would crash a “vanilla” 1.50 system (the library makes use of some kernel calls that should fail on 1.50).

  5. Shaun says:

    This is brilliant! Thanks so much for releasing this. It definitely has better performance than PSPvice on demanding games like Armalyte.

    And it seems to handle True Drive Emulation better. In PSPvice, having true drive emulation on would have a big performance hit, even when the drive wasn’t actually loading anything. In Catalypse, for example, I would have to turn true drive emulation off during the levels and remember to turn it back on before the next level loaded, otherwise the framerate would drop way down – this was all while running the PSP at 333mhz. In VICE PSP I can leave true drive emulation on and Catalypse still plays at full framerate (though obviously the framerate drops between levels while loading, but that’s no problem at all).

    Nice work!

  6. Matt says:

    I love this new emulator, great interface.

    I was not able to load .prg files in .zip files. My PSP just turns itself off when I try after a short pause where it states reading compressed file. Is there a way to load .prg files?

    I also have a feature request, although I’m not sure how realistic the idea is. I would love for the emulator to be able to select files to load from a .d64 file. Typing Load “Program Name”,8,1 on the PSP is not much fun. If there was a feature where you could list the contents of a disk within the emulator and choose which file to load using the up and down buttons that would save a lot of hassle trying to work the virtual keyboard.

    Thanks for a great emulator!

    • Akop says:

      Thank you. I will check out the issue with PRG’s.

      This post will hopefully answer your other question

      • Matt says:

        Thanks Akop! I will try that tonight after work :)

        • Matt says:

          Loading progs from the system menu works brilliantly, such an elegant concept! You did a great job with that.

          I tried loading an uncompressed .prg (so no zip) and that also didn’t work.

          Another feature request, gamebase64 support would be the icing on the cake :)

          • Akop says:

            I can’t take most of the credit for it, thank the VICE team for a very flexible versatile emulator :)

  7. israelg says:

    vSync option is needed to avoid the tearing effect in games like uridium (Vertical Shooter)

    • Akop says:

      The vertical sync of the C64 emulator is 50 Hz; vsync of the PSP is 60. VSync only works when the frequencies of the two systems match.

  8. PB says:

    Thanks Akop! I will try that tonight after work :)

  9. robinshould be stored says:

    Hi Akop,

    running Fuse 0.10.0.21 on fat psp with 5.00 M33-4 and getting “Error loading file O/X” for any game I tried about 14 before I gave up. Been through documentation, nothing to say how should be stored.

    It looks beuatiful by the way and even started wrting BASIC before my fingers started to hurt.

    please forgive spelling mistakes and missing y letters.

    Robin

    • Akop says:

      Fuse PSP supports a number of formats, including TRD, Z80, TAP, TZX, and most others that Fuse (the original emulator) supports. They can be uncompressed, or compressed in ZIP format – either way, Fuse PSP should be able to load them.

Comments are closed.