Re: C64 core talk

I don't doubt his work was brilliant, it usually is. He mentioned that he would be impressed if you guys got all the plasmas in edge of disgrace working, taking up the challenge? big_smile


Re: C64 core talk

i can only point to the VICE testprograms repo yet again smile once you've fixed all of that, you'll have a pretty decent compatibility rate smile


Re: C64 core talk

I don't know who you refer to when you state "once you've fixed all of that", I suppose it's not me... big_smile

Getting feedback of not working games or test cases is for sure a valuable input, but maybe 5% of the work to do. I think I mentioned that already. So a "this game/test does not work" as feedback is good for the compatibility list to track, but is still only the tip of the iceberg.

I'd say at least 90% (and the time consuming part) is to find the root cause of problems. Of course it does require proper C64 knowhow, a pure gamer won't help here. FPGA knowhow isn't required either for this step.

So if people would like to see some speedup and improvements, please: feel free to support the project, there is plenty to do and to dig into even if you have no idea what VHDL means.    wink

My proposal is:
- please get the test programs, try them out (or write your own)
- come back with specific feedback on lowest possible level, what the Replay version does with a certain test and what the expected result should be
- the better/detailed the bug description (like wrong register content at a certain point, missing interrupt before certain opcodes,....), the more likely it will be fixed soon

The remaining 5% are then to fix the FPGA code, this is a task for a FPGA/Replay developer like Mike, me or others active here.

Thanks smile


Re: C64 core talk

That was what i hoped for when inviting Pantaloon. Let's wait and see.
If he don't get actively involved i'll ask some other coders.

Re: C64 core talk

Sounds good but do you still work on SID or is there a newer Version available? Mike wanted to get some SID changes to you I think, that would be awesome! smile



Re: C64 core talk

Currently I am struggling to finish an other core and I am working on the low-cost expansion idea.
The SID is done by Mike, I just did some minor changes on the interface to integrate it to the c64 core.



Re: C64 core talk

I will look at the SID this weekend.


Re: C64 core talk

spotUP wrote:

That was what i hoped for when inviting Pantaloon. Let's wait and see.
If he don't get actively involved i'll ask some other coders.

Great! Probably there are only very small issues left in the implementation causing the problems. I did the development always based on the real parts using a logic analyzer, but at some point this is just not sufficient anymore - e.g. to get the behavior on all possible (and impossible) setups or when using specific dynamic changes on configurations. So each bug fixed should be quite a step forward already...

Oh, if it helps it would be interesting to discuss with these guys the usefulness of some enhanced core debugging environment on the Replay and how it should look like. Maybe also a nice f2f topic if my visit works out. Ideally such a feature could become part of the Replay framework with some defined interface, that other cores can use it as well (first of all the used CPU cores need some generic add-on for that).


159 (edited by gpz 2016-01-26 12:53:30)

Re: C64 core talk

I don't know who you refer to when you state "once you've fixed all of that", I suppose it's not me...

whoever is working on the core, of course smile (but seriously, i wouldnt expect a lot of help from others there - at least thats what the last 10 years of VICE fixing taught me. there are quite some demo coders who prefer to laugh about your broken emulation rather than provide any useful help, unfortunately.)

btw, edge of disgrace is kindof easy to make it work.... because its very well/cleanly coded. some old stuff from the 80s is much harder, because it often only works by accident and relies on the most weird glitches (Psykolog.... aaaargs)

Re: C64 core talk

Is there a nice way to debug things?

Maybe some debug cart which can dump the full c64/1541 state to disk and a PC program for visualization? Did quite some ASM coding back then, but never used sophisticed stuff like debuggers...


Re: C64 core talk

Not yet, but we could implement a HW based one wink
But just for fun it is too much work, if noone will use it.



Re: C64 core talk

Dave (Hoglet) has already added a hardware debugger to a 6502 on a few of his projects.

His code is all available on Github.

Re: C64 core talk

Have you checked that debugger out wolfie?


Re: C64 core talk

