kolleykibber
Posts: 1
Joined: Fri Jan 29, 2021 7:36 pm

Z80 dart Ring Indicator and cpc_rs232 commented line

Hi.

I've been looking into the cpc_rs232 amstrad/pace interface and the COMMSTAR Rom software. It seems that the software won't run due to the ring indicator bit 4 of RR0 being high when it's expected to be 0. The software works if RR0 bit 4 is set low.

Line 55 in /devices/bus/cpc/cpc_rs232.cpp where channel a ring indicator handler is set is

Code: Select all

 //   m_rs232->ri_handler().set(m_dart, FUNC(z80dart_device::ria_w));
This is commented out. If this is uncommented then all works. I've tried a few different pieces of mid 80's comms software and all is good.

Reading between the lines of forum posts back in 2014. It seems that the z80 dart emulation has been improved since then and I think now's the time to reinstate that line.

I am new to Mamedev and haven't raised a pull request before. I can do so, but given that someone has already uncommented that line, I thought I'd post here to ask what was best.

Thanks


The lines in the cpc_ser/COMMSTAR1.ROM that read the z80 dart RR0 are:

Code: Select all

                LD      BC,&FADD                ;;F102:   ...     01 DD FA
                LD      A,&18                   ;;F105:   >.      3E 18
                OUT     (C),A                   ;;F107:   .y      ED 79
                LD      A,&10                   ;;F109:   >.      3E 10
                OUT     (C),A                   ;;F10B:   .y      ED 79
                LD      A,&00                   ;;F10D:   >.      3E 00
                OUT     (C),A                   ;;F10F:   .y      ED 79
                IN      E,(C)                   ;;F111:   .X      ED 58.  --- READ REGISTER 0 Expecting 6C getting 7C
                LD      A,&56                   ;;F113:   >V      3E 56
                AND     E                       ;;F115:   .       A3
                CP      &44                     ;;F116:   .D      FE 44 -- replace with &56 to work with &7C
                LD      A,E                     ;;F118:   {       7B
                SCF                             ;;F119:   7       37
                CCF                             ;;F11A:   ?       3F
                RET     NZ                      ;;F11B:   .       C0

Return to “MAME Discussion”