vc64web / virtualc64web

vc64web - Commodore C64 Emulator for iPad iPhone Android and the Web with CSDb access for thousands of demos at your fingertip.
https://vc64web.github.io/doc/about.html
GNU General Public License v3.0
45 stars 5 forks source link

streamlining the call interface #63

Closed mithrendal closed 3 years ago

mithrendal commented 4 years ago

I could not resist to add a keyboard shortcut to the filedialog

grafik

whenever the file popup comes up we can just hit on the enter key and it proceeds ...😎

e.g. just click

https://dirkwhoffmann.github.io/virtualc64web/#http://csdb.dk/getinternalfile.php/190343/monstre.prg

and hit the enter key

mithrendal commented 4 years ago

A lot of demos at csdb write explicitly the preference of sid model 8580. why is that ? Is the 6581 not good enough?🤔

Anyway I thought there should be a new setting for this.

E2FA60E9-0576-4595-8738-BC661C624766

mithrendal commented 4 years ago

43D9694E-1302-4FCF-9864-CE796E88508B

Wow. In this cool sound track the 8580 really makes a great difference...😎

https://dirkwhoffmann.github.io/virtualc64web/#http://csdb.dk/getinternalfile.php/139416/LMan%20-%20Vortex.prg

dirkwhoffmann commented 4 years ago

In this cool sound track the 8580 really makes a great difference...😎

I don't know where the differences come from. From a coders point of view, both SIDs are identical.

