Home Page
Posted By: friol c65 broken in mess 0.149? - 08/30/13 07:43 PM
As in subject.
Posted By: Just Desserts Re: c65 broken in mess 0.149? - 08/30/13 07:54 PM
Define "broken".
Posted By: Anna Wu Re: c65 broken in mess 0.149? - 08/31/13 06:35 AM
Maybe Curt can take a look?
Posted By: Curt Coder Re: c65 broken in mess 0.149? - 08/31/13 07:04 AM
It has been broken for a long time because of banking. I'd rather not look at it too closely wink
Posted By: friol Re: c65 broken in mess 0.149? - 08/31/13 07:13 AM
broken==it gives me just a black screen
Posted By: Anna Wu Re: c65 broken in mess 0.149? - 08/31/13 07:26 AM
Meanwhile you can try the high-level HI65 emulator as an alternative.
Posted By: friol Re: c65 broken in mess 0.149? - 08/31/13 07:54 AM
That's a simulator, not an emulator, even if the author calls it an "high level emulator". It doesn't even have the blinking cursor.

I was trying MESS for a *real* emulation, but discovered that something broke...
Posted By: Anna Wu Re: c65 broken in mess 0.149? - 08/31/13 08:03 AM
Originally Posted By friol
That's a simulator, not an emulator, even if the author calls it an "high level emulator". It doesn't even have the blinking cursor.

I was trying MESS for a *real* emulation, but discovered that something broke...


Another alternative does not exist. smile
Posted By: etabeta78 Re: c65 broken in mess 0.149? - 08/31/13 09:13 AM
@friol: you can use an old MESS version. Around 0.135, it was working to the point of running the demo contained in one of the bios revision

it started falling apart when the work on c64 accuracy started, so that it's not really of use currently, but I'm sure that eventually we will get it back to working state
Posted By: friol Re: c65 broken in mess 0.149? - 08/31/13 09:45 AM
I can't find old MESS binaries, even googling.

This page

http://www.mamedev.org/oldrel.html

has only MAME versions.

BTW, I've taken a look at the debugger, and c65 driver starts executing from 0x0000 a series of brk instructions (this with MESS 0.149). Is that normal?

I would try to debug with MESS 0.135, if only I could find it.
Posted By: remax Re: c65 broken in mess 0.149? - 08/31/13 09:48 AM
http://www.progettosnaps.net/mess/links.html
Posted By: friol Re: c65 broken in mess 0.149? - 08/31/13 11:42 AM
Ok, thanks for the link.

With MESS 0.135, c65 works.

Code execution starts at 0xE4B8, instead of 0x0000 with version 0.149, and there is meaningful code at 0xE4B8.
Posted By: judge Re: c65 broken in mess 0.149? - 08/31/13 12:15 PM
It seems it might have gotten broken by the 6502 rewrite.

The port support that is there for the 6510 seems to be missing for the 4510.

This code in c65_bankswitch isn't gong to bank switch much:
Code:
    data = 0x00; // machine().device<m4510_device>("maincpu")->get_port();
    if (data == m_old_data)
        return;

Posted By: Devil Master Re: c65 broken in mess 0.149? - 09/19/13 04:11 PM
Originally Posted By friol
That's a simulator, not an emulator, even if the author calls it an "high level emulator". It doesn't even have the blinking cursor.

Well, what do you know? Version 2 is out, and it does have a blinking cursor! As well as 1D array support, more resolutions, windowed mode, some bugfixes and some easter eggs. The URL is always the same: http://devilmaster.altervista.org/hi65.html .
Posted By: R. Belmont Re: c65 broken in mess 0.149? - 09/19/13 04:19 PM
Quote:
Emulating the Commodore 65 with a low-level approach is not "accurate" and it's more than pedantic: it's a self-defeating task.


That's funny, I'll have to tell the makers of VICE, UAE, bsnes, DOSBox, Stella, etc, etc. that hardware-level emulation is a self-defeating task.

The problems you see with the C65 support are because nobody "on staff" knows anything about the machine, so we are unable to fix it. If you do, you know how to send us patches smile
Posted By: Devil Master Re: c65 broken in mess 0.149? - 09/19/13 04:39 PM
Originally Posted By R. Belmont
Quote:
Emulating the Commodore 65 with a low-level approach is not "accurate" and it's more than pedantic: it's a self-defeating task.


