Thread: C64 Forever 7

Page 1 of 4 1234 LastLast
Results 1 to 20 of 64
  1. Collapse Details
    Amiga & C64 Forever 7 module! 
    #1
    Senior Member
    MainSecondary
    Join Date
    Jul 2014
    Posts
    1,856
    Contribute If you enjoy reading the
    content here, click the below
    image to support our site.
    Click Here To Contribute To Our Site
    So I was looking at a module I wrote for this back in 2014 and updated it to work with the latest version of C64 Forever 7 however I think a better way to do this and have a question on how to go about it.

    With RP9 files you can just double click and run them like executable files or batch files. The reason I ask is because currently I have it launch the C64Forever.exe and then the game however when I have it close I use the Close Process but the problem is when the next time you launch C64Forever is will prompt you with you did not shutdown correctly from fullscreen but I got around that by sending the enter key which is ugly way to go about it thou it works but I am looking for a seamless launch so it will launch the title and exit when you hit the esc key.

    So to do it that way would I need to set up a virtual emulator for this in RLUI?

    I know many may just say use WinVice which C64Forever does but I like how C64Forever works and Amiga Forever so any input would be great I will post my module but it is very old and does not use the newer format but and input would be nice to see if we can get a module up and running for this.

    Thanks

    Code:
    MEmu := "C64 Forever 7"
    MEmuV := "v1.0.0"
    MURL := 
    MAuthor := ["Krakerman"]
    MVersion := "1.0"
    MCRC := 
    iCRC := 
    MID := 
    MSystem := ["Commodore 64"]
    
    StartModule()
    BezelGUI()
    FadeInStart()
    7z(romPath, romName, romExtension, 7zExtractPath)
    
    BezelStart()
    HideEmuStart()
    Run(executable . " """ . romPath . "\" . romName . romExtension . """", emuPath)
    
    Sleep 1000
    Send {Enter}
    
    WinWait .romName
    WinWaitActive .romName
    BezelDraw()
    HideEmuEnd()
    FadeInExit()
    Process("WaitClose", executable)
    7zCleanUp()
    BezelExit()
    FadeOutExit()
    ExitModule()
    
    CloseProcess:
    FadeOutStart()
    Process, Close,x64.exe
    WinClose("C64 Forever Plus Edition")
    Return
    Last edited by Krakerman ; 11-15-2017 at 09:16 PM.
     

  2. Collapse Details
    Re: C64 Forever 7 
    #2
    Senior Member Potts43's Avatar
    MainSecondary
    Join Date
    Jul 2014
    Posts
    380
    Quote Originally Posted by Krakerman View Post
    So I was looking at a module I wrote for this back in 2014 and updated it to work with the latest version of C64 Forever 7 however I think a better way to do this and have a question on how to go about it.

    With RP9 files you can just double click and run them like executable files or batch files. The reason I ask is because currently I have it launch the C64Forever.exe and then the game however when I have it close I use the Close Process but the problem is when the next time you launch C64Forever is will prompt you with you did not shutdown correctly from fullscreen but I got around that by sending the enter key which is ugly way to go about it thou it works but I am looking for a seamless launch so it will launch the title and exit when you hit the esc key.

    So to do it that way would I need to set up a virtual emulator for this in RLUI?

    I know many may just say use WinVice which C64Forever does but I like how C64Forever works and Amiga Forever so any input would be great I will post my module but it is very old and does not use the newer format but and input would be nice to see if we can get a module up and running for this.

    Thanks

    Code:
    MEmu := "C64 Forever 7"
    MEmuV := "v1.0.0"
    MURL := 
    MAuthor := ["Krakerman"]
    MVersion := "1.0"
    MCRC := 
    iCRC := 
    MID := 
    MSystem := ["Commodore 64"]
    
    StartModule()
    BezelGUI()
    FadeInStart()
    7z(romPath, romName, romExtension, 7zExtractPath)
    
    BezelStart()
    HideEmuStart()
    Run(executable . " """ . romPath . "\" . romName . romExtension . """", emuPath)
    
    Sleep 1000
    Send {Enter}
    
    WinWait .romName
    WinWaitActive .romName
    BezelDraw()
    HideEmuEnd()
    FadeInExit()
    Process("WaitClose", executable)
    7zCleanUp()
    BezelExit()
    FadeOutExit()
    ExitModule()
    
    CloseProcess:
    FadeOutStart()
    Process, Close,x64.exe
    WinClose("C64 Forever Plus Edition")
    Return
    I can't really help with the module but I am interested in the project and why you consider it a better way to emulate the c64 and amiga. Thanks.

    Sent from my SM-G935F using Tapatalk
     

  3. Collapse Details
    Re: C64 Forever 7 
    #3
    Senior Member
    MainSecondary
    Join Date
    Jul 2014
    Posts
    1,856
    The RP9 format allows you to setup up everything within it so multiple disks no problem you setup within RP9Editor and thats it and launch. It just my preferred method. It's a breeze to setup all your multiple disks games and have it working.

    Especially Vic-20 games!

    As it stands the module thou ugly and not the correct way to do it does work however.

    I wrote this back when I was trying to learn how to write my own modules when there was one not available. I don't have patience to wait when or if someone will ever write one so I try to learn so I don't have to. Same goes for the SDLTRS module and recently been re-doing my system and came across these modules and wanted to share them and get some help to get them working correctly for the community as it stands I just made them for my own personal use reason why they need help to update them.
    Last edited by Krakerman ; 11-09-2017 at 12:41 AM.
     

  4. Collapse Details
    Re: C64 Forever 7 
    #4
    RocketLauncher Developer

    MainSecondary
    Join Date
    Apr 2014
    Posts
    4,791
    Well your problem is precisely that you are force closing the process.

    This is strange:
    Process, Close,x64.exe
    WinClose("C64 Forever Plus Edition")

    Why are you closing the window after closing the process? The WinClose line should be enough if the window title is correct which I'm not sure since before in the module you do:
    WinWait .romName
    WinWaitActive .romName

    So something isn't right here, figure the window class and title names and you might have your problem solved. Unless WinClose doesn't work at all with the emulator. I really can't help much more since I don't use this at all.
     

  5. Collapse Details
    Re: C64 Forever 7 
    #5
    Senior Member
    MainSecondary
    Join Date
    Jul 2014
    Posts
    1,856
    Fixed it!

    Will clean it up and post it tomorrow. I am off to bed been rough week with work and pretty beat.

    I will add the other supported systems to the modules as well.
     

  6. Collapse Details
    C64 Forever 7 
    #6
    Senior Member
    MainSecondary
    Join Date
    Jul 2014
    Posts
    1,856
    I did do a brief run before bed and was working great very seamless. Need to test bezels and other systems tonight. Very excited about getting this one to work especially with Amiga Forever


    Sent from my iPhone using Tapatalk
     

  7. Collapse Details
    Re: C64 Forever 7 
    #7
    Member
    dragon57's Avatar
    MainSecondary
    Join Date
    May 2014
    Posts
    75
    You have me excited as well! I just updated to both Amiga and C64 Forever 2017 myself. I would love to integrate the software into my setup.
     

  8. Collapse Details
    Re: C64 Forever 7 
    #8
    Senior Member
    MainSecondary
    Join Date
    Jul 2014
    Posts
    1,856
    Yes I am making some good progress however might not have it ready til this weekend as I need a little more time to test it out as my module is getting a little more advanced as I am learning new ways how to implement more systems to this module. The good news is so far everything is running like a dream so this module is coming and will be able to use your C64 Forever 7 and Amiga Forever 7 with RocketLauncher very soon!

    I am getting excited the more I am just learning on how to code this module and get it working the way it is. A much break from do bezels. So far the first module that will get released will be the C64 Forever with the Amiga Forever to follow later.
     

  9. Collapse Details
    Re: C64 Forever 7 
    #9
    Senior Member
    MainSecondary
    Join Date
    Jul 2014
    Posts
    1,856
    I have both C64 and VIC-20 games working with my C64 Forever 7 module!!!! Next up going to test Commodore 128
     

  10. Collapse Details
    Re: C64 Forever 7 
    #10
    Senior Member
    MainSecondary
    Join Date
    Jul 2014
    Posts
    1,856
    Commodore 128 works!! Now need to test bezels out.
     

  11. Collapse Details
    Re: C64 Forever 7 
    #11
    Senior Member
    MainSecondary
    Join Date
    Jul 2014
    Posts
    1,856
    Well bezels work but the issue I have is when game is fullscreen the game screen does not fit inside the bezel window the game remains fullscreen behind the bezel.
     

  12. Collapse Details
    Re: C64 Forever 7 
    #12
    Senior Member
    MainSecondary
    Join Date
    Jul 2014
    Posts
    1,856
    Here is the updated C64 Forever 7 module. I left the bezel code in but appreciate it if anyone has any input on getting bezels to work with this module if possible.

    Enjoy!

    Code:
    MEmu := "C64 Forever 7"
    MEmuV := "v1.0.0"
    MURL := ["https://www.c64forever.com/"]
    MAuthor := ["Krakerman"]
    MVersion := "1.0"
    MCRC := 
    iCRC := 
    MID := 
    
    MSystem := ["Commodore 64","Commodore 128","Commodore 16 & Plus4","Commodore VIC-20"]
    mType := Object("Commodore 64","C64","Commodore 128","C128","Commodore 16 & Plus4","PLUS4","Commodore VIC-20","VIC20") 
    ident := mType[systemName]	
    
    StartModule()
    BezelGUI()
    FadeInStart()
    BezelStart()
    HideEmuStart()
    
    Run(executable . " """ . romPath . "\" . romName . romExtension . """", emuPath)
    
    WinWait .romName
    WinWaitActive .romName
    BezelDraw()
    HideEmuEnd()
    FadeInExit()
    Process("WaitClose", executable)
    BezelExit()
    FadeOutExit()
    ExitModule()
    
    CloseProcess:
    FadeOutStart()
        If (ident = "C64")
    		WinClose("VICE: C64 emulator")
    	If (ident = "C128")
    		WinClose("VICE: C128 emulator")
    	If (ident = "PLUS4")
    		WinClose("VICE: PLUS4 emulator")
    	If (ident = "VIC20")
    		WinClose("VICE: VIC20 emulator")
    KeyUtils.Send("!{F4}")
    Return
     

  13. Collapse Details
    Re: C64 Forever 7 
    #13
    Super Moderator
    agent47's Avatar
    MainSecondary
    Join Date
    Jan 2016
    Posts
    1,100
    At a glance you should be able to get rid of all those if statements in the CloseProcess function and just use:

    Code:
    WinClose("VICE: " . ident . " emulator")
     

  14. Collapse Details
    Re: C64 Forever 7 
    #14
    RocketLauncher Developer

    MainSecondary
    Join Date
    Apr 2014
    Posts
    4,791
    What's the alt+f4 for? WinClose should be closing the window already.
     

  15. Collapse Details
    Re: C64 Forever 7 
    #15
    RocketLauncher Developer bleasby's Avatar
    MainSecondary
    Join Date
    Apr 2014
    Posts
    2,662
    To add bezels support properly to any module you need to add to your module a fullscreen variable, capable of changing the emulator from launching in fullscreen mode to launch in windowed mode.

    Bezel requires that the emu is launched in windowed mode, therefore your module has to support that with some code after the bezelStart function call.
    Basically, in the bezelStart function, if a valid bezel is found, the bezel code will set the module variable named fullscreen to false, and the module code should be responsible to launch the emulator in windowed mode if that is the case.
    Just take a look on how it is done for any other module if you have any doubt.

    Sent from my SM-J200M using Tapatalk
     

  16. Collapse Details
    C64 Forever 7 
    #16
    Senior Member
    MainSecondary
    Join Date
    Jul 2014
    Posts
    1,856
    Quote Originally Posted by brolly View Post
    What's the alt+f4 for? WinClose should be closing the window already.
    Closes C64Forever.exe if you kill the process you get a msg prompt that did not shutdown correctly next time you run a gane. That error is built into c64Forever and no way to just disable it.

    So alt+f4 closes the c64forever interface that you donít actually see it and you wonít get that prompt every time after you run a game.

    C64Forever is using x64 as a plug-in but havenít figured out how or where it saves the settings location for it.

    Just happy I got it to play my games setup using C64 Forever 7.

    Sent from my iPhone using Tapatalk
    Last edited by Krakerman ; 11-10-2017 at 10:56 AM.
     

  17. Collapse Details
    Re: C64 Forever 7 
    #17
    Senior Member
    MainSecondary
    Join Date
    Jul 2014
    Posts
    1,856
    At least I got it out for you guys who use C64 Forever and now I can mess with it further and tweak it.


    Sent from my iPhone using Tapatalk
     

  18. Collapse Details
    C64 Forever 7 
    #18
    Senior Member
    MainSecondary
    Join Date
    Jul 2014
    Posts
    1,856
    This weekend going to work on the Amiga Forever module.


    Sent from my iPhone using Tapatalk
     

  19. Collapse Details
    Re: C64 Forever 7 
    #19
    Senior Member
    MainSecondary
    Join Date
    Jul 2014
    Posts
    1,856
    Quote Originally Posted by bleasby View Post
    To add bezels support properly to any module you need to add to your module a fullscreen variable, capable of changing the emulator from launching in fullscreen mode to launch in windowed mode.

    Bezel requires that the emu is launched in windowed mode, therefore your module has to support that with some code after the bezelStart function call.
    Basically, in the bezelStart function, if a valid bezel is found, the bezel code will set the module variable named fullscreen to false, and the module code should be responsible to launch the emulator in windowed mode if that is the case.
    Just take a look on how it is done for any other module if you have any doubt.

    Sent from my SM-J200M using Tapatalk
    There is an option within c64forever to launch window instead full screen so will play around with that tonight and see if I can get it working.

    Thanks


    Sent from my iPhone using Tapatalk
     

  20. Collapse Details
    Re: C64 Forever 7 
    #20
    RocketLauncher Developer

    MainSecondary
    Join Date
    Apr 2014
    Posts
    4,791
    Quote Originally Posted by Krakerman View Post
    Closes C64Forever.exe if you kill the process you get a msg prompt that did not shutdown correctly next time you run a gane. That error is built into c64Forever and no way to just disable it.

    So alt+f4 closes the c64forever interface that you don’t actually see it and you won’t get that prompt every time after you run a game.

    C64Forever is using x64 as a plug-in but haven’t figured out how or where it saves the settings location for it.

    Just happy I got it to play my games setup using C64 Forever 7.

    Sent from my iPhone using Tapatalk
    I don't get it, so how many windows are there? Sending Alt+F4 is essentially force killing the application. Isn't C64Forever a GUI? Why not close its window? This would be the correct way of doing it. If Alt+F4 is closing it then it must be active somehow or you'd end up killing some other window, maybe it's just a hidden UI.
     

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •