Previous Thread
Next Thread
Print Thread
Page 20 of 536 1 2 18 19 20 21 22 535 536
Joined: Feb 2005
Posts: 449
C
Senior Member
Offline
Senior Member
C
Joined: Feb 2005
Posts: 449
Originally Posted by etabeta78
I see the problem was in the Z80 tables...

Just a silly question: what are the Z80 cycle tables doing outside the Z80 CPU core?

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
Aaron needed to do that to emulate the super-weird Sega System 1 timing where opcode fetches are slower than operands or something like that.

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
They are basically all hacks until waitstates can be properly supported in the core.

Joined: Mar 2006
Posts: 1,079
Likes: 6
L
Very Senior Member
Offline
Very Senior Member
L
Joined: Mar 2006
Posts: 1,079
Likes: 6
I never understood why waitstates are so difficult to support.
Then again, I never really looked at the way the code works.

I sort of envision it working as an AM_WAITSTATE(cycles_to_steal) call within cpu-specific memory and i/o regions (this would be for 'simple' fixed waitstates for specific memory or i/o accesses, where the cpu clock divider and specific chip/device states are irrelevant; the ibm-pc is an example of this); and an AM_WAITSTATE_FCT(function_name) for more complicated spots which use different/optional waitstates depending on cpu mode/divider/value_written/etc.
The function would be passed the masked offset within cpu space, data for a write or read, and a cpu and device pointer(for AM_WAITSTATE_DEV?), etc. and would return the number of cycles to steal/waitstates for that particular access.
A good example of a (future)device which needs this is the PHP1500 tms5200-based speech module for the TI99/4(A), since the /READY line from the tms5200 controls the WAIT input for the main cpu; the tms5200 will halt the cpu during all reads and writes from/to it. (the exact number of cycles reads and writes take is determined by the state tables of the tms5200 and its zero or more VSM chips. This is one of those 'un-fun but inevitably needed' things to emulate.)

In addition, devices (and code in /machine/ ?) could 'force' waitstates (along with forcing cpu to catch up before waitstates are taken) using a cpu tag; this is important for the DMA chip in the ibm-pc iirc, and is also important for sprite chips which halt one or more cpus, used in all sorts of places.

This is all theoretical though, as I have NO idea how complex this would be to code. Judging by the fact that it hasn't been done, I guess its in the 'brain-bleeding' difficulty area.
Feel free to correct me if I'm wrong, though.

LN

Last edited by Lord Nightmare; 04/17/09 05:55 PM. Reason: add example

"When life gives you zombies... *CHA-CHIK!* ...you make zombie-ade!"
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
SVN 4525 windows build

Kaypro4 driver

If I start with windows GUI, I get a crash
Quote
AppName: messui.exe AppVer: 0.130.1.0 ModName: messlib.dll
ModVer: 0.0.0.0 Offset: 0029f35b

Same problem on command line.

Content of kaypro4.zip:
omni_ii_u43.bin
onmi_ii_u47.bin

NGPC driver

Cannot audit/find driver.

Content of ngpc.zip:
ngp_bios.ngp
ngpcbios.rom

Last edited by Anna Wu; 04/20/09 06:09 AM.
Joined: Aug 2004
Posts: 1,458
Likes: 9
Very Senior Member
Offline
Very Senior Member
Joined: Aug 2004
Posts: 1,458
Likes: 9
You have wrong roms in kaypro4.zip

Both drivers are under construction and are bound to have problems.

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
The neogeo pocket driver is not enabled yet (the main cpu core is not in subversion).

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
OK, i was too hasty. Thanks ! smile

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 robbbert
You have wrong roms in kaypro4.zip

Both drivers are under construction and are bound to have problems.

OK, i add :

81-146.u43
81-232.u47

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 judge
The neogeo pocket driver is not enabled yet (the main cpu core is not in subversion).

Have fun with the drivers smile They are enabled now.

Page 20 of 536 1 2 18 19 20 21 22 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