The old versions of VirtualC64 had the problem that filter emulation was buggy for one the two SID revisions (don't remember which one), but in the latest release of VICE they have fixed this. The v3.4 core uses the latest reSID code. I think this is the core VirtualC64web is based on.

mithrendal commented 4 years ago

The v3.4 core uses the latest reSID code. I think this is the core VirtualC64web is based on.

I have looked into vc64mac, there are the following three branches

I double checked this with vc64web ... here master only has 2 years old files ... same as branch 3.4

Do I have to copy the new resid files of branch resid3.4 or master ? Is master still the 3.4 version or already 4.0?

Should I already upgrade to version 4, I guess it is in branch dev, no?

dirkwhoffmann commented 4 years ago

3.4 has 2 years old resid code

Strange. 🤔

I've already merged back the v4.0 branch to the master branch a couple of times, so most of the v4.0 stuff is already part of it.

Should I already upgrade to version 4, I guess it is in branch dev, no?

I think it's best if you only copy the reSID stuff from the master branch to VC64web at the moment, because the v4.0 API is already slightly different to the v3.4 API and is likely to change further. Hence, if you do the API adjustments now, you need to do them again once the v4.0 branch has been finalized which is unnecessary extra work.

mithrendal commented 4 years ago

copied the resid files from master and it compiled without issues ... that was easy ...

now I think a share button on the csdb detail view could be useful ... one which copies the link to the clipboard
e.g.

https://dirkwhoffmann.github.io/virtualc64web/#http://csdb.dk/getinternalfile.php/139416/LMan%20-%20Vortex.prg

...lets see how that works ...

mithrendal commented 4 years ago

we got now these copy to clipboard buttons ... for sharing cool music or demos via messenger, blog or mail ...

grafik

mithrendal commented 4 years ago

I think blue completely transparent buttons for copy to clipboard is looking more modern ...

grafik

mithrendal commented 4 years ago

when we have set vc64web in pause ... and then later clicked a snapshot or a csdb entry .. nothing happened ... because it was still in pause ...

I altered that ... vc64web will be set into running mode which feels more to be the natural right thing as the user clicks on something, because he wants action ...

grafik

Gimme some action now ! 😎

mithrendal commented 4 years ago

I am just blown away by the following outstanding demo

D3CFB0A8-3FF9-4143-B6A7-82A9E368E9BF

Edge of disgrace

What a monster in sound graphics and art departement 🤤🤤🤤

https://dirkwhoffmann.github.io/virtualc64web/#http://csdb.dk/getinternalfile.php/67631/EdgeOfDisgrace.zip

The following is cool too ... hypnotic like a mandelbrot tree

https://dirkwhoffmann.github.io/virtualc64web/#http://csdb.dk/getinternalfile.php/205280/gp_quadrants.prg

mithrendal commented 4 years ago

we now show rom dialog on startup only when one of these points is true

🤔 does the last point makes sense ?

dirkwhoffmann commented 4 years ago

does the last point makes sense ?

Yes, I think it makes sense. Of course, we could simply disconnect the drive if the drive Rom is missing, but the user could get confused when the drive is not working. He might think it's due to an emulator bug and not due to a missing Rom.

mithrendal commented 4 years ago

in case call_parameter is set to a .zip with multiple entries... we must bring up the file dialog...

same is true I think for d64/g64 files because you can choose to look into their directories ... with load"$",8:list

but what about call_parameters ending with .prg, .crt, .t64 and .tap ? Is it reasonable to bring up the file dialog for these too ? Or should it be skipped for these file types?

On the one hand it is nice that it always behaves the same and upon insert something or calling something that you can be sure that when loading was fine that it brings always this file dialog ...

On the other hand this extra click or ENTER could be avoided...

mithrendal commented 4 years ago

grafik

we are showing all the comments and the summary to each csdb entry ... 😎

BTW: this is really nice https://dirkwhoffmann.github.io/virtualc64web/#http://csdb.dk/getinternalfile.php/205484/elite-code-mechanics.prg can the Amiga do this too ? Ok I know the answer is yes ... 😅

mithrendal commented 4 years ago

I think the csdb.dk interface in vc64web works really nice by now. I am really happy with it ... and using it is currently a pleasure because they currently have this ECM compo running ... with putting out new hot freaking cool demos every day ... 🤤🤤🤤 unbelievable what is possible with C64 hardware ...

grafik

Technically we have now abstracted all the parts of querying and fetching and showing the details into a so called "collector" interface so connecting to https://demozoo.org as @emoon proposed ... with vAmiga should be just another implementation for the existing UI interface and mechanics... once we compiled and connected the vAmigaCore to it ... everything should be very reusable ... I hope

But before going into vAmiga ... we should add two features to the "collector" interface which come to my mind

dirkwhoffmann commented 4 years ago

But before going into vAmiga ...

Yes, let's focus on the C64 first. It's not like the vAmiga core isn't ready yet, but once two web emulator exist, it's twice the work to maintain them. Therefore, I thinks it's best to wait until things stabilize.

BTW: this is really nice https://dirkwhoffmann.github.io/virtualc64web/#http://csdb.dk/getinternalfile.php/205484/elite-code-mechanics.prg

Clicking this link worked flawlessly here (it's really cool that the browser remembers the Roms 😎). The only interaction I had with the emulator was the "Auto run" checkbox. I was wondering if we could somehow get rid of this. Since we want to attract new users, the "first encounter" with the emulator is essential. It would be super cool if the demo just starts out of the box, especially because new users might not understand what "auto run" is.

mithrendal commented 4 years ago

I was wondering if we could somehow get rid of this

I think to skip the auto run option dialog when coming via call_parameter is super easy ... we could skip it if the link is an prg, crt, t64 or tap file ... in case of zip or d64 we just leave it as it is ... as the user wants to look inside the disk or zip ...

also we could alter or optimise the system rom dialog which pops up when a user for the very first time started vc64web ... then generally no roms are in the sockets ... the problem: what if the user decides not to install original roms nor to hit the "install open roms"-button ... when he just clicks the "close" button or ESC-key ? then currently the emulator refuses to run and the user just sees a black emulator canvas ...

I see four ways to avoid this...

  1. if there are no required roms ... automatically install open roms without asking the user ... and show the rom dialog or
  2. if there are no required roms ... automatically install open roms without asking the user ... and don't show the rom dialog or
  3. show the rom dialog with the empty sockets and when the user chooses to leave the dialog without having installed anything -> don't let him leave with a message that he must install first ... or
  4. show the rom dialog with the empty sockets and when the user chooses to leave the dialog without having installed anything -> install the open roms ...

hmm what do you think is the best ? Maybe when called via csdb link (2.) and when not called with parameter 1,3 or 4 ?...

...Since we want to attract new users ...

I somehow doubt that these changes above will increase the awareness of the existence of the web emulator or attract new users ... 😄

the point is that vc64web is simply still completely unknown by the scene ... (ok except Klaus) 🤓

when looking into the forums at csdb ... they currently like to have a thing like vc64web ... look here for example is a discussion thread from october 2020 on csdb.dk https://csdb.dk/forums/?roomid=5&topicid=140020&firstpost=17 where they discuss on making it more modern ...

this post nails it

I get the impression that the people that want updates are looking for a more modern look, and a smoother experience, and are not the kind of users that actively add content to the database, or in other ways are contributing to the database work by spending time on updating info and entries. That is why C64 Scene by Mr.SID or JCH's project is the way to go. Keeping CSDb intact but gives the ones that feel a need for a more modern look what they "need". :)

but we can not reach out to them and tell them about our vc64web csdb scene browser as we have no account on csdb ... only "real"💪🏼 sceners get one 🙄 ... I only did some basic programs with a lot poke and data commands for the sprites and some short assembler programs with smon on the c64 back in the days ... which are all lost by now 🙈 ... maybe one stumbles by chance about our vc64web scene browser tool ...

mithrendal commented 4 years ago

The only interaction I had with the emulator was the "Auto run" checkbox. I was wondering if we could somehow get rid of this

ok I have a dev build now on my computer which always (vc64web called with or without parameter) skips the auto_run options for .crt .t64 and .prg files ...

should I deploy it ? we can also make it skip only when called with parameter or we could introduce a setting for it ...

mithrendal commented 4 years ago

pushed out a new version ...

this one is great ... https://dirkwhoffmann.github.io/virtualc64web/#http://csdb.dk/getinternalfile.php/205547/SquareBooze.prg