That's funny, I'll have to tell the makers of VICE, UAE, bsnes, DOSBox, Stella, etc, etc. that hardware-level emulation is a self-defeating task.

That's funny too, because I didn't know that VICE, UAE, bsnes, DOSBox, Stella, etc, etc. emulated the Commodore 65 with a low-level approach.
Posted By: Anna Wu Re: c65 broken in mess 0.149? - 09/19/13 04:40 PM
Thanks for the news, Devil Master. smile
Posted By: R. Belmont Re: c65 broken in mess 0.149? - 09/19/13 04:42 PM
Oh, so the C65 is unique in computer history in being unemulatable at the hardware level? They must've had some good stuff in the water in West Chester smile
Posted By: Anna Wu Re: c65 broken in mess 0.149? - 09/19/13 04:48 PM
Quote:
... Version 2 is out, and it does have a blinking cursor! As well as 1D array support, more resolutions, windowed mode, some bugfixes and some easter eggs. The URL is always the same: http://devilmaster.altervista.org/hi65.html .


The audio is still not supported, right?
Posted By: Just Desserts Re: c65 broken in mess 0.149? - 09/19/13 05:13 PM
Originally Posted By Devil Master
Originally Posted By R. Belmont
Quote:
Emulating the Commodore 65 with a low-level approach is not "accurate" and it's more than pedantic: it's a self-defeating task.


That's funny, I'll have to tell the makers of VICE, UAE, bsnes, DOSBox, Stella, etc, etc. that hardware-level emulation is a self-defeating task.

That's funny too, because I didn't know that VICE, UAE, bsnes, DOSBox, Stella, etc, etc. emulated the Commodore 65 with a low-level approach.


Fuck off, you insufferable wanker.
Posted By: Anna Wu Re: c65 broken in mess 0.149? - 09/19/13 05:20 PM
JD, calm down. smile
Posted By: Stiletto Re: c65 broken in mess 0.149? - 09/19/13 05:20 PM
Originally Posted By R. Belmont
They must've had some good stuff in the water in West Chester smile


They DO! laugh
Posted By: Devil Master Re: c65 broken in mess 0.149? - 09/19/13 05:22 PM
Originally Posted By R. Belmont
Oh, so the C65 is unique in computer history in being unemulatable at the hardware level? They must've had some good stuff in the water in West Chester smile

Oh, it is emulatable, all right. As long as you can find the answers to questions like
"These two C65s behave differently when executing this routine, which behavior must be considered correct?"
"This C65 does something that does not make sense, and the manual says it should do something else: should the emulator reproduce the former behavior for hardware accuracy, or the latter for logical consistency?"
"This part is described in the manual but is missing in the actual machine: in order to achieve maximum accuracy, should I emulate it or not?"
"The manual describes a feature, but does not say anything about how it's accessed on the actual machine: should I avoid to implement it and break compatibility with the actual machine, or code it the way I guess it's used and break compatibility with the actual machine?"

In short, it can be done that way, but it's just not worth the hassle, which is why I did not do it that way.
Originally Posted By Anna Wu
The audio is still not supported, right?

Right.
Originally Posted By Just Desserts
Fuck off, you insufferable wanker.

Thank you for your kind words, sir. I shall take them into great consideration, because you obviously are a sophisticated, intelligent person whose knowledge of the Commodore 65 is higher than anyone else's on this forum.
Posted By: Anna Wu Re: c65 broken in mess 0.149? - 09/19/13 06:25 PM
Originally Posted By Anna Wu
Quote:
... Version 2 is out, and it does have a blinking cursor! As well as 1D array support, more resolutions, windowed mode, some bugfixes and some easter eggs. The URL is always the same: http://devilmaster.altervista.org/hi65.html .


The audio is still not supported, right?


A direct program editing with copy/paste function will be not bad. smile
Posted By: Devil Master Re: c65 broken in mess 0.149? - 09/19/13 06:28 PM
Originally Posted By Anna Wu
A direct program editing with copy/paste function will be not bad. smile

I might add something like that for the next release, as part of the Hi65 Launch Tool.
Posted By: Anna Wu Re: c65 broken in mess 0.149? - 09/19/13 06:30 PM
okidoki smile
Posted By: Haze Re: c65 broken in mess 0.149? - 09/19/13 07:02 PM
Originally Posted By Devil Master

"These two C65s behave differently when executing this routine, which behavior must be considered correct?"


You find out why, and provide emulation of both models, assuming one isn't just faulty due to HW failure.

This is far from specific to the C65, different ZX Spectrum models (even ones that look the same externally) have slightly different behavior and there are some games that are incompatible with certain board revisions. The professional emulators emulate every timing detail / side-effect of every official model at a low level.

Quote:

"This C65 does something that does not make sense, and the manual says it should do something else: should the emulator reproduce the former behavior for hardware accuracy, or the latter for logical consistency?"


You do what the hardware does, what the manual says is irrelevant.

Quote:

"This part is described in the manual but is missing in the actual machine: in order to achieve maximum accuracy, should I emulate it or not?"


If it's not there you don't emulate it, if it's optional, you make it an option.

Quote:

"The manual describes a feature, but does not say anything about how it's accessed on the actual machine: should I avoid to implement it and break compatibility with the actual machine, or code it the way I guess it's used and break compatibility with the actual machine?"


You run tests on the hardware to figure out how it works, or figure out how it works based on software that needs it. We do this all the time, for hundreds of machines.

Quote:

In short, it can be done that way, but it's just not worth the hassle, which is why I did not do it that way.


This is your opinion, trying to HLE everything is actually more hassle in the long run and will only lead to people writing bad code for the system that doesn't stand a chance of running on any real machine.
Posted By: Devil Master Re: c65 broken in mess 0.149? - 09/19/13 07:26 PM
Originally Posted By Haze
trying to HLE everything is actually more hassle in the long run and will only lead to people writing bad code for the system that doesn't stand a chance of running on any real machine.

In this particular case, HLE is something I can afford. After all, most C65 owners care more about the integrity of their hardware than they do about running software on it, so they will keep it locked inside a glass cabinet and never turn it on. Case in point: last year I went to a retrocomputing exhibit where I've been able to see and touch a C65, but when I asked the owner to switch it on, he refused because "some circuits might get burned". Another retrocomputing enthusiast told me just today that he likes collecting original machines, but he always ends up running the software on emulators because they are far more practical. So, if people start writing C65 code, the probability that that code will ever be loaded on an actual C65, with its quirks and bugs, is extremely low smile

Although, if we were talking about a C64 emulator, I would agree about your position on HLE, because of the abundance of C64 software that exists, that must be run on a low-level emulator because it exploits all kinds of quirks of the original hardware.
But I'll never make a C64 emulator anyway: considering the quality of those that already exist, I'd be just reinventing the wheel.
Posted By: judge Re: c65 broken in mess 0.149? - 09/19/13 08:20 PM
Btw, there's an undumped PAL at U22.
Posted By: Just Desserts Re: c65 broken in mess 0.149? - 09/19/13 09:12 PM
Originally Posted By Devil Master
In this particular case, HLE is something I can afford.


Huh, there are a bunch of arcade boards supported in MAME that are either priceless due to being unique prototypes/location tests, or are roughly the same cost as what C65 protos go for at auction. Fuck it, we should just HLE those games too, right?
Posted By: Devil Master Re: c65 broken in mess 0.149? - 09/19/13 09:34 PM
Originally Posted By Just Desserts
Originally Posted By Devil Master
In this particular case, HLE is something I can afford.


Huh, there are a bunch of arcade boards supported in MAME that are either priceless due to being unique prototypes/location tests, or are roughly the same cost as what C65 protos go for at auction. Fuck it, we should just HLE those games too, right?

If I wanted to write a program that emulates one or more such boards, I'd consider the following:
1) nobody would write software that exploits the design flaws of those boards
2) the result (getting their existing software to run) would be the same, if not more elegant (due to bugs not being emulated and the entire game code being processed at a higher level of abstraction)
3) portability of the emulator would not be affected
and then I would come to the conclusion to use HLE.
Note that I never said that you should, just that I would. And of course, I would not even try to submit my code to the MAME team, because it would never be accepted. I would just make my own emulator instead.
© Forums