For such tracing functionality I simply use chipscope and EjLA (that's how I fixed all the open issues in the t65 for the c64 core). This is disabled in the builds as it requires a jTag interface connected to the Replay.



Re: C64 core talk

Fixes to the 6526 code added - additionall CIA Lorenztests are pass now (some few left)...
Should be in public SVN soon. Will do some tests and set up a new package (approx. this weekend) in the download section as well.


Re: C64 core talk

GREAT to see something new happening to this core! This and the Amiga core is what matters to me!

Re: C64 core talk

spotUP wrote:

GREAT to see something new happening to this core! This and the Amiga core is what matters to me!



Re: C64 core talk

Made some fixes on the SID (issue with noise generation - so games like "spy vs. spy" sound much better now) and CIA, so worth a new distribution. Have not tested much as I am still checking out some things (especially why the speech in "ghostbusters" and "impossible mission" don't work at the beginning but later - I assume some reset/init issue)...

The update is less about getting non-working games to run (lacking of time to debug in detail what these games miss, especially games I am not at all playing), but to get working ones even a bit smoother... wink


Re: C64 core talk

Just tried upgrading to the latest C64 core (08-13-2016) but when booting the core I get an error:

W Error during core boot
W Check the .ini file
E Could not open \Commodore_64\       (which is the folder my core is in)
W ROM upload to FPGA failed
W Error during core boot
W check the .ini file
E Execution stopped at INI line

Core from 11/07/15 gives me the same issue, but my old core dated 10-22-15 boots up fine.

Any suggestions?

Re: C64 core talk

Actually, even my 10-22-15 core is not right.  It does boot to a READY prompt, but none of the C64-specific menu options are there, no way to mount a disk, etc...


Re: C64 core talk

What's the ini file like that you're using?

Re: C64 core talk

Just the default.  I'll feel pretty stupid if there's something I should be changing:

# Replay INI file


#    "123456789012345678901234567890"
info = "  Replay/C64 (c) 2015 W.S."
info = ">>>  <<<"
info = "--- Joystick in Port A/B ---"
info = "-Keyboard in lower PS/2 prt-"

bin = c64_1541_1761.rpl

# sets initial clocking (PLL)
# M1, N1, M2, N2, M3, N3, ps0, ps1, ps2, ps3, ps4, ps5, pd0, pd1, pd2, pd3, pd4, pd5, ys0, ys1, ys2, ys3, ys4, ys5
CLOCK = 245, 1144, 343, 1375, 46, 423, 1, 4, 4, 0, 2, 0, 1, 14, 5, 1, 4, 1, 1, 1, 1, 0, 1, 0

# sets composite/svhs coder, if fitted

# sets video filter for all 3 channels
# dc=250mv, 9MHZ
VFILTER = 0, 0, 3

# tells the firmware what will be available after FPGA got configured
#         vid
en_twi =   1
#         cfg osd
en_spi =   1,  1

# replay button configuration
#        off / menu / reset
button = menu


# VGA/DVI settings, "EN_TWI" must be set to one !
#           0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x23 0x31 0x33 0x34 0x35 0x36 0x37 0x48 0x49 0x56
video =     0x00,0x48,0xC0,0x80,0x00,0x01,0x00,0x80,0x08,0x16,0x30,0x60,0x00,0x18,0xC0,0x00

# 2x32bit static+dynamic configuration bits, "CFG" in EN_SPI must be set to one!
# It is only required if no menu setup is given (which manipulates the settings as well)
#         31                             0,  31                             0
config = *11111111111111111111111111111111, *11111111111111111111111111111111


# enables verification feature, checks back any ROM/DATA upload

# C64 ROMs
ROM = basic.901226-01.bin,     0x02000,0x0001A000
ROM = characters.901225-01.bin,0x01000,0x0001D000
ROM = kernal.901227-03.bin,    0x02000,0x0001E000

# C64 monitor (last operand states it is a PRG file type
# with the start address in the first two bytes)
#ROM = mon/atmon-c000h, 0, 0, 1

# 1541 ROMs
ROM = 1541-c000.325302-01.bin, 0x02000,0x0004C000
ROM = 1541-e000.901229-03.bin, 0x02000,0x0004E000


title = "C64 Loader"

# loader menu, filters for "PRG" extension
# (requires ARM FW from 1mar2014 or newer)
item = "Load PRG to RAM" , loadselect, 0x00000000
#                           FFFFFFFFHRV
option = "*.PRG"         , *00000001000, flags

title = "1541 Disk Select"

# IEC bus address of 1541
item = "1541 IEC adr.",  0x00000300,static
option = "@8",           0x00000000,default
option = "@9",           0x00000100
option = "@10",          0x00000200
option = "@11",          0x00000300

# write protection override
item = "D64 WR protect", 0x00008000,dynamic
option = "ENABLED",      0x00008000,default
option = "DISABLED",     0x00000000

# loader menu, filters for D64 extension
item = "Set D64 Disk",cha_select, 0

title = "C64 SETTINGS"

item = "JOY swap/merge",  0x000000C0,dynamic
option = "default setup", 0x00000000,default
option = "both on low",   0x00000040
option = "both on up",    0x00000080
option = "swap low/up",   0x000000C0

item = "GEORAM module",   0x00000004,static
option = "enable",        0x00000004,default
option = "disable",       0x00000000

item = "GEORAM size",     0x00000018,static
option = "512 kB",        0x00000000,default
option = "1 MB",          0x00000008
option = "2 MB",          0x00000010
option = "4 MB",          0x00000018

item = "512k GEORAM img.", loadselect, 0x00780000
option = "*.IMG"         , 0,flags

title = "C64 DEBUG SETTINGS"

# module setting
item = "EXROM pin",        0x00000001,static
option = "/EXROM=1 (off)", 0x00000001,default
option = "/EXROM=0 (on)" , 0x00000000

item = "GAME pin",         0x00000002,static
option = "/GAME=1 (off)" , 0x00000002,default
option = "/GAME=0 (on)"  , 0x00000000

item = "VIC registers",  0x00000002,dynamic
option = "Show all",     0x00000002
option = "Hide all",     0x00000000,default

item = "VIC reg.pos.",   0x00000700,dynamic
option = "0 (top)",      0x00000000,default
option = "1",            0x00000100
option = "2 (middle)",   0x00000200
option = "3",            0x00000300
option = "4 (bottom)",   0x00000400

item = "Sprites",        0x00000001,dynamic
option = "enabled",      0x00000001,default
option = "disabled",     0x00000000

item = "Freeze core",    0x00000004,dynamic
option = "enabled",      0x00000004
option = "disabled",     0x00000000,default

title = "Audio/Video Setup"

item = "Video Mode",       0x00000020,dynamic
option = " HD 720x576p50", 0x00000020,default
option = " SD 720x576i50", 0x00000000

item = "Scanlines",        0x00000018,dynamic
option = "3...MAX",        0x00000018
option = "2...MED",        0x00000010
option = "1...MIN",        0x00000008,default
option = "0...OFF",        0x00000000

# HDs / Carts / Floppys etc
cha_cfg = "removable", D64

Re: C64 core talk

Hello what i have to write in the C64 INI File to get jiffydos Rom work for C1541 ?

The C64 Jiffydos Kernel works but the c1541 rom 8kb or 16 kb ?

Thanks and Regards Futuremen123

Re: C64 core talk

O Men i have found the Solution ,the must use two roms for Jiffydos to get work !