Sound!

90 views
Skip to first unread message

Christer Karlsson

unread,
Aug 9, 2025, 3:39:49 PM8/9/25
to RC2014-Z80
I have two questions.

1) I have both a Why Em-Ulator Sound Module and a rev 5 RC2014 YM/AY Sound Card with an AY-3-8910 PSG in.  Both works flawlessly in both my Z80 systems (one RC2014 CP/M, and one RomWBW), using both TUNE and VGMPLAY, but neither works with my SC792 – RCBus Z180 system. No sound what so ever. It is obvious that I am doing something wrong. Has anyone of you managed to get either of these to work with the SC792?

2) I also have one of Ed Brindley's RC2014-YM2151. I can make it play using BASIC using 0xFE and 0xFF, but VGMPLAY is not working. I have tried to re-compile the assembly such that it uses RCBUS, and 0xD8 and 0xD0 for the AY-3-8910. Then it works, but doing the same and use 0xFE and 0xFF for the YM-2151 is not working. I do not have both cards in at the same time, so I doubt that is the conflict. Anyone have any thoughts on this? Once again, I think it is something very obvious I am missing.

Wayne Warthen

unread,
Aug 9, 2025, 10:21:12 PM8/9/25
to RC2014-Z80
On Saturday, August 9, 2025 at 12:39:49 PM UTC-7 Christer Karlsson wrote:
1) I have both a Why Em-Ulator Sound Module and a rev 5 RC2014 YM/AY Sound Card with an AY-3-8910 PSG in.  Both works flawlessly in both my Z80 systems (one RC2014 CP/M, and one RomWBW), using both TUNE and VGMPLAY, but neither works with my SC792 – RCBus Z180 system. No sound what so ever. It is obvious that I am doing something wrong. Has anyone of you managed to get either of these to work with the SC792?

Are they strapped for MSX (0xA0) or RC2014 (0xD0)?  If strapped at 0xD0, they won't work on a Z180 because ports 0xC0-0xFF are usurped by the Z180 internal registers.  Should work when strapped for MSX (0xA0).

2) I also have one of Ed Brindley's RC2014-YM2151. I can make it play using BASIC using 0xFE and 0xFF, but VGMPLAY is not working. I have tried to re-compile the assembly such that it uses RCBUS, and 0xD8 and 0xD0 for the AY-3-8910. Then it works, but doing the same and use 0xFE and 0xFF for the YM-2151 is not working. I do not have both cards in at the same time, so I doubt that is the conflict. Anyone have any thoughts on this? Once again, I think it is something very obvious I am missing.

What platform(s) are you using to test?  You mention 3 in your first question.  VGMPLAY is still kind of experimental (project of Phillip Summers).  I will take a look at the code when I have more time.

Thanks, Wayne

Christer Karlsson

unread,
Aug 10, 2025, 9:02:29 AM8/10/25
to rc201...@googlegroups.com
Hi Wayne,

Thank you, I still have problems.

1) (SC792 Z180) 
Yes, both the Why Em-Ulator Sound Module and a the rev 5 RC2014 YM/AY Sound Card are set-up to use 0xA0, when I run:
tune yeolde.pt3 -msx

Tune Player for RomWBW v3.12, 12-Dec-2024
MSX Standard Ports (A0H/A1H), timer mode

Song name: brd.xm.ye.olde.chiptune.=).cover
by:        lhs\dfs.->.wbcbz7.zoozzolb.ts.ay

Playing...
Everything is silent, and I have to reboot to get out of the program.  If I run:
tune yeolde.pt3 --hbios

Tune Player for RomWBW v3.12, 12-Dec-2024

Hardware error, sound chip not detected!
both with and without the -msx flag. 

Looking at the boot message I of course see why the --hbios is not working.
RomWBW HBIOS v3.5.0, 2025-04-04

Small Computer SC700 [SCZ180_sc700_std] Z8S180-N @ 18.432MHz IO=0xC0
0 MEM W/S, 2 I/O W/S, INT MODE 2, Z180 MMU
512KB ROM, 512KB RAM, HEAP=0x20CA
ROM VERIFY: 00 00 00 00 PASS

LCD: IO=0xAA NOT PRESENT
ASCI0: IO=0xC0 ASCI W/BRG MODE=115200,8,N,1
ASCI1: IO=0xC1 ASCI W/BRG MODE=115200,8,N,1
DSRTC: MODE=STD IO=0x0C Sun 2025-08-10 05:49:15 CHARGE=OFF
MD: UNITS=2 ROMDISK=384KB RAMDISK=256KB
FD: MODE=RCWDC IO=0x50 NOT PRESENT
IDE: IO=0x10 MODE=RC
IDE0: NO MEDIA
IDE1: NO MEDIA
PPIDE: IO=0x20 PPI NOT PRESENT
SD: MODE=SC OPR=0x0C CNTR=0xCA TRDR=0xCB DEVICES=1
SD0: SDSC NAME=SU02G BLOCKS=0x003AF000 SIZE=1886MB
CH0: IO=0x3E NOT PRESENT
CH1: IO=0x3C NOT PRESENT
So I guess I have missed something in the configuration.

