Wanted: VIC online emulator

You need an actual VIC.

Moderator: Moderators

Sdw
Vic 20 Drifter
Posts: 32
Joined: Wed Aug 13, 2008 8:15 am

Post by Sdw »

Now it works for me as well, looking great!
User avatar
girv
Vic 20 Newbie
Posts: 17
Joined: Tue May 29, 2007 9:30 am
Location: Northern Ireland

Post by girv »

Kweepa wrote:I renamed the emulator JarVIC.
Yes! Score! :D

BTW I knew nothing of the doctor guy, I just thought it was a cool name. It was the name I'd picked when I'd looked at doing a Java VIC emulator based on the JaC64 sources myself ;)
Last edited by girv on Mon Mar 23, 2009 9:24 am, edited 1 time in total.
Athlor
Vic 20 Drifter
Posts: 30
Joined: Mon Sep 01, 2008 11:58 pm

Post by Athlor »

I can't believe the progress you've made on JarVic. I looked at the original JaC64 and my eyes blurred and thought it looked like object-oriented spagetti code. But you managed to sift through it and come up a hell of an emulator in a short time.
My little VicVM project can't pretend to compare with it. I have got program loading going it as well now. I even got some of the same weird problems like odd random number results that I can't quite put my finger on yet. Like the Compute! maze generators work perfect. But Dunjon II, the rpg, doesn't generate proper stats, they are all the same. It was said it was something different in how rnd(0) works. ???
AnYwAyZ, I'll figure it out eventually and I too plan to release it in the public domain for anyone who might be interested.
JJ Abrams Star Trek: Boldly going where we've already been...
User avatar
Kweepa
Vic 20 Scientist
Posts: 1303
Joined: Fri Jan 04, 2008 5:11 pm
Location: Austin, Texas
Occupation: Game maker

Post by Kweepa »

If you check the post I made earlier in this thread about RND(0), you'll see you need to either fake the VIA timers or emulate them. RND(0) reads from T1 and T2 of VIA1 so you can just update these occasionally to fake it, or you can check the source of VIA.java to emulate (I think) correctly.

For JarVIC, I fixed the problems with BASIC programs by loading to start of text, relinking the line numbers and setting the start of variable memory.
Thanks to this thread!
http://sleepingelephant.com/ipw-web/bul ... .php?t=664

I also got double height characters working.

Latest:
http://www.kweepa.com/step/vic20/jarvic.html
Source here:
http://www.kweepa.com/step/vic20/jarvic092708.zip
Athlor
Vic 20 Drifter
Posts: 30
Joined: Mon Sep 01, 2008 11:58 pm

Post by Athlor »

I got graphics and color going now to a degree. I still have to fix rnd like you said, Kweepa, and I too need a relinking function for programs loaded into a different address than they were saved. Here another pic that implements a pull-down menu for loading programs.
Image
JJ Abrams Star Trek: Boldly going where we've already been...
nippur72
de Lagash
Posts: 574
Joined: Thu Sep 07, 2006 8:35 am

Post by nippur72 »

one thing I've noticed with JarVIC: it hangs my Firefox browser. If I close the browser after running JarVic, it can't start again because the process is frozen in the background (windowless) and I have to kill it manually.

(Ok, I know this isn't easy to debug, so I'm not expecting you to fix it :) )
User avatar
Kweepa
Vic 20 Scientist
Posts: 1303
Joined: Fri Jan 04, 2008 5:11 pm
Location: Austin, Texas
Occupation: Game maker

Post by Kweepa »

To relink, I just pushed SYS50483[return] into the keyboard buffer after loading. Why reinvent the wheel?

JarVIC hanging your browser isn't good. What version of Firefox/JRE/Windows(?) do you have? I don't see that behaviour with FF3/JREv6u7/WinXP. Hopefully if I can repro it I can attach a debugger to the process.
Overcast
Vic 20 Newbie
Posts: 6
Joined: Thu Oct 02, 2008 5:30 pm

