Re: C64 core talk

darrin wrote:

it would look more like a "real" C64 keyboard

Depends on which C64 you compare to.

http://www.c64-wiki.com/images/6/6c/C64c.jpg

Re: C64 core talk

Damn, I have a C64C connected to my Turbo Chameleon 64 and I never noticed the symbols being on top of the keys.  I'll be home on Sunday and I'm going to have to check (and my C64D keyboard too).  big_smile

28 (edited by Johey 2014-03-15 15:32:34)

Re: C64 core talk

Even on the C64C that is different between revisions. I have one of each.

Just tried the latest version of the C64 core (svn r446). Rocking! Except for the minor key mapping glitches. smile

29 (edited by Johey 2014-03-15 22:05:35)

Re: C64 core talk

Wolfgang: I'm playing around a little with the code. As you must start somewhere, I was thinking about trying to fix the keyboard matrix conversion table for the C64. Seems like it differs from the VIC20. Would you mind letting me play around with this and commit the changes provided it works for both VIC20 and C64?

Edit: Ah, that wasn't so hard. Just cloned the VIC20 table and remapped to a correct (I hope) C64 table. Seems to work anyway. So I pushed to svn. Hope it's ok.

30 (edited by WoS 2014-03-17 17:07:21)

Re: C64 core talk

I saw the changes, great!

I always thought that VIC-20 and C64 use exactly the same keyboard, but I think X/Y (means rows and columns) is exchanged on the PCBs and furthermore some bits of the rows/columns are flipped as well.

I would have done exactly the way you did, just having a new mapping for it. Thanks a lot!

Next changes will take a bit, as I want to get ALL memory from 1541 core, c64 core and floppy data going to/from DRAM to aboid a local "setup bus" of FPGA RAM blocks. Plenty of bandwidth to do that, just needs some useful muxing of channels...

/WoS

Re: C64 core talk

@ Johey:

Home at last!  Well my C64C has the symbols on the front of the keys while my C128D has them on top of the keys with the letters and numbers.

32 (edited by WoS 2014-03-23 12:18:30)

Re: C64 core talk

Checked in a version including 1541 floppy and the menu allows to select a D64 file.
On the board, the red PWR LED corresponds to the 1541 LED; the green DSK LED indicates a selected floppy (D64) file.
And I fixed a small issue with the keyboard map for the 'E' key.

Status readout (device 8, channel 15) is possible (using the "1541status.prg" found in SVN as well), but loading a directory (load"$",8) freezes the core, probably a CIA issue...

Furthermore, it does not include yet the full DRAM setup as I am going for and I didn't connect the SID yet in this version, so I don't add the SVN version here...

Post's attachments

c64_floppy.png
c64_floppy.png 207.82 kb, 2 downloads since 2014-03-23 

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

Re: C64 core talk

Beautiful! Oh, sorry for the E blunder. :$

Re: C64 core talk

awesome progress, i will try now to get it running on my board till i get the replay.

35 (edited by WoS 2014-04-11 16:00:59)

Re: C64 core talk

I did some updates and fixed a lot of things with the VIC-II this weekend (so basic timing, badlines, ... looks quite good already and I did add register access), but still struggling with some memory issue. It is no memory read problem, as the basic/kernel works stable w/o crash, but running e.g. basic programs causing stange things to happen - at not reproducable locations. Need to dig further here. D64 still not work as well. I don't want to add any further functions as long as this basic stuff is not stable enough.

Meanwhile, the actual version in the sdcard directory includes a GPL'd monitor program, so after starting the core a "sys 49152" will start it (see the mon directory within the sdcard directory for a manual). I'm using it for direct investigations on the hardware (read/set memory locations, ...).

Edit: also all video modes are available in the VIC-II, but beside the text mode on startup none of them are yet tested...

Edit II: Coming close now:
- PLA functions for memory bank switching included and further fixes added
- I set up a small raster-line IRQ example for the VIC-II, which works well
- A 8k diagnosis cartridge (found on zimmers.net) runs through, just with a few errors - mostly because the external diagnosis connectors are not simulated in the core. Although the memory diagnosis runs very well, running basic test programs still some strange things happen. I am quite sure it is some glitch during a CPU write when the VIC-II takes over, but could not find it yet...

Edit III: Xeniter confirmed he had the same issue with his Sandbox64, so it is definitely a problem of the CPU core, thanks, Xeniter !!! big_smile    Now focussing on the ready handling on the T65 core implementation ...

Post's attachments

c64_diag8k_run.png
c64_diag8k_run.png 169.85 kb, 1 downloads since 2014-04-06 

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

36

Re: C64 core talk

Yesss! Replaced for now the t65 core by the "r6502" from Jens-D. Gutschmidt (available on Open Cores - just had to add proper clock gating to the code to work with the Replay setup) and it works!!!! Thanks, Jens!!!!

