Previous Thread
Next Thread
Print Thread
Page 23 of 536 1 2 21 22 23 24 25 535 536
Joined: Apr 2004
Posts: 1,563
Likes: 12
J
Very Senior Member
Offline
Very Senior Member
J
Joined: Apr 2004
Posts: 1,563
Likes: 12
What Zero Wing seems to do is:
Code
1. request z80 bus
2. clear z80 reset
3. copy inital z80 "ram clear program" to the z80 ram area
4. start z80 reset
4. return z80 bus
5. clear z80 reset
6. do some stuff
7. start z80 reset
8. request z80 bus
9. clear z80 reset
10. copy sound program to the z80 ram area
11. start z80 request
12. return z80 bus
13. clear z80 reset

Followed by a long list of 'return z80 bus' and 'clear z80 reset' messages which shouldn't do much since the lines are already released.

At point 3 however, the z80 is actually running. I'd say that that is incorrect, it should be halted/wiating for the bus to be released.



Joined: Mar 2001
Posts: 17,215
Likes: 234
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 17,215
Likes: 234
Yeah, clearing reset AFAIK doesn't actually run the Z80 if the bus is held, so it shouldn't start running until step 5.

Joined: May 2004
Posts: 1,772
Likes: 34
H
Very Senior Member
Offline
Very Senior Member
H
Joined: May 2004
Posts: 1,772
Likes: 34
Originally Posted by R. Belmont
Yeah, clearing reset AFAIK doesn't actually run the Z80 if the bus is held, so it shouldn't start running until step 5.

From what I remember that's correct, it shouldn't run unless it's got the bus, and the reset line has been cleared.

In both reset high and non-bus state the z80 goes nowhere, and afaik that's how it used to behave.

Last edited by Haze; 04/27/09 06:55 PM.
Joined: Jan 2006
Posts: 3,691
Very Senior Member
Offline
Very Senior Member
Joined: Jan 2006
Posts: 3,691
speaking of broken systems, I tried to fix jaguar today (bug 1766). I came to the conclusion that somehow jaguar bios is loaded with the wrong endianness: if you start any jaguar cart, you see immediately that the CPU reads an illegal instruction rather than jumping to E00000 as expected.

culprit could be either ROM_LOAD (cojag uses a REGION32_BE) or the part of MACHINE_RESET(jaguar) where the first 0x10 bytes of the bios are copied to the shared RAM.

However, I haven't managed to fix it (probably because I used the wrong combination of ROM_REGION/ROM_LOAD....)
Has anyone any suggestion about this?

Joined: Mar 2001
Posts: 17,215
Likes: 234
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 17,215
Likes: 234
cojag uses a 32-bit processor. the endianness rules are different then.

Joined: Feb 2004
Posts: 55
E
Member
Offline
Member
E
Joined: Feb 2004
Posts: 55
Originally Posted by judge
At least in Zero Wing, it seems some weird z80 reset - 68k timing issue.

I added a comment to bug 1817 which includes some differences when running on PAL or a NTSC driver.

Joined: Jan 2006
Posts: 3,691
Very Senior Member
Offline
Very Senior Member
Joined: Jan 2006
Posts: 3,691
Originally Posted by R. Belmont
cojag uses a 32-bit processor. the endianness rules are different then.

You mean that also the M68k variant which runs area51t and a few other cojag games is completely different from the jaguar?

To me, it still sounds like the jaguar in MESS hasn't been updated correctly at some point... looking at the debug, it seems the game code is now shifted back of 8 bits. I will dig into it a bit more, tonight

Joined: Mar 2001
Posts: 17,215
Likes: 234
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 17,215
Likes: 234
eta: in MAME 16 and 32 bit processors store memory differently, even if they're the same family and endianness in real life. It's (part of) why it's harder than it should be to make a lot of things work on big-endian hosts.

Joined: Apr 2004
Posts: 1,563
Likes: 12
J
Very Senior Member
Offline
Very Senior Member
J
Joined: Apr 2004
Posts: 1,563
Likes: 12
Originally Posted by Haze
Originally Posted by R. Belmont
Yeah, clearing reset AFAIK doesn't actually run the Z80 if the bus is held, so it shouldn't start running until step 5.

From what I remember that's correct, it shouldn't run unless it's got the bus, and the reset line has been cleared.

In both reset high and non-bus state the z80 goes nowhere, and afaik that's how it used to behave.

I have sent a patch to fix this to the mamedev mailinglist, awaiting comments...

Joined: Dec 1999
Posts: 1,180
Likes: 2
J
Very Senior Member
Offline
Very Senior Member
J
Joined: Dec 1999
Posts: 1,180
Likes: 2
[Linked Image from img149.imageshack.us]

Page 23 of 536 1 2 21 22 23 24 25 535 536

Link Copied to Clipboard
Who's Online Now
1 members (1 invisible), 263 guests, and 1 robot.
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,923
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