diff --git a/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/O2Hawk.IEmulator.cs b/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/O2Hawk.IEmulator.cs index 4618d1b4cb..04ccc5bd21 100644 --- a/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/O2Hawk.IEmulator.cs +++ b/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/O2Hawk.IEmulator.cs @@ -75,7 +75,6 @@ namespace BizHawk.Emulation.Cores.Consoles.O2Hawk if ((ticker % 9) == 0) { - serialport.serial_transfer_tick(); cpu.ExecuteOne(); } @@ -94,7 +93,6 @@ namespace BizHawk.Emulation.Cores.Consoles.O2Hawk { ppu.tick(); ppu.tick(); - serialport.serial_transfer_tick(); ppu.Audio_tick(); cpu.ExecuteOne(); @@ -112,7 +110,6 @@ namespace BizHawk.Emulation.Cores.Consoles.O2Hawk { ppu.tick(); ppu.tick(); - serialport.serial_transfer_tick(); ppu.Audio_tick(); cpu.ExecuteOne(); diff --git a/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/O2Hawk.IStatable.cs b/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/O2Hawk.IStatable.cs index 1c89f6127a..17bc6a5a25 100644 --- a/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/O2Hawk.IStatable.cs +++ b/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/O2Hawk.IStatable.cs @@ -19,7 +19,6 @@ namespace BizHawk.Emulation.Cores.Consoles.O2Hawk cpu.SyncState(ser); mapper.SyncState(ser); ppu.SyncState(ser); - serialport.SyncState(ser); ser.Sync(nameof(core), ref core, false); ser.Sync("Lag", ref _lagcount); diff --git a/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/O2Hawk.cs b/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/O2Hawk.cs index 63b990249c..3ba5ca80a7 100644 --- a/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/O2Hawk.cs +++ b/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/O2Hawk.cs @@ -37,7 +37,6 @@ namespace BizHawk.Emulation.Cores.Consoles.O2Hawk public I8048 cpu; public PPU ppu; - public SerialPort serialport; public bool is_pal; @@ -56,8 +55,6 @@ namespace BizHawk.Emulation.Cores.Consoles.O2Hawk WritePort = WritePort, OnExecFetch = ExecFetch, }; - - serialport = new SerialPort(); _settings = (O2Settings)settings ?? new O2Settings(); _syncSettings = (O2SyncSettings)syncSettings ?? new O2SyncSettings(); @@ -86,7 +83,6 @@ namespace BizHawk.Emulation.Cores.Consoles.O2Hawk ppu.Core = this; cpu.Core = this; - serialport.Core = this; ser.Register(this); ser.Register(ppu); @@ -134,7 +130,6 @@ namespace BizHawk.Emulation.Cores.Consoles.O2Hawk WritePort(2, 0xFF); ppu.Reset(); - serialport.Reset(); cpu.SetCallbacks(ReadMemory, PeekMemory, PeekMemory, WriteMemory); } diff --git a/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/ReadMe.txt b/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/ReadMe.txt deleted file mode 100644 index bc60bf4b01..0000000000 --- a/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/ReadMe.txt +++ /dev/null @@ -1 +0,0 @@ -TODO: diff --git a/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/SerialPort.cs b/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/SerialPort.cs deleted file mode 100644 index a3e4cf3bc4..0000000000 --- a/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/SerialPort.cs +++ /dev/null @@ -1,147 +0,0 @@ -using BizHawk.Common; - -namespace BizHawk.Emulation.Cores.Consoles.O2Hawk -{ - public class SerialPort - { - public O2Hawk Core { get; set; } - - public byte serial_control; - public byte serial_data; - public bool serial_start; - public bool can_pulse; - public int serial_clock; - public int serial_bits; - public int clk_rate; - public byte going_out; - public byte coming_in; - - public byte ReadReg(int addr) - { - switch (addr) - { - case 0xFF01: - return serial_data; - case 0xFF02: - return serial_control; - } - - return 0xFF; - } - - public void WriteReg(int addr, byte value) - { - switch (addr) - { - case 0xFF01: - serial_data = value; - break; - - case 0xFF02: - if (((value & 0x80) > 0) && !serial_start) - { - serial_start = true; - serial_bits = 8; - if ((value & 1) > 0) - { - if (((value & 2) > 0)) - { - clk_rate = 16; - } - else - { - clk_rate = 512; - } - serial_clock = clk_rate; - can_pulse = true; - } - else - { - clk_rate = -1; - serial_clock = clk_rate; - can_pulse = false; - } - } - else if (serial_start) - { - if ((value & 1) > 0) - { - if (((value & 2) > 0)) - { - clk_rate = 16; - } - else - { - clk_rate = 512; - } - serial_clock = clk_rate; - can_pulse = true; - } - else - { - clk_rate = -1; - serial_clock = clk_rate; - can_pulse = false; - } - } - - serial_control = (byte)(0x7E | (value & 0x81)); // middle six bits always 1 - - break; - } - } - - - public void serial_transfer_tick() - { - if (serial_start) - { - if (serial_clock > 0) { serial_clock--; } - - if (serial_clock == 0) - { - if (serial_bits > 0) - { - byte temp = coming_in; - serial_data = (byte)((serial_data << 1) | temp); - - serial_bits--; - - if (serial_bits == 0) - { - serial_control &= 0x7F; - serial_start = false; - } - else - { - serial_clock = clk_rate; - if (clk_rate > 0) { can_pulse = true; } - } - } - } - } - } - - public void Reset() - { - serial_control = 0x7E; - serial_start = false; - serial_data = 0x00; - going_out = 0; - coming_in = 1; - } - - public void SyncState(Serializer ser) - { - ser.Sync(nameof(serial_control), ref serial_control); - ser.Sync(nameof(serial_data), ref serial_data); - ser.Sync(nameof(serial_start), ref serial_start); - ser.Sync(nameof(serial_clock), ref serial_clock); - ser.Sync(nameof(serial_bits), ref serial_bits); - ser.Sync(nameof(clk_rate), ref clk_rate); - ser.Sync(nameof(going_out), ref going_out); - ser.Sync(nameof(coming_in), ref coming_in); - ser.Sync(nameof(can_pulse), ref can_pulse); - } - } -}