76

Re: VIC20 core talk

Updated the vic20 core with the latest changes of the replay_lib, so it will build again properly. Also using the t65 version found in the a2600 core instead of the lib version.

/WoS

Re: VIC20 core talk

wolfgang wrote:
Johey wrote:

I'm running the latest (as of yesterday evening) VIC20 core, but I still need to find out how to build and update the ARM fw. Mine is almost half a week old now. yikes

I notised two glitches. First, not all keys on the keyboard work. 1 and 3 works, but not 2. Second, it does not start up all the times. It freezes at the checkboard screen. Though I woulnd't raise formal bug reports until I've successfully updated to latest and greatest versions of all bits and pieces.

For the keyboard issue there is a solution now, the VIC-core uses this module which allows modifications of key mappings:
http://www.fpgaarcade.com/punbb/viewtop … 1427#p1427

For the second the only way is to reset the core for now by pressing "F11" (exists in the latest ARM FW) or by the "reset core" item on OSD. I am on it to track the problem. It only happens on start up, once the core is running it is stable (had stress tests over >2d already).

You don't need to build the FW yourself, the SVN contains the binaries directly to use on your sdcard (copy whole directory and then select the INI there). check them in once I tested them (this may avoid issues with different yartago releases):
.../sw/arm_sw/Replay_Apps/rAppFlashUpdater/sdcard

Hi, I've been playing with a version of the VIC20 emulator on a papillio 500K+Arcade.  I finally got something working, but the 2 key doesn't work.   

Any chance I could get access to developer SVN, or a hint as to why the original implementation doesn't work?  I've been learning FPGA programming as I go, but for the life of me I can't figure out why 2 doesn't work. tongue   I'm definitely interested in a replay when it becomes available.  I grew up on a C=64 and it shaped my life.

Cheers,
Mark

Re: VIC20 core talk

I don't know why the 2 key doesn't work without some other column or row of keys also not working.  I would be interested in seeing your code for the Papillio 500.  I have one and would like to see how you built the project for it.

79

Re: VIC20 core talk

mkotyk wrote:

Hi, I've been playing with a version of the VIC20 emulator on a papillio 500K+Arcade.  I finally got something working, but the 2 key doesn't work.   

Any chance I could get access to developer SVN, or a hint as to why the original implementation doesn't work?  I've been learning FPGA programming as I go, but for the life of me I can't figure out why 2 doesn't work. tongue   I'm definitely interested in a replay when it becomes available.  I grew up on a C=64 and it shaped my life.

The Replay uses a special framework/library adopted to the HW of the replay. This is also mentioned in the post you quote. The keyboard handler and keyboard mapper is part of it. It has nothing at all to do with the VIC20 core, it is the same for C64 (and may be other cores) as well. So you won't find the solution in there any more and I doubt it will still fit on a plain 500k Spartan 3e with all the expansion options the core offers now. The core now also requires an external memory the board you talk about does not have AFAIK (the internal block ram will be partially consumed already for the PS/2 processing and look-up tables of the new setup used on the Replay for this generalized approach, which was not the case on the old setup).

So, I agree to Jim - better you post some link to your code, so we have the chance to look at it, probably makes much more sense. The rest is up to Mike to give you access to the replay_lib containing this mapper or to sell you a developer board...

If only one key is not working I assume there is something wrong with the PS/2 handler translating the keycode to the key matrix for the core, very likely a typo in the keycode mapping (so the block between PS/2 signals and the input signals to the VIC core ending up in the 6522 VIAs), maybe this single code of "2" key it even missing. Very unlikely it is somewhere else.

But please be aware this is a forum for _Replay_ owners/developers, so if you can't get the keyboard working on your hardware (I assume the board you talk about use some kind of PS/2 input as well for it), it makes more sense to talk to people more aware of the board you refer to and you paid for. I know this board only by name and never looked at it more closely as there are tons of "small FPGA boards with some connectors and no memory" out there, but I hope/suppose they offer at least a similar kind of first-level framework/wrapper adopted for their HW setup and support you in your development somehow, as I said PS/2 (or USB) keyboard entry and the first-level mapping is not (and should not) be related to the core at all, if it is done correctly wink

/WoS

Re: VIC20 core talk

Hi JimDrew & wolfgang,

The code I'm working with is a combination of the vic20 zip from public SVN, and the zip attached in the thread that follows> http://forum.gadgetfactory.net/index.ph … 284-vic20/

I had to do some tweaking to the RAM implementation, so that my puny 500K would map it to BRAM instead of flip-flops.  Here's a 7Zip of my version>
https://drive.google.com/file/d/0B0P4yV … sp=sharing

So, I'm using the PS/2 implementation that came out of the zip that's on SVN.  I've confirmed the key is working by mapping it to another input ('q').  There's something about the way the row/col translation is happening for the '2' key into the 6522 that fails.

I've looked at the fpga64 project and see they took a very different approach.  It's more electrically like how the real keyboard VIC-20 would work.  I tried porting it last night, but couldn't get any keys working, but it expects different implementation of PS/2 decoding.   I might take another shot at that using the PS/2 decoder from that project.

I was trying to follow what was going on in vic20_ps2_if.vhd, as it converts the raw ps/2 scan code into a combined row/col octet, then it gets a row_mask applied and is put into a buffer.  I was having trouble following  what the p_via_col process was doing and what p_expand_row was for. 

I bought a papillio a few years back without knowing anything about FPGAs.  I'm only now realizing how incredibly limited it is without external dram and maybe more pins.   Still it's enough to just barely fit an unexpanded vic-20 smile

Cheers and thanks for the responses.

81

Re: VIC20 core talk

Yes, I think the guys also learned a bit, the pro board (and the announced duo) looks much more useful - meaning you can use it also after the initial learning phase for some proper projects, although the LX9 is still a bit small...

Back to the topic: on a first glance code looks ok, scancode is fine, resulting matrix to select as well.  I just compared with the replay keymapper... I had a look at the 6522 code, should be fine as well.

I'd propose you try to simulate your setup. Can't be a very big problem you are looking for.

Generating a PS/2 pattern in VHDL is simple, just google for "ps2 testbench vhdl" or so. You can check out this, there is a TB routine included: http://www.xess.com/static/media/projects/ps2_ctrl.pdf. I can't post the send code routine here as the document doesn't permit it. And this one does not say anything about copyrights: http://vhdldesign.blogspot.co.at/2011/0 … ench.html. I am sure you will work it out yourself and find some code for your purpose without re-writing everything again wink

In the TB just do some wait and then send "1E", wait some ms, then send "F0", "1E" with this procedure.
I'd say it should take you just some minutes to find out with isim what is going on in the ps2 decoder...

If the simulation seems to work but the core does not work on the FPGA, you should also carefully check the warnings from the synthesis / P&R run. It can be a coding issue causing a strange result as well...

/WoS

82

Re: VIC20 core talk

Just checked in a new vic-20 + 1541 version using the Replay fileio library. The 1541 now directly accesses d64 files from the sdcard. Write not yet supported, but coming soon (together with a new c64 + 1541 version).

/WoS

Re: VIC20 core talk

invaders.prg crashes when you shoot the at first space invader. Tried it 2 times, it works as Long as you do not shoot and kill a invader, then the Color changes and it freezes.

Re: VIC20 core talk

Are you using the latest ARM firmware?

85

Re: VIC20 core talk

gehtjanx, what invaders.prg did you try? I checked "Space Invaders" or also known as "Avenger" or "VIC ROM 1901". Works just fine, including shooting enemies.

This prg I checked loads to $A000 (so cartridge ROM must be enabled and then "load PRG and reset") via OSD.

Maybe you can provide a link to the CSDb or an other info database for the version you use?

/WoS

Re: VIC20 core talk

Damn, got distracted playing this now

87

Re: VIC20 core talk

gehtjanx, now I checked you mentioned this VIC game the other day in one of your first posts...

There is also some FPGA code for the arcade version from Mike, just not ported to the new Replay framework yet. This is what I meant.

/WoS

88

Re: VIC20 core talk

MikeJ wrote:

Damn, got distracted playing this now

Yes, testing takes so much time, but it is really important... big_smile

/WoS

Re: VIC20 core talk

Hello,

@WoS:
I sent you a mail with Information and the game program (I do not know the source / where to get it, it was a huge compilation). Please test it and Report back.

This has nothing to do with the Space Invaders ARCADE Version - this is a VIC20 core program/Problem you may want to check out I though.

Re: VIC20 core talk

@Jim Drew:

I made this:
http://www.fpgaarcade.com/punbb/viewtopic.php?id=126

It says: ARM FW 20140908_832
I think that is a 2014 Version? So where to get a newer one?

Thanks

91 (edited by JimDrew 2015-11-03 22:17:39)

Re: VIC20 core talk

Damn, got distracted playing this now

LOL! I hate when that happens!

92 (edited by JimDrew 2015-11-03 22:20:26)

Re: VIC20 core talk

Yeah, 2014 ARM firmware is definitely old.  You flash the ARM firmware using the latest FlashUpdater.  I am not sure where that is in the public svn. 

I am using ARM version: 20150614_861

Re: VIC20 core talk

mmm I haven't pushed any of the ARM code out yet. Will do so tomorrow when I sync with WoS.

gehtjanx - I mailed you. I can send you the update files.

94

Re: VIC20 core talk

Got the invader.prg in question - thanks! (there are really a lot files around)
This one works in VICE and crashes on Replay as gehtjanx mentioned.

It loads to RAM and starts properly, so I can safely exclude a FW issue as it does not require any ARM ressource (no disk I/O, ...). So I would be really surprised if it can be fixed this way...

But maybe it has to do with the used 6522 code or so...

/WoS

Re: VIC20 core talk

oh interesting!
Do we have all the latest CPU and 6522 fixes??

96

Re: VIC20 core talk

CPU yes (as the latest is from me with all the undoc stuff, except the I flag reset issue as reported which can be excluded for this bug)
VIA dunno (the header states rev003 with some fixes from me and Arnim)

The vhdl code has one of your email address, so the only chance would be that someone wrote back to you. I think the only way is to check all different repositories out there and check for differences...

/WoS

Re: VIC20 core talk

Hi again

Here are INI files with NO SCANLINES (no other Changes made).


@WoS:
You have a typo in your release: 35k INI should be 24k INI (file Name)

Post's attachments

VIC20_INI_without_scanlines.zip 14.67 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

98

Re: VIC20 core talk

Oh, yes it is a typo...
Should be 32k instead of 35k (3x8k in basic area + 1x8k in cartridge area, only the additional 3k expansion is not enabled).

/WoS

Re: VIC20 core talk

WoS wrote:

VIA dunno (the header states rev003 with some fixes from me and Arnim)

I have done a couple of VIA fixes as part of getting a BBC Micro working on a Papilio Duo:
https://github.com/hoglet67/BeebFpga/co … /m6522.vhd

These are against rev002 as for some reason I have yes to track down, rev003 was causing the system to crash. I'll go back and look at this later this week.

Dave

100

Re: VIC20 core talk

Thanks Dave - I was just looking at your changes vs Wos 003 ones.
I've done some work on the beeb core also (I re-write the teletext stuff) and cleaned up the clock domains etc. I'll see if I can bring it up over the weekend.
/Mike