1
0
mirror of https://github.com/livingcomputermuseum/ContrAlto.git synced 2026-04-25 11:41:50 +00:00

Fixed remaining disk issues; KSTAT bits 4-7 must always be "1," and head select change must reload current sector. Boot now loads in complete boot program and control is transferred to it.

This commit is contained in:
Josh Dersch
2015-11-05 13:49:32 -08:00
parent 0358db09fe
commit 78e61389c1
6 changed files with 101 additions and 66 deletions

View File

@@ -17,7 +17,7 @@ namespace Contralto.Memory
{
public MemoryBus()
{
_bus = new Dictionary<ushort, IMemoryMappedDevice>(65536);
_bus = new Dictionary<ushort, IMemoryMappedDevice>(65536);
Reset();
}
@@ -35,7 +35,7 @@ namespace Contralto.Memory
if (_bus.ContainsKey(addr))
{
throw new InvalidOperationException(
String.Format("Memory mapped address collision for dev {0} at address {1}", dev, OctalHelpers.ToOctal(addr)));
String.Format("Memory mapped address collision for dev {0} at address {1}", dev, Conversion.ToOctal(addr)));
}
else
{
@@ -243,7 +243,7 @@ namespace Contralto.Memory
else
{
//throw new NotImplementedException(String.Format("Read from unimplemented memory-mapped I/O device at {0}.", OctalHelpers.ToOctal(address)));
Console.WriteLine("Read from unimplemented memory-mapped I/O device at {0}.", OctalHelpers.ToOctal(address));
Console.WriteLine("Read from unimplemented memory-mapped I/O device at {0}.", Conversion.ToOctal(address));
return 0;
}
}
@@ -259,13 +259,13 @@ namespace Contralto.Memory
// Look up address in hash; if populated ask the device
// to store a value otherwise throw.
if (_bus.ContainsKey(address))
{
{
_bus[address].Load(address, data);
}
else
{
// throw new NotImplementedException(String.Format("Write to unimplemented memory-mapped I/O device at {0}.", OctalHelpers.ToOctal(address)));
Console.WriteLine("Write to unimplemented memory-mapped I/O device at {0}.", OctalHelpers.ToOctal(address));
Console.WriteLine("Write to unimplemented memory-mapped I/O device at {0}.", Conversion.ToOctal(address));
}
}