Post by Overcast »

I couldn't get it to start at all - with FireFox 3.03 or IE - but I'm running an older version of Java on my work PC here, that I won't update, as I use a lot of the 'lights-out' boards for servers at work, and they are flakey on certain versions of Java, I'll give it a try from home, I have a lot of options there.

java.lang.UnsupportedClassVersionError: JarVICApplet (Unsupported major.minor version 49.0)

at java.lang.ClassLoader.defineClass0(Native Method)

at java.lang.ClassLoader.defineClass(Unknown Source)

at java.security.SecureClassLoader.defineClass(Unknown Source)

at java.net.URLClassLoader.defineClass(Unknown Source)

at java.net.URLClassLoader.access$100(Unknown Source)

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(Unknown Source)

at sun.applet.AppletClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.applet.AppletClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.applet.AppletClassLoader.loadCode(Unknown Source)

at sun.applet.AppletPanel.createApplet(Unknown Source)

at sun.plugin.AppletViewer.createApplet(Unknown Source)

at sun.applet.AppletPanel.runLoader(Unknown Source)

at sun.applet.AppletPanel.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)



I assume that's due to the version of Java I'm running?
---------------------------
10 PRINT "Hello World!"
20 GOTO 10
User avatar
Kweepa
Vic 20 Scientist
Posts: 1303
Joined: Fri Jan 04, 2008 5:11 pm
Location: Austin, Texas
Occupation: Game maker

Post by Kweepa »

Overcast - looks like your Java version, yes.

New version with support for setting the memory and starting a game in one click. Plus cartridge support. And a bit of a new look for the web page.

http://www.kweepa.com/step/vic20/jarvic.html

I still have to get Frogger07 working. And fix up the white noise channel. And add some more vertical real estate for Arcadia.
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

Kweepa wrote:New version with support for setting the memory and starting a game in one click.
Thank you very much for adding my suggested feature, thanks again. :D

The new web page has a very nice look!
Mega-Cart: the cartridge you plug in once and for all.
User avatar
Jeff-20
Denial Founder
Posts: 5764
Joined: Wed Dec 31, 1969 6:00 pm

Post by Jeff-20 »

Awesome page! I'm jealous. Which keys are for joystick input? :)
High Scores, Links, and Jeff's Basic Games page.
User avatar
Kweepa
Vic 20 Scientist
Posts: 1303
Joined: Fri Jan 04, 2008 5:11 pm
Location: Austin, Texas
Occupation: Game maker

Post by Kweepa »

Should be 4,5,6,8 and 0 on the numeric keypad.
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

The RunStop-Restore button does a reset not exactly the same on a real vic :wink:

Btw i've "tested" it for a while and i must say that is in a very good state except that it's a bit slow but is not a problem for an on-line emulator 8)
Mega-Cart: the cartridge you plug in once and for all.
User avatar
Kweepa
Vic 20 Scientist
Posts: 1303
Joined: Fri Jan 04, 2008 5:11 pm
Location: Austin, Texas
Occupation: Game maker

Post by Kweepa »

New version:
1. improved noise support (based loosely on VICE code)
2. increased screen height from 240 to 272 to accommodate Arcadia

http://www.kweepa.com/step/vic20/jarvic.html

Just Frogger '07 to look at - for some reason the screen colour raster code is not timed correctly and it rolls. I may need some advice on this one.
User avatar
Kweepa
Vic 20 Scientist
Posts: 1303
Joined: Fri Jan 04, 2008 5:11 pm
Location: Austin, Texas
Occupation: Game maker

Post by Kweepa »

New version:
* removed the prg and a0 files from the JAR
* can now load programs from a relative directory or from a URL
* improved the raster timing for Frogger (still rolls though, because my VIA code isn't cycle exact)

Link in previous post.

I'm about done, unless someone has any suggestions...
Post Reply