2) (YM2151) The three system I have are:
* RC21014 Pro
- z80 2.1 CPU Module
- Pageable ROM Module
- 64k RAM Module
- Dual Serial SIO/2 Module
- Compact Flash Storage Module
- Dual Clock Module
- ESP8266 WiFi Module
On this one both the Why Em-Ulator Sound Module and a the rev 5 RC2014 YM/AY Sound Card are working with both TUNE and VGMPLAY.

* RC2014 Zed Pro
- Z80 2.1 CPU Module
- 512k ROM 512k RAM Module
- Dual Serial SIO/2 Module
- Dual Clock Module
- Compact Flash Storage Module
- DS1302 Real Time Clock Module
- Universal Front Panel I/O Kit for RomWBW
- LCD Driver Module (4x20 Display)
- RC2014 IDE Hard Drive Module (currently no disk connected)
All this is in a Blue Box enclosure,  and both the Why Em-Ulator Sound Module and a the rev 5 RC2014 YM/AY Sound Card are working with both TUNE and VGMPLAY.
But the Zed Pro show the same behaviour as the SC792, the AY8910 does not show up when booting HBIOS.

* SC792 – RCBus Z180 Computer
- SC722 – Z180 CPU module
- SC721 – 1MB linear memory module
- SC727 – RCBus RTC Module (DS1302)
- SC715 – RCBus Compact Flash Module (currently empty I use the SD card on the SC722)
- SC704 – RCBus I2C Bus Master (currently nothing connected)

I can get the YM2151 to make sounds using BASIC, but I cannot get anything out of it using VGMPLAY.  
I have re-assembled VGMPLAY.ASM using the RC2014 flag for the Pro system so it will not automatically default to sbc systems using:
.\TASM.EXE -80 -b -RC2014 .\VGMPLAY.ASM VGMPLAY.COM, and the platform specifics in the VGMPLAY.ASM reads:
.IF RC2014
RSEL            .EQU    0D8H                ; Primary AY-3-8910 Register selection
RDAT            .EQU    0D0H                ; Primary AY-3-8910 Register data
RSEL2           .EQU    0A0H                ; Secondary AY-3-8910 Register selection
RDAT2           .EQU    0A1H                ; Secondary AY-3-8910 Register data
PSGREG          .EQU    0FFH                ; Primary SN76489
PSG2REG         .EQU    0FBH                ; Secondary SN76489
YM2151_SEL      .EQU    0FEH                ; Primary YM2151 register selection
YM2151_DAT      .EQU    0FFH                ; Primary YM2151 register data
YM2151_SEL2     .EQU    0D0H                ; Secondary YM2151 register selection
YM2151_DAT2     .EQU    0D1H                ; Secondary YM2151 register data
FRAME_DLY       .EQU    15                  ; Frame delay (~ 1/44100)
                .ENDIF
I have also tried Ed Brindley's version of vgmplay from his Github-repo, still just silence.  Here I am of course not surprised that HBIOS does not recognize the YM2151 as it is not in the hardware list to be recognized.

As you can see I have had a slight compulsive behaviour building these things, and I would really like the to work ;) 

/C

--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
To view this discussion, visit https://groups.google.com/d/msgid/rc2014-z80/525d4003-7ab5-48f0-ab76-c13c3cdb9337n%40googlegroups.com.

Spencer Owen

unread,
Aug 10, 2025, 9:23:46 AM8/10/25
to rc201...@googlegroups.com

Hi Christer,

The Why Em-Ulator is an output only device, unlike the genuine YM2149/AY-3-8910. This means that when RomWBW tries to detect it, it doesn't get any response from it.

In the config file you can set it to appear in RomWBW by setting the AY_FORCE setting to TRUE. The bottom of your config file should look something like this

AY38910ENABLE    .SET    TRUE        ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AYMODE        .SET    AYMODE_RCZ80    ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
AY_FORCE    .SET    TRUE        ; AY: BYPASS AUTO-DETECT, FORCED PRESENT

Hope that helps

Spencer

Christer Karlsson

unread,
Aug 10, 2025, 9:32:01 AM8/10/25
to rc201...@googlegroups.com
Thank you Spencer,

That was what I was looking for, I knew I had read it somewhere here, but I could not find it! 

/C

Reply all
Reply to author
Forward
0 new messages