Home Page

Mac 0.209 Demoting

Posted By: Gregoire Duval

Mac 0.209 Demoting - 04/24/19 10:39 PM

Hi everyone,

I just saw the various macs got demoted since 0.209, and sure enough my previously working system (maciici-tuned System 7.6.1) can't boot anymore (but was, under 0.208).
So far, no surprises, I know reworking can break things :-)

I read in the changelog it's related to a missing VIA6522 emulation, but I don't really grasp the implications

Out of sheer curiosity, could someone help me shed some light as to what is this about ?
Posted By: Robbbert

Re: Mac 0.209 Demoting - 04/24/19 11:15 PM

I saw the demotion, so I decided to wage war on the 6522 by working on the AIM-65. This system hadn't worked correctly for at least 10 years, if ever, and it uses a 6522 to control everything that was broken.

To my surprise, once I'd fixed the AIM side of things, I found that all the needed parts of the 6522 were working - once the interface was understood. So in the end, the AIM works fully at last, and the 6522 remained untouched.

As for the mac - I have no idea. Perhaps there's other bugs not revealed by the AIM - I cannot know that.

Let's see what R.Belmont has to say.
Posted By: R. Belmont

Re: Mac 0.209 Demoting - 04/24/19 11:35 PM

Gregoire: Literally the only change is the "not working" warning at the beginning, everything should continue to work as well as it did in 0.208. (Update: some System versions work, some are busted now. I guess the MMU change for Domain/OS wasn't exactly right).

Robbbbbbert: The Mac, like the Native Americans with the buffalo, used every part of the 6522. In this particular case, the shifter is too broken to communicate with the keyboard on the 9" models and the 6805 on most everything else. And I'm fairly sure there's something amiss with the timers as well, because the Macs don't boot if I set the correct clock rate.
Posted By: Robbbert

Re: Mac 0.209 Demoting - 04/25/19 04:08 AM

The AIM uses the timer to communicate with the TTY by auto-detecting the baud rate when DEL is pressed at the start. This works, up to 1200 baud. It took a little longer to find out what protocol they used, since no manual states it anywhere (turned out to be 7 bits, odd parity, 1 stop bit).

The timer is also used for cassette timing. The AIM can now create a tape and load it back. I was unable to find real tapes to try though.

Lastly, I found a clock program, which I typed in and saved to tape. I compared the seconds against the computer clock, for a minute, and it kept exact time.

Even though I tried to find a bug in the 6522, I was not able to uncover one.

As for macs, really, I don't know anything about them. I don't know which ones are 9" ones and I have no idea what order the different models were produced. And I know you get upset if someone were to touch your code. So I leave well enough alone. Even though I'd love to investigate.
Posted By: R. Belmont

Re: Mac 0.209 Demoting - 04/25/19 11:54 AM

Vas compared the behavior with the data sheet and said it's too broken to be fixed, it has to be a rewrite, and I'm inclined to believe him from what I've seen. I'm sorry you think we're liars just because the least demanding, most common use cases work.
Posted By: Edstrom

Re: Mac 0.209 Demoting - 04/25/19 11:58 AM

The VIA driver is complex and the problems with the Mac's started in MAME0183 when I added support for triggering interrupts on the correct flanks of the shift clock and with a 50/50 duty cycle instead of 0/100 one. I needed that to get the BCD display in the Prodigy driver going.

I was notified about the problems with the Mac:s by RB but could not find a bug in the VIA introduced by my change and it looked like the VIA did its job. I observed however that the interrupt was triggered on the falling instead of the raising clock flank, iirc. Timingwise that should not have been a difference from having 100/0 duty cycle (raising and falling flank on the same timer event) as pre MAME0183.

My conclusion then was that the Mac driver had been made to work with the incorrect VIA behaviour and now fails and needs to be corrected. Now this could have been the wrong conclusion...
Posted By: R. Belmont

Re: Mac 0.209 Demoting - 04/25/19 12:38 PM

Pre-0.183 had a lot of other bugs that masked this one smile. I could make the cases where C code talked to the shifter work most of the time, but the cases where a program on an external 6805 was clocking the shifter never achieved correct communications after those changes. And when I asked Vas to look into the keyboard on the Plus (where an external 8021 clocks the shifter) he said the shifter was broken.
Posted By: Robbbert

Re: Mac 0.209 Demoting - 04/25/19 01:09 PM

Originally Posted by R. Belmont
I'm sorry you think we're liars just because the least demanding, most common use cases work.


No need to resort to insulting someone who is trying to help you. I'm simply reporting what I found. Sorry to have disturbed your thought patterns. I'll leave the repairs entirely to you.

I'd rather just delete my other posts since they are a waste of your time, except this effing forum won't let me.
Posted By: R. Belmont

Re: Mac 0.209 Demoting - 04/25/19 01:34 PM

No, it's fine, AJR and at least one user think I marked the drivers NOT_WORKING for funsies too.
Posted By: Gregoire Duval

Re: Mac 0.209 Demoting - 04/25/19 08:52 PM

Great 😊 thanks for this comprehensive answer.

And as for 0.209, an MMU-related problem could make sense, since I get a System 7 boot screen then it crashes with a system error as would a defective Mac (mame still runs fine)

Thanks for taking the time to answer me 😊 I guess I should build the current version then ^^
Posted By: AJR

Re: Mac 0.209 Demoting - 04/26/19 02:08 AM

I believe that the VIA shifter bugs may be masking unrelated IWM bugs.
© 2020 Forums