Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Z80 BUSACK/BUSREQ/RESET pins #60

Open
carmiker opened this issue Jan 24, 2022 · 2 comments
Open

Z80 BUSACK/BUSREQ/RESET pins #60

carmiker opened this issue Jan 24, 2022 · 2 comments

Comments

@carmiker
Copy link
Contributor

Based on a comment in z80.h it looks like there are plans to implement the RESET pin, but I am curious if there are plans to emulate the BUSACK and BUSREQ pins (useful for Sega Mega Drive).

@floooh
Copy link
Owner

floooh commented Jan 27, 2022

Ah, I didn't know the MegaDrive uses BUSACK/BUSEQ, first system I know of!

No plans at the moment, since I'm currently busy with non-emulator stuff. I guess it would need to work similar to the WAIT handling (except that it needs to be checked each clock cycle? - I haven't looked yet into how BUSREQ works).

One thing I've been thinking about is to add a few config-defines to the header to switch on or off certain implementation features (for instance the WAIT handling is quite expensive, but many emulated systems don't even use wait states). The BUSREQ handling would probably be even more expensive, but also isn't needed by most systems.

@carmiker
Copy link
Contributor Author

carmiker commented Jan 29, 2022

I've not done the deep dive to find out exactly what happens cycle by cycle for BUSREQ and RESET handling, but I have done a (very crude) implementation in my Sega multi-emulator which I'm currently adding Mega Drive support to, and it generally works: https://gitlab.com/jgemu/cega/-/blob/master/src/cega_z80.c

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants