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

missing read register function #20

Open
Raffaello opened this issue Sep 5, 2022 · 8 comments
Open

missing read register function #20

Raffaello opened this issue Sep 5, 2022 · 8 comments

Comments

@Raffaello
Copy link

Is there a way to read the register?
The basic functionality to read the status register looks like is missing as well as the 2 timers.

@fawtytoo
Copy link

What purpose would they serve in this emulator?

@Raffaello
Copy link
Author

aren't those part of the OPL3 chip?
The purpose so is basically having a OPL3 chip emulator to be complete and "ready to be used".
i don't think is a complete OPL3 chip emulator if you can't read its status register.

@fawtytoo
Copy link

I agree it's part of an OPL3 chip. But what would you use it for in an emulator?

@Raffaello
Copy link
Author

If it is an "emulator" it should emulate an OPL3 chip and if you don't have a status register you can't emulate on OPL3 chip.

btw, this is not a full emulator is just an OPL3 sound generator if you'd like.

sorry, but i don't really understand your questions.
It is like you are repeating the same question discarding the answers i gave you already as the previous one was enough to stop asking questions.

Let's do in this way, you know tell me:
Why are you happy that there is no status register in nuked opl3 chip?
And why you are against to have it?

@fawtytoo
Copy link

I'm neither against nor for. As it's your suggestion, perhaps you could elaborate on what use is would serve other than "completeness".

BTW I think the focus of this emulator is accuracy, not completeness.

@Raffaello
Copy link
Author

not sure what is your point at the very end.
You are just not going in any direction to resolve this issue through any discussion, to neither implement it or discarding it.
I don't understand why you care so much on this issue like if you were a collaborator of this repo.

Anyway again thanks for your comment, but this emulator can't be accurate if it doesn't neither provide a status register that is something in the OPL3 or its timers.

As an emulator this can't be used "as it is", to create a virtual OPL3 card and a driver to use it like for .e.g one provided in munt for mt32.

besides, every software evolve from its own primordial vision during time anyway or it will be just replaced by something else.

anyway.
I have implemented by myself already the missing status register that i was asking for, but i still think the "emulator" should have it as it is a foundamental part of an OPL3 chip. Instead as it is now must be implemented outside of it.

I would understand if this could not be important because before of it, it must improve the accuracy of the wave generators and opl3 operators and the status register or whatever is a very low importance to have it.

So,
this is good to generate OPL3 sounds, but can't emulate an OPL3 chip as you can't simply read a status register from it, so it shouldn't be defined as an highly accurate OPL3 chip emulator when it still missing the basic, bur rather highly accurate OPL3 chip wave generator eventually.

@fawtytoo
Copy link

As an emulator this can't be used "as it is", to create a virtual OPL3 card and a driver to use it like for .e.g one provided in munt for mt32.

Now I understand. This is what I was trying to get at. To use it with something else, those missing bits may be vital. This is what I meant from the beginning: what's the purpose of having that register?

@pachuco
Copy link

pachuco commented Jul 31, 2023

Two things come to mind:

  1. Hardware detection and timing emulation. DOS apps using register reads for above two. This can be solved by emulating reads+writes separately(DOSBox does this).

  2. The likes of YMF289(OPL3 variant) that allow musical registers to be read back.

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

3 participants