Loading D64 from 1541 is possible and programs execute. big_smile  Now I see I still have some addressing issues in the VIC-II in the multicolor modes (programs  named "G2*" and up on the C64 demo disk won't show a proper picture)

Basically (on Replay top level) the DDR handling is working now, which is multiplexed between 1541 for the D64 data and the C64 (on two banks, one for ro-ROM data and one for rw-RAM data). And after all struggle I know the bug was not in there.
This is a new snapshot which can be retreived by checking out SVN version 592.

Now I have something to show tomorrow on the CTG $13 in Graz!  smile

Next is fixing the multicolor VIC-II addressing issues and add the SID core of Mike (basically it works already with sound, just some fine tuning and I can check something in).

Finally, I'll check the issue with the t65 to go back to this core for the c64. Reason: the synthesis warns about combinatorial loops in the r6502 hierarchy, which causes severe timing issues (setup time violations) on the sys-clk domain. It currently works somehow even with timing errors, but is for sure not stable and who knows where it causes troubles.

Here some stuff from the original demo disk which works already quite nicely, already brought back some memories:

Post's attachments

c64_combined.png
c64_combined.png 389.47 kb, 2 downloads since 2014-04-11 

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

37 (edited by Johey 2014-04-11 17:52:42)

Re: C64 core talk

Hell yea! That's how we like it!

Unfortunately my Replay is currently packed in box because we are about to move. But I'll pack it up after they have taken photos of the apartment. smile

Re: C64 core talk

O_O ... WOW!

Re: C64 core talk

Wait! Can we use a real 1541 with fpga replay or that is not possible?

Re: C64 core talk

It would be easily possible if we made PS2 port -> IEC port adapter.

Re: C64 core talk

JimDrew wrote:

It would be easily possible if we made PS2 port -> IEC port adapter.


Wait! JimDrew...are you saying if we have a PS 2 port -> IEC port adapter and hook it either on the keyboard or mouse PS 2 port I can hook a real live 1541-II disk drive and have the FPG Replay actually load the disk directly from the disk drive? Can we have a USB -> IEC port instead?

BUT even if we have a PS 2 port are you saying we can actually use a real live disk drive and in C64 mode I can have a real C64 with a disk drive and play games in disk drive if I wanted too?? Like the choice is there but the only thing stopping it is the adapter?

42

Re: C64 core talk

PS4owns wrote:

Wait! Can we use a real 1541 with fpga replay or that is not possible?

Yes, I used that for debugging the 1541 implementation I made to compare the real one with my implementation. Nevertheless, I'll discuss this with Mike as I am looking for something everyone can easily use and is not restricted to just the IEC bus connector wink

/WoS

Re: C64 core talk

wolfgang wrote:
PS4owns wrote:

Wait! Can we use a real 1541 with fpga replay or that is not possible?

Yes, I used that for debugging the 1541 implementation I made to compare the real one with my implementation. Nevertheless, I'll discuss this with Mike as I am looking for something everyone can easily use and is not restricted to just the IEC bus connector wink


THANK YOU! Because in the C64 mode in my soon to be fpga replay I only want to use real disk drive 1541-II to play C64 games for real feel big_smile

Re: C64 core talk

This is what I used to debug my 1541 emulation:

https://github.com/Klaus2m5/6502_65C02_functional_tests

45 (edited by WoS 2014-04-21 14:45:09)

Re: C64 core talk

Just spend a few Euro for Jiffy DOS for C64 and 1541 (bought at retro innovations, they sell just binary images as well).
Already works nicely with the core and let run things a little faster... big_smile

EDIT: also fixed sime VIC stuff and tried to load some games - with success, but without no MIBs (aka sprites). In general: video (BMM/MCM mode, hyperscreen, ...) looks not so bad with this version. Next is getting the sprites running! cool

/WoS

46 (edited by WoS 2014-04-26 20:31:53)

Re: C64 core talk

656x with MIBs (aka Sprites): getting close now...

Edit: Checked in a binary for testing... big_smile

One demo running is the "christmas demo" on the SX-64 demo disk. Only the first "winter storm" scene has some issues with the VIC (strange picture) and the SID (strange sound), the rest does not look/sound that bad...

Games like "Aztec Challenge" or "Attack of the Mutant Camels" work as well, but without the collision detect of the VIC it is too easy to play wink   More complex programs will still crash - that's very often not a VIC issue, but some general things to look at...

Post's attachments

c64_mib_test_small.png
c64_mib_test_small.png 140.42 kb, 21 downloads since 2014-04-26 

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

Re: C64 core talk

Stay a while... Staaaaaay foreveeeeeeerrrrr....

48

Re: C64 core talk

try giana sisters, its relatively easy to make it work, and doesnt use the VIC sprite collision IIRC wink

49

Re: C64 core talk

Ghost'n Goblins and Spy vs. spy works as well with this early binary - really fun...
I have to focus! First fix ths stuff, then start to play, eh... test... big_smile

/WoS

50

Re: C64 core talk

For now I am updating the sdcard folder only with test-binaries for the board to provide something to play with, so re-compile the sources will generate an older version of the core. Just to mention...

I will update the sources as soon as I have done a proper cleanup and added the 1541 with the file-io lib. Waiting for Mikes Amiga core update first before adding anything related to the D64 stuff required for it to avoid parallel work and too much merging efforts...

/WoS