Commodore64: Disable disk emulation (for now.)

This commit is contained in:
saxxonpike 2013-08-09 04:15:33 +00:00
parent f504a9a4de
commit 8695ce07a4
3 changed files with 15 additions and 4 deletions

View File

@ -48,7 +48,7 @@ namespace BizHawk.Emulation.Computers.Commodore64
byte[] diskRom = File.ReadAllBytes(diskPath); byte[] diskRom = File.ReadAllBytes(diskPath);
disk = new VIC1541(initRegion, diskRom); disk = new VIC1541(initRegion, diskRom);
disk.Connect(board.serPort); //disk.Connect(board.serPort);
} }
private void InitMedia() private void InitMedia()

View File

@ -111,7 +111,7 @@ namespace BizHawk.Emulation.Computers.Commodore64
board.PollInput(); board.PollInput();
for (uint count = cyclesPerFrame; count > 0; count--) for (uint count = cyclesPerFrame; count > 0; count--)
{ {
disk.Execute(); //disk.Execute();
board.Execute(); board.Execute();
} }
_islag = !board.inputRead; _islag = !board.inputRead;

View File

@ -1,5 +1,7 @@
using BizHawk.Emulation.CPUs.M6502; using BizHawk.Emulation.CPUs.M6502;
using System; using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
namespace BizHawk.Emulation.Computers.Commodore64.MOS namespace BizHawk.Emulation.Computers.Commodore64.MOS
{ {
@ -9,7 +11,8 @@ namespace BizHawk.Emulation.Computers.Commodore64.MOS
{ {
// ------------------------------------ // ------------------------------------
private MOS6502X cpu; private MOS6502X cpu;
private List<GCHandle> disposeList = new List<GCHandle>();
private bool freezeCpu; private bool freezeCpu;
private bool pinCassetteButton; // note: these are only private bool pinCassetteButton; // note: these are only
private bool pinCassetteMotor; // latches! private bool pinCassetteMotor; // latches!
@ -41,7 +44,7 @@ namespace BizHawk.Emulation.Computers.Commodore64.MOS
public MOS6510() public MOS6510()
{ {
cpu = new MOS6502X(); cpu = new MOS6502X();
// configure cpu r/w // configure cpu r/w
cpu.DummyReadMemory = Read; cpu.DummyReadMemory = Read;
@ -61,6 +64,14 @@ namespace BizHawk.Emulation.Computers.Commodore64.MOS
pinNMILast = true; pinNMILast = true;
} }
~MOS6510()
{
foreach (GCHandle handle in disposeList)
{
handle.Free();
}
}
public void HardReset() public void HardReset()
{ {
cpu.Reset(); cpu.Reset();