Hello, Guest the thread was viewed16k times and contains 113 replies

last post from Freddy at the

Mega 65 emulator

  • Ah, I definitively missunderstood the outdated information on the github. Thanks.

    Which one? Please tell me, since I may need to re-edit my text if it's hard to follow (well, my English is not so perfect as you can see ...). I would like it to be clear :) Thanks.

    I am in the same boat regarding my English.

    The text is ok after reading a second time.

  • I have converted some .D64 files to .D81 files using DirMaster for the C64 mode in the Xemu emulator. Most of the .D81 files load but don't run. Using Vice the .D81 files run and work just fine. Has anyone else experienced this issue? I have also noticed using go64 it runs at 2mhz instead of 1mhz, sometimes it does get to 1mhz upon multiple Xemurestarts.

  • I have converted some .D64 files to .D81 files using DirMaster for the C64 mode in the Xemu emulator. Most of the .D81 files load but don't run. Using Vice the .D81 files run and work just fine. Has anyone else experienced this issue? I have also noticed using go64 it runs at 2mhz instead of 1mhz, sometimes it does get to 1mhz upon multiple Xemurestarts.

    The C64 mode in C65/Mega65 (which the Xemu emulates) is not very much compatible to the "real" C64, so not so much programs or games for the C64 will run.


    VICE emulates the C64, so there is no problem with C64 progarms.

  • Snoopy - where did you get this information? The C64 mode in C65 is really not that much compatible, but Mega65 has quite a lot of improvements; supports 6502 illegal instructions, VIC-II timing is much closer to the original, if I remember correctly there are some workarounds here and there.

    MadZ28 - XEMU is a rather crude emulator, it is by no means as precise as VICE.

  • Snoopy - where did you get this information? The C64 mode in C65 is really not that much compatible, but Mega65 has quite a lot of improvements; supports 6502 illegal instructions, VIC-II timing is much closer to the original, if I remember correctly there are some workarounds here and there.

    That are my experience with the Nexys board so far. The C64 mode isn't nearly as much compatible as an actual C64 emulator.


    Besides my personal opinion, that buying a Mega65 for using it as a C64 is like buying a Porsche for driving your kids to the nearby kindergarten. Maybe it works, but it is much to expensive and not very handsome for two or more kids. :)


    If you need a C64 then use a C64. ;)

  • Well yeah. Note, it's MEGA65. Not MEGA64. If someone wants a MEGA64, probably Ultimate64 is that :) Or such. What I tried to express here: the base of MEGA65 is C65 which is fairly not C64 compatible either. MEGA65 helps somewhat to easy those, but it won't be 100% ... My personal opinion that this was the issue of Commodore as well, they cannot invent anything new (in the name of 8 bit systems) since though everybody would love something new, they also wanted the same old (ie C64 compatibility ...).


    This is even true for the "real MEGA65". For Xemu, it's even more true, since there you can easily use a mature C64 emulator if you need C64 emulation. So even I don't care too much about C64 stuffs (meaning: Xemu/MEGA65's "C64 mode" won't be ever even as C64 compatible as MEGA65 can or will offer in this area), since it's more important to have MEGA65 compatibility, and human resources to develop emulation is limited. Just check out VICE or anything other can emulate C64, how many people and years of works and still have things to put in for better compatibility with the "real thing". Instead I spend my time for the more important side of emulation, ie MEGA65 itself, not the C64 side. Honestly, I can't even understand why people want to use a MEGA65 emulator as a C64 emulator ...

  • Snoopy - where did you get this information? The C64 mode in C65 is really not that much compatible, but Mega65 has quite a lot of improvements; supports 6502 illegal instructions, VIC-II timing is much closer to the original, if I remember correctly there are some workarounds here and there.

    MadZ28 - XEMU is a rather crude emulator, it is by no means as precise as VICE.

    Well, for C64 that is, but hard to compare Xemu with VICE, since VICE does not have MEGA65 emulation. And that is the important point, not the C64 mode, which I don't even care in Xemu, as you can use VICE for that, or things like that, for sure :)

  • I can't even understand why people want to use a MEGA65 emulator as a C64 emulator

    From the developer's point of view: for testing.


    Even if one is making a new C64 title actually, he may want to check for and ensure if it will also run on a MEGA65 (and not only on a real C64 or C128, or even a C65 or DTV etc.).


    And even if a C64 title has been started from a C64 mode of any other hardware, it may likewise optionally check for any extensions sometimes (like available turbo mode or extra memory).


    But an emulator is only useful for this purpose as far as it truly reflects the behaviour of the emulated hardware.

  • Well, yes I can't deny there is a use case like this, but it's a very marginal user case, and I simply do not have enough time (currently, at least) to go to that direction. I think it's much more important to have as best MEGA65 emulation as possible rather than to polish the "C64-only" side of things, especially because even MEGA65 itself will change in that direction still to get better results over time. And even just for MEGA65 for "true" C64 compatibility probably a separate core will be suggested, as for emulation, a separate C64 emulator. But indeed, it's useful, if MEGA65's level of C64 compatibility is achieved in the emulation, just currently there are more things with higher priority.


    Btw funny, I got bug reports that Xemu/MEGA65 can't run some C64 title correctly which turned out even not in VICE ;-P So that's a bit too much to ask then, I guess :) something "emulamer" it was, I cannot remember now ...

  • In other words, if some folks would like to step up and help LGB, you can get better C64 emulation in Xemga65 sooner. So much fun to be had making all the tools.


    LG

    Paul

    Well, basically yes. Just check out VICE how many people's work on it already and since how many years, and still not "perfect" (though perfect being 100% is something which is conceptionally problematic measure anyway) ... More is better, I guess.


    One thing is important though: there is no goal to make Xemu "C64 mode" better than MEGA65, because then it won't reflect the emulated machine any more. So it's important to be in parallel with MEGA65. This is one reason, this things a bit delayed since MEGA65 - as far as I can see - is in flux there to give better C64 compatibility, I would focus on MEGA65 features/etc more (for other reasons too, of course! - for example limited human resource to develop Xemu ...) _now_ at least! Surely I've never said I don't want to be as close to a real MEGA65 anyway, let it be C64 compatibility or any other area.

  • Maybe it is only my misunderstanding, but actually a "better" C64 emulation would be worse. It ought not to be better, nor worse, but should rather possibly match the behaviour of the C64 mode of the original hardware, which is in this case the MEGA65 (or in case of xc65.exe that's an original C65 etc.). Indeed, when writing a C65 or even a MEGA65 emulator, one should really not care about the C64 mode at all, since it is just part of the same system, so is just a mere consequence of the whole thing in itself. However, once an oddity or anomaly appears in it, that signs a mistake of the whole system (thus it can be considered backwards).


    Certainly VICE is the best C64 emulator today, which is very good, of course, but it still also has so many problems with the other machine types. Especially the C128 emulations (but also the CBM-II, Plus/4 etc.) are so far from the original in some respects (or only so loose instead of accurate) that it often happens that someone uses them to write some new software and later surprisingly gets disappointed seeing as it crashes (or is running strangely) on a real machine.


    VICE is the best one for C64, yet luckily by now there are better emulators for the other machines (e.g. YAPE for Plus/4 or Z64K for C128).

  • Yes, I agree. We'll see how Xemu/MEGA65 will go in the future. Currently - as I've written - C64 features (even to an extent what MEGA65 can do) currently are not so important for me, but that's because the lack of enough "horse power" to develop (so that features to be implemented most be prioritized) and the nature of MEGA65 development process, that it actually wants to be better in that area (thus will change likely not even once).


    That's my fault here to confuse you with "unrealistic C64 compatible wishes" kind of things. That happened, though nothing to do with this, as a MEGA65 emulator can't be "better" than the real hardware it wants to emulate, since then it's simply not accurate and actually worse. As you also pointed out. So it was not a misunderstanding, just I shouldn't have talked about two topics which are not so much connected only by the notion of "C64 compatibility" but not in the sense we're talking here now. Hah, I wonder how much understandable at all what I try to write :-O

  • There is some problem with the BOOT command in XEMU. (That's not a new thing though, since it had not been working in the older versions, either. I just mention it now, because I can't understand, why.)


    The BOOT command on C65 (as the same as on the C128) simply loads a program code to memory and jumps onto its first byte. It can be replaced with a LOAD and SYS command by hand. However, whenever I try it in XEMU, only the LOAD and SYS combo works always, but the BOOT doesn't. (It crashes with a "DMA writes its own registers" message.) Interestingly, it works well in the MESS emulator with the very same ROM's attached (but I don't know what's the case on real machines).


    Neither in xc65 or xmega65 (both react the same).


    I checked for doing it with my MemTest64 at many times, both in xc65 and xmega65, both with the earliest and latest ROM attached (910111.bin and 911001.bin), even with its bugfixed versions by Snoopy till now (from AB to AH).


    If I start it in this way, it runs:


    LOAD"MEMTEST.PRG",8,1

    SYS4865


    That's the very same that BOOT does. But if I try to start it so, it crashes:


    BOOT"MEMTEST.PRG"