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
qbus device: DVK "MX" floppy controller #11840
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I’ve mostly noticed formatting issues.
This is floppy stuff which I’m not the most qualified to review. @galibert can you review the floppy controller implementation in src/devices/bus/qbus/dvk_mx.cpp?
@shattered Are you going to clean up these issues? |
src/devices/bus/qbus/dvk_mx.cpp
Outdated
flopi[i].id = i; | ||
name[0] = '0' + i; | ||
name[1] = 0; | ||
floppy_connector *con = subdevice<floppy_connector>(name); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please go for a required_device_array, it's rather nicer.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure how to use it here, tbh.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You have a member like:
required_device_array<floppy_connector, 4> m_connectors;
Initialise it like:
m_connectors(*this, "%u", 0U)
And then you can just do like m_connectors[i]->whatever()
and use it in place of literal tag string in the machine configuration function as well.
|
||
uint16_t read(offs_t offset); | ||
void write(offs_t offset, uint16_t data); | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like that fdc can't interrupt the main cpu. If it's the case there is a somewhat better structure than predict/commit (like the wd/upd/amiga do), it's catchup on access (like diskii/iwm/swim1-2). But it's good anyway.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have another floppy code in the works, will look into that.
No description provided.