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

New working machines (Casio CZ-230S and SZ-1) #11969

Merged
merged 7 commits into from Jan 26, 2024
Merged

Conversation

devinacker
Copy link
Contributor


Casio CZ-230S [BCM, =CO=Windler, Devin Acker]
Casio SZ-1 [BCM, Devin Acker]

This commit also:

  • adds the Panasonic MN1252 LCD controller
  • implements the bit in the uPD7810 MM register to enable/disable internal RAM (needed for cz230s which maps ROM in that area instead)
  • fixes the channel assignment bits in the uPD934

----------
Casio CZ-230S [BCM, =CO=Windler, Devin Acker]
Casio SZ-1 [BCM, Devin Acker]
@devinacker devinacker changed the title New working machines New working machines (Casio CZ-230S and SZ-1) Jan 26, 2024
case 2: // muted
case 3: // accented
{
const u8 ch = (data & 3) ^ 2; // effective order seems to be "2, 3, 0, 1"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why the ^ 2? I mean, all outputs go to the same speaker anyway, so the order shouldn't matter.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did that mostly so that the output ordering would still be correct for the RZ-1, since that does have the individual volume control and line outputs for each sample.

Comment on lines 32 to 35
u8 m_data;
u8 m_first_nibble;
u8 m_nibble_count;
int m_ce, m_std;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Members that need to be included in save states should use explicitly sized integers for portability. Please use u8 or something for m_ce and m_std.

Comment on lines 62 to 64
{
m_data = (data & 0xf);
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not very important, but the parentheses here don’t really make the expression clearer.

Comment on lines 22 to 37
#include "emu.h"

#include "ra3.h"
#include "bus/midi/midiinport.h"
#include "bus/midi/midioutport.h"
#include "cpu/upd7810/upd7811.h"
#include "imagedev/cassette.h"
#include "machine/clock.h"
#include "machine/nvram.h"
#include "sound/beep.h"
#include "sound/upd933.h"
#include "sound/upd934g.h"
#include "video/mn1252.h"

#include "screen.h"
#include "speaker.h"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you put a blank line after #include "ra3.h" to visually separate local project headers from the src/devices headers?

Comment on lines 544 to 549
void cz230s_state::render_w(int state)
{
if(!state)
return;

for (int digit = 0; digit < 6; digit++)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another minor formatting thing – this if statement is missing the space before the opening parenthesis of its control expression.

Comment on lines 585 to 586
auto& screen = SCREEN(config, "screen", SCREEN_TYPE_SVG);
screen.set_refresh_hz(60);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This right-associative unary & is on the left of the space, unlike the other ones which are on the right of the space.

@cuavas cuavas merged commit 8e9d6cc into mamedev:master Jan 26, 2024
5 checks passed
MooglyGuy pushed a commit to MooglyGuy/mame that referenced this pull request Jan 28, 2024
* cpu/upd7810: Added support for internal RAM.
* sound/upd934g.cpp: Corrected channel mapping for play sample command.
* video/mn1252.cpp: Added Panasonic MN1252 LCD controller emulation.
* casio/ra3.cpp: Added RA-5 8 KiB RAM cartridge.

New working systems
----------
Casio CZ-230S [BCM, =CO=Windler, Devin Acker]
Casio SZ-1 [BCM, Devin Acker]
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

Successfully merging this pull request may close these issues.

None yet

4 participants