Example #1
0
        private byte ReadPort(ushort port)
        {
            port &= 0xFF;

            if (port >= 0xA0 && port < 0xC0)
            {
                if ((port & 1) == 0)
                {
                    return(VDP.ReadData());
                }

                return(VDP.ReadVdpStatus());
            }

            if (port >= 0xE0)
            {
                if ((port & 1) == 0)
                {
                    return(ReadController1());
                }

                return(ReadController2());
            }

            return(0xFF);
        }
Example #2
0
        private byte ReadPort(ushort port)
        {
            port &= 0xFF;

            if (port >= 0xA0 && port < 0xC0)
            {
                if ((port & 1) == 0)
                {
                    return(_vdp.ReadData());
                }

                return(_vdp.ReadVdpStatus());
            }

            if (port >= 0xE0)
            {
                if ((port & 1) == 0)
                {
                    return(ReadController1());
                }

                return(ReadController2());
            }

            if (use_SGM)
            {
                if (port == 0x50)
                {
                    return(SGM_sound.port_sel);
                }

                if (port == 0x52)
                {
                    return(SGM_sound.ReadReg());
                }

                if (port == 0x53)
                {
                    return(port_0x53);
                }

                if (port == 0x7F)
                {
                    return(port_0x7F);
                }
            }

            return(0xFF);
        }