Previous Thread
Next Thread
Print Thread
Page 126 of 536 1 2 124 125 126 127 128 535 536
Joined: Aug 2009
Posts: 8
M
Member
Offline
Member
M
Joined: Aug 2009
Posts: 8
IIRC, with old PIO if I called port write with interrupt clear, it would mask interrupt requests completely, so no further interrupt was taken. That's why I was callin PIO port write only when interrupt line was active.

BTW, according to your changes descripton, handshaking inPIO was rewritten, but Megatouch doesn't use handshaking on PIO (I assume you are referring to READY lines). Maybe something else got broken then?

Mariusz.

Joined: Jul 2007
Posts: 4,625
A
Anna Wu Offline OP
Very Senior Member
OP Offline
Very Senior Member
A
Joined: Jul 2007
Posts: 4,625
Originally Posted by Curt Coder
Ok, I fixed Kaypro II/4 booting.

Problem was that PIO output register can apparently be written even when in input mode.

Another problem was that Kaypro II and 4 have disk side selection polarities switched.

Thank you Curt. smile

Joined: Feb 2005
Posts: 449
C
Senior Member
Offline
Senior Member
C
Joined: Feb 2005
Posts: 449
Originally Posted by mariuszw
IIRC, with old PIO if I called port write with interrupt clear, it would mask interrupt requests completely, so no further interrupt was taken. That's why I was callin PIO port write only when interrupt line was active.

BTW, according to your changes descripton, handshaking inPIO was rewritten, but Megatouch doesn't use handshaking on PIO (I assume you are referring to READY lines). Maybe something else got broken then?

I was able to get it working again by changing the PIO implementation slightly and adding 2 scanline timers to assert/clear the vblank interrupts. Need to check that other drivers are still working tomorrow.

I don't understand how the driver could ever have worked in the first place smile

Joined: Feb 2005
Posts: 449
C
Senior Member
Offline
Senior Member
C
Joined: Feb 2005
Posts: 449
Originally Posted by mariuszw
But this doesn't explain why Megatouch games break with new PIO, V9938 didn't change afterall.

They broke because they were signaling a vblank interrupt (60Hz) at about 0.5Hz. The lack of keep-alive ints made the Z80 code crash and a watchdog reset occured.

The new PIO cares about the fact that the logic equation has to go false->true before an interrupt is signalled. The old PIO just banged in interrupts one after another until the V9938 bothered to toggle the VINT line, thus creating an illusion of a working system.

At least that's how I understood it, anyway it works now smile

Joined: Jan 2006
Posts: 3,691
Very Senior Member
Offline
Very Senior Member
Joined: Jan 2006
Posts: 3,691
great! the new pio code definitely beats the old one in every aspects

on an unrelated note, can anyone point me to a d64 image with error codes (either giving me the TOSEC name or the file CRC). they should be recognizable by their size, 175531 byte vs. 174848

I'd like to test the improved support, but I have no test cases

EDIT: @Curt: is there any reason to still have two different implementation of the mos6530 in the source? can we remove mos6530.c?

Last edited by etabeta78; 02/18/10 07:50 AM.
Joined: Feb 2005
Posts: 449
C
Senior Member
Offline
Senior Member
C
Joined: Feb 2005
Posts: 449
Originally Posted by etabeta78
great! the new pio code definitely beats the old one in every aspects

on an unrelated note, can anyone point me to a d64 image with error codes (either giving me the TOSEC name or the file CRC). they should be recognizable by their size, 175531 byte vs. 174848

I'd like to test the improved support, but I have no test cases

EDIT: @Curt: is there any reason to still have two different implementation of the mos6530 in the source? can we remove mos6530.c?


I'm not sure if nibconv supports d64 errors, you could convert a G64 game which has a simple sector error protection (like Ocean loader in Rambo 3 PAL).

http://c64preservation.com/dp.php?pg=database (search for "Ocean" protection)

The miot6530 should be converted to use devcb, so I left the mos6530 in there so you could do a quick copypaste smile

Joined: Aug 2004
Posts: 1,458
Likes: 9
Very Senior Member
Offline
Very Senior Member
Joined: Aug 2004
Posts: 1,458
Likes: 9
The last pio change broke the super80.

Joined: Feb 2005
Posts: 449
C
Senior Member
Offline
Senior Member
C
Joined: Feb 2005
Posts: 449
Originally Posted by robbbert
The last pio change broke the super80.


How?

Joined: Aug 2004
Posts: 1,458
Likes: 9
Very Senior Member
Offline
Very Senior Member
Joined: Aug 2004
Posts: 1,458
Likes: 9
you changed the mode 3 interrupts.

So, it is interrupting constantly and cannot get started.

super80 shows a black screen, while super80v shows the title then hangs before getting to the prompt.

I've reverted my copy of pio back to r7411, and it all works fine there.

Last edited by robbbert; 02/18/10 11:54 AM.
Joined: Feb 2005
Posts: 449
C
Senior Member
Offline
Senior Member
C
Joined: Feb 2005
Posts: 449
Fixed super80.

Page 126 of 536 1 2 124 125 126 127 128 535 536

Link Copied to Clipboard
Who's Online Now
1 members (1 invisible), 292 guests, and 2 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,320
Posts121,930
Members5,074
Most Online1,283
Dec 21st, 2022
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Forum hosted by www.retrogamesformac.com