From c73fb66dee807490fded18de83b4415b16a0aef2 Mon Sep 17 00:00:00 2001 From: Josh Dersch Date: Fri, 26 Feb 2016 17:46:50 -0800 Subject: [PATCH] Added configuration UI. Implemented ethernet encapsulation over UDP. A few minor tweaks. --- Contralto/AltoSystem.cs | 21 +- Contralto/CPU/CPU.cs | 6 +- Contralto/CPU/Tasks/Task.cs | 27 +- Contralto/CPU/UCodeMemory.cs | 66 ++-- Contralto/Configuration.cs | 253 +++++++++++++- Contralto/Contralto.csproj | 33 +- Contralto/Disassembly/altoIIcode3.mu | 2 +- Contralto/Disk/Josh.dsk | Bin 2601648 -> 2601648 bytes Contralto/Disk/allgames.dsk | Bin 2601648 -> 2601648 bytes Contralto/Disk/diag.dsk | Bin 2601648 -> 2601648 bytes Contralto/Disk/st76boot.dsk | Bin 2601648 -> 2601648 bytes Contralto/Disk/tdisk8.dsk | Bin 2601648 -> 2601648 bytes Contralto/Display/DisplayController.cs | 10 + Contralto/HighResTimer.cs | 191 +++++++++++ Contralto/IO/EthernetController.cs | 25 +- ...hernet.cs => HostEthernetEncapsulation.cs} | 43 +-- Contralto/IO/IPacketEncapsulation.cs | 23 ++ Contralto/IO/UDPEncapsulation.cs | 208 +++++++++++ Contralto/Logging/Log.cs | 3 +- Contralto/Program.cs | 105 +----- Contralto/Properties/Resources.Designer.cs | 63 ++++ .../Resources.resx} | 0 ...ner.cs => AlternateBootWindow.Designer.cs} | 8 +- ...etBootWindow.cs => AlternateBootWindow.cs} | 8 +- Contralto/UI/AlternateBootWindow.resx | 120 +++++++ Contralto/UI/AltoWindow.Designer.cs | 37 +- Contralto/UI/AltoWindow.cs | 112 ++++-- Contralto/UI/SystemOptions.Designer.cs | 324 ++++++++++++++++++ Contralto/UI/SystemOptions.cs | 218 ++++++++++++ Contralto/UI/SystemOptions.resx | 120 +++++++ 30 files changed, 1784 insertions(+), 242 deletions(-) create mode 100644 Contralto/HighResTimer.cs rename Contralto/IO/{HostEthernet.cs => HostEthernetEncapsulation.cs} (88%) create mode 100644 Contralto/IO/IPacketEncapsulation.cs create mode 100644 Contralto/IO/UDPEncapsulation.cs create mode 100644 Contralto/Properties/Resources.Designer.cs rename Contralto/{UI/EthernetBootWindow.resx => Properties/Resources.resx} (100%) rename Contralto/UI/{EthernetBootWindow.Designer.cs => AlternateBootWindow.Designer.cs} (96%) rename Contralto/UI/{EthernetBootWindow.cs => AlternateBootWindow.cs} (95%) create mode 100644 Contralto/UI/AlternateBootWindow.resx create mode 100644 Contralto/UI/SystemOptions.Designer.cs create mode 100644 Contralto/UI/SystemOptions.cs create mode 100644 Contralto/UI/SystemOptions.resx diff --git a/Contralto/AltoSystem.cs b/Contralto/AltoSystem.cs index b2f0c85..fd6eb10 100644 --- a/Contralto/AltoSystem.cs +++ b/Contralto/AltoSystem.cs @@ -47,7 +47,7 @@ namespace Contralto t.AutoReset = true; t.Interval = 1000; t.Elapsed += T_Elapsed; - t.Start(); + //t.Start(); } public void Reset() @@ -80,6 +80,11 @@ namespace Contralto _displayController.AttachDisplay(d); } + public void DetachDisplay() + { + _displayController.DetachDisplay(); + } + public void SingleStep() { // Run every device that needs attention for a single clock cycle. @@ -128,7 +133,7 @@ namespace Contralto // if (Configuration.EthernetBootEnabled) { - _keyboard.PressBootKeys(Configuration.EthernetBootFile, true); + _keyboard.PressBootKeys(Configuration.BootAddress, true); } } @@ -172,20 +177,10 @@ namespace Contralto { get { return _scheduler; } } - - /// - /// Time (in msec) for one system clock - /// - /// - public static double ClockInterval - { - get { return 0.00017; } // appx 170nsec, TODO: more accurate value? - } - private void T_Elapsed(object sender, ElapsedEventArgs e) { - //System.Console.WriteLine("{0} CPU clocks/sec %{1}. {2} fields/sec", _clocks, ((double)_clocks / 5882353.0) * 100.0, _displayController.Fields); + System.Console.WriteLine("{0} CPU clocks/sec %{1}. {2} fields/sec", _clocks, ((double)_clocks / 5882353.0) * 100.0, _displayController.Fields); _clocks = 0; _displayController.Fields = 0; } diff --git a/Contralto/CPU/CPU.cs b/Contralto/CPU/CPU.cs index 13fdeb7..1710b30 100644 --- a/Contralto/CPU/CPU.cs +++ b/Contralto/CPU/CPU.cs @@ -172,7 +172,7 @@ namespace Contralto.CPU // WakeupTask(CPU.TaskType.DiskSector); - Logging.Log.Write(Logging.LogComponent.CPU, "Silent Boot; microcode banks initialized to {0}", Conversion.ToOctal(_rmr)); + Log.Write(Logging.LogComponent.CPU, "Silent Boot; microcode banks initialized to {0}", Conversion.ToOctal(_rmr)); } /// @@ -232,13 +232,15 @@ namespace Contralto.CPU if (_tasks[i] != null && _tasks[i].Wakeup) { _nextTask = _tasks[i]; + _nextTask.FirstInstructionAfterSwitch = true; + /* if (_nextTask != _currentTask && _currentTask != null) { Log.Write(LogComponent.TaskSwitch, "TASK: Next task will be {0} (pri {1}); current task {2} (pri {3})", (TaskType)_nextTask.Priority, _nextTask.Priority, (TaskType)_currentTask.Priority, _currentTask.Priority); - } + } */ break; } } diff --git a/Contralto/CPU/Tasks/Task.cs b/Contralto/CPU/Tasks/Task.cs index d4932a2..649c663 100644 --- a/Contralto/CPU/Tasks/Task.cs +++ b/Contralto/CPU/Tasks/Task.cs @@ -42,6 +42,17 @@ namespace Contralto.CPU get { return _mpc; } } + /// + /// Indicates whether a task switch just happened. TASK instructions behave differently on the + /// first instruction after a switch. This is not documented, but observed on the real hardware. + /// (See the implementation of the Task SF for more details.) + /// + public bool FirstInstructionAfterSwitch + { + get { return _firstInstructionAfterSwitch; } + set { _firstInstructionAfterSwitch = value; } + } + /// /// Indicates whether the current uInstruction asserts BLOCK. /// Used by hardware for various tasks. @@ -59,6 +70,7 @@ namespace Contralto.CPU _mpc = (ushort)_taskType; _rdRam = false; _rb = 0; + _firstInstructionAfterSwitch = false; } public virtual void SoftReset() @@ -273,7 +285,16 @@ namespace Contralto.CPU break; case SpecialFunction1.Task: - nextTask = true; // Yield to other more important tasks + // + // If the first uOp executed after a task switch contains a TASK F1, it does not take effect. + // This is observed on the real hardware, and does not appear to be documented. + // It also doensn't appear to affect the execution of the standard Alto uCode in any significant + // way, but is included here for correctness. + // + //if (!_firstInstructionAfterSwitch) + { + nextTask = true; // Yield to other more important tasks + } break; case SpecialFunction1.Block: @@ -430,7 +451,7 @@ namespace Contralto.CPU if (swMode) { UCodeMemory.SwitchMode(instruction.NEXT, _taskType); - Logging.Log.Write(Logging.LogComponent.Microcode, "SWMODE: uPC {0}, next uPC {1}", Conversion.ToOctal(_mpc), Conversion.ToOctal(instruction.NEXT | nextModifier)); + Logging.Log.Write(Logging.LogComponent.Microcode, "SWMODE: uPC {0}, next uPC {1}", Conversion.ToOctal(_mpc), Conversion.ToOctal(instruction.NEXT)); } // @@ -450,6 +471,7 @@ namespace Contralto.CPU _mpc = (ushort)(instruction.NEXT | nextModifier); } + _firstInstructionAfterSwitch = false; return nextTask; } @@ -523,6 +545,7 @@ namespace Contralto.CPU protected ushort _rb; // S register bank select protected TaskType _taskType; protected bool _wakeup; + protected bool _firstInstructionAfterSwitch; protected bool _block; diff --git a/Contralto/CPU/UCodeMemory.cs b/Contralto/CPU/UCodeMemory.cs index 744f9ef..84f4c23 100644 --- a/Contralto/CPU/UCodeMemory.cs +++ b/Contralto/CPU/UCodeMemory.cs @@ -40,17 +40,14 @@ namespace Contralto.CPU private static void Init() { - // - // TODO: this is currently configured for a 2K ROM machine - // (1K RAM, 2K ROM). This should be configurable. - // - // 1 bank of microcode RAM - _uCodeRam = new UInt32[1024]; + // + // Max 3 banks of microcode RAM + _uCodeRam = new UInt32[1024 * 3]; LoadMicrocode(_uCodeRoms); // - // Cache 3k of instructions: 2K ROM, 1K RAM. - _decodeCache = new MicroInstruction[1024 * 3]; + // Cache 5k of instructions: max 2K ROM, 3K RAM. + _decodeCache = new MicroInstruction[1024 * 5]; // Precache ROM CacheMicrocodeROM(); @@ -103,12 +100,22 @@ namespace Contralto.CPU _ramBank = (address & 0x3000) >> 12; _ramSelect = (address & 0x0800) == 0; _lowHalfsel = (address & 0x0400) == 0; - _ramAddr = (address & 0x3ff); - - if (_ramBank != 0) + _ramAddr = (address & 0x3ff); + + // Clip RAM bank into range, it's always 0 unless we have a 3K uCode RAM system + switch (Configuration.SystemType) { - //throw new NotImplementedException(String.Format("Unexpected RAM BANK select of {0}", _ramBank)); - _ramBank = 0; + case SystemType.OneKRom: + case SystemType.TwoKRom: + _ramBank = 0; + break; + case SystemType.ThreeKRam: + if (_ramBank > 3) + { + // TODO: clip or not. + throw new InvalidOperationException(String.Format("Unexpected RAM bank value of {0}.", _ramBank)); + } + break; } } @@ -121,26 +128,35 @@ namespace Contralto.CPU public static void SwitchMode(ushort nextAddress, TaskType task) { Logging.Log.Write(Logging.LogComponent.Microcode, "SWMODE: Current Bank {0}", _microcodeBank[(int)task]); - - // 2K ROM - switch(_microcodeBank[(int)task]) + + switch (Configuration.SystemType) { - case MicrocodeBank.ROM0: - _microcodeBank[(int)task] = (nextAddress & 0x100) == 0 ? MicrocodeBank.RAM0 : MicrocodeBank.ROM1; + case SystemType.OneKRom: + _microcodeBank[(int)task] = _microcodeBank[(int)task] == MicrocodeBank.ROM0 ? MicrocodeBank.RAM0 : MicrocodeBank.ROM0; break; - case MicrocodeBank.ROM1: - _microcodeBank[(int)task] = (nextAddress & 0x100) == 0 ? MicrocodeBank.ROM0 : MicrocodeBank.RAM0; + case SystemType.TwoKRom: + switch (_microcodeBank[(int)task]) + { + case MicrocodeBank.ROM0: + _microcodeBank[(int)task] = (nextAddress & 0x100) == 0 ? MicrocodeBank.RAM0 : MicrocodeBank.ROM1; + break; + + case MicrocodeBank.ROM1: + _microcodeBank[(int)task] = (nextAddress & 0x100) == 0 ? MicrocodeBank.ROM0 : MicrocodeBank.RAM0; + break; + + case MicrocodeBank.RAM0: + _microcodeBank[(int)task] = (nextAddress & 0x100) == 0 ? MicrocodeBank.ROM0 : MicrocodeBank.ROM1; + break; + } break; - case MicrocodeBank.RAM0: - _microcodeBank[(int)task] = (nextAddress & 0x100) == 0 ? MicrocodeBank.ROM0 : MicrocodeBank.ROM1; + case SystemType.ThreeKRam: + throw new NotImplementedException("3K uCode RAM not yet implemented."); break; } - // for 1K ROM -- todo: make configurable - //_microcodeBank[(int)task] = _microcodeBank[(int)task] == MicrocodeBank.ROM0 ? MicrocodeBank.RAM0 : MicrocodeBank.ROM0; - Logging.Log.Write(Logging.LogComponent.Microcode, "SWMODE: New Bank {0} for Task {1}", _microcodeBank[(int)task], task); } diff --git a/Contralto/Configuration.cs b/Contralto/Configuration.cs index 616dd23..ac99029 100644 --- a/Contralto/Configuration.cs +++ b/Contralto/Configuration.cs @@ -1,11 +1,48 @@ -using System; +using Contralto.Logging; +using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Contralto { + /// + /// The configuration of an Alto II to emulate + /// + public enum SystemType + { + /// + /// System with the standard 1K ROM, 1K RAM + /// + OneKRom, + + /// + /// System with 2K ROM, 1K RAM + /// + TwoKRom, + + /// + /// System with 3K RAM + /// + ThreeKRam, + } + + public enum PacketInterfaceType + { + /// + /// Encapsulate frames inside raw ethernet frames on the host interface. + /// Requires PCAP. + /// + EthernetEncapsulation, + + /// + /// Encapsulate frames inside UDP datagrams on the host interface. + /// + UDPEncapsulation, + } + /// /// Encapsulates user-configurable settings. To be enhanced. /// @@ -13,22 +50,218 @@ namespace Contralto { static Configuration() { - // Initialize things to defaults. - // TODO: Load from config file. + // Initialize things to defaults. HostAddress = 0x22; EthernetBootEnabled = false; - EthernetBootFile = 0; + BootAddress = 0; + + SystemType = SystemType.TwoKRom; + + InterlaceDisplay = false; + + ThrottleSpeed = true; + + ReadConfiguration(); } - public static string Drive0Image; - public static string Drive1Image; - public static byte HostAddress; - public static string HostEthernetInterfaceName; - public static bool HostEthernetAvailable; + /// + /// The type of Alto II to emulate + /// + public static SystemType SystemType; + /// + /// The currently loaded image for Drive 0 + /// + public static string Drive0Image; + + /// + /// The currently loaded image for Drive 1 + /// + public static string Drive1Image; + + /// + /// The Ethernet host address for this Alto + /// + public static byte HostAddress; + + /// + /// The name of the Ethernet adaptor on the emulator host to use for Ethernet emulation + /// + public static string HostPacketInterfaceName; + + /// + /// Whether any packet interfaces are available on the host + /// + public static bool HostRawEthernetInterfacesAvailable; + + /// + /// The type of interface to use to host networking. + /// + public static PacketInterfaceType HostPacketInterfaceType; + + /// + /// Whether to enable Ethernet boot at reset + /// public static bool EthernetBootEnabled; - public static ushort EthernetBootFile; + + /// + /// The address/file to boot at reset + /// + public static ushort BootAddress; + + /// + /// Whether to render the display "interlaced" or not. + /// + public static bool InterlaceDisplay; + + /// + /// Whether to cap execution speed at native execution speed or not. + /// + public static bool ThrottleSpeed; + + /// + /// Reads the current configuration file from disk. + /// + /// TODO: use reflection to do this. + /// + public static void ReadConfiguration() + { + try + { + using (StreamReader configStream = new StreamReader("contralto.cfg")) + { + // + // Config file consists of text lines containing name / value pairs: + // + // Whitespace is ignored + // + int lineNumber = 0; + while (!configStream.EndOfStream) + { + lineNumber++; + string line = configStream.ReadLine().ToLowerInvariant().Trim(); + + if (string.IsNullOrEmpty(line)) + { + continue; + } + + // Find whitespace separating tokens + int ws = line.IndexOfAny(new char[] { ' ', '\t' }); + + if (ws < 1) + { + Log.Write(LogType.Warning, LogComponent.Configuration, "Syntax error on line {0}. Ignoring.", lineNumber); + continue; + } + + string parameter = line.Substring(0, ws); + string value = line.Substring(ws + 1, line.Length - ws - 1); + + try + { + switch (parameter) + { + case "drive0image": + Drive0Image = value; + break; + + case "drive1image": + Drive1Image = value; + break; + + case "systemtype": + SystemType = (SystemType)Enum.Parse(typeof(SystemType), value, true); + break; + + case "hostaddress": + HostAddress = Convert.ToByte(value, 8); + break; + + case "hostpacketinterfacename": + HostPacketInterfaceName = value; + break; + + case "hostpacketinterfacetype": + HostPacketInterfaceType = (PacketInterfaceType)Enum.Parse(typeof(PacketInterfaceType), value, true); + break; + + case "ethernetbootenabled": + EthernetBootEnabled = bool.Parse(value); + break; + + case "bootaddress": + BootAddress = Convert.ToUInt16(value, 8); + break; + + case "interlacedisplay": + InterlaceDisplay = bool.Parse(value); + break; + + case "throttlespeed": + ThrottleSpeed = bool.Parse(value); + break; + + default: + Log.Write(LogType.Warning, LogComponent.Configuration, "Invalid parameter on line {0}. Ignoring.", lineNumber); + break; + } + } + catch + { + Log.Write(LogType.Warning, LogComponent.Configuration, "Invalid value on line {0}. Ignoring.", lineNumber); + continue; + } + } + } + } + catch (Exception) + { + Log.Write(LogType.Warning, LogComponent.Configuration, "Configuration file 'contralto.cfg' could not be read; assuming default settings."); + WriteConfiguration(); + } + } + + /// + /// Commits the current configuration to disk. + /// + public static void WriteConfiguration() + { + try + { + using (StreamWriter configStream = new StreamWriter("contralto.cfg")) + { + if (!string.IsNullOrEmpty(Drive0Image)) + { + configStream.WriteLine("Drive0Image {0}", Drive0Image); + } + + if (!string.IsNullOrEmpty(Drive1Image)) + { + configStream.WriteLine("Drive1Image {0}", Drive1Image); + } + + configStream.WriteLine("SystemType {0}", SystemType); + configStream.WriteLine("HostAddress {0}", Conversion.ToOctal(HostAddress)); + + if (!string.IsNullOrEmpty(HostPacketInterfaceName)) + { + configStream.WriteLine("HostPacketInterfaceName {0}", HostPacketInterfaceName); + } + + configStream.WriteLine("HostPacketInterfaceType {0}", HostPacketInterfaceType); + configStream.WriteLine("EthernetBootEnabled {0}", EthernetBootEnabled); + configStream.WriteLine("BootAddress {0}", Conversion.ToOctal(BootAddress)); + configStream.WriteLine("InterlaceDisplay {0}", InterlaceDisplay); + configStream.WriteLine("ThrottleSpeed {0}", ThrottleSpeed); + } + } + catch (Exception) + { + Log.Write(LogType.Warning, LogComponent.Configuration, "Configuration file 'contralto.cfg' could not be opened for writing."); + } + } } } diff --git a/Contralto/Contralto.csproj b/Contralto/Contralto.csproj index d47c7c7..ca432d1 100644 --- a/Contralto/Contralto.csproj +++ b/Contralto/Contralto.csproj @@ -99,6 +99,14 @@ + + + + + True + True + Resources.resx + Form @@ -140,18 +148,18 @@ - + Form - - EthernetBootWindow.cs + + AlternateBootWindow.cs - + @@ -163,6 +171,12 @@ + + Form + + + SystemOptions.cs + @@ -334,6 +348,10 @@ + + ResXFileCodeGenerator + Resources.Designer.cs + AboutBox.cs @@ -343,8 +361,11 @@ Debugger.cs - - EthernetBootWindow.cs + + AlternateBootWindow.cs + + + SystemOptions.cs diff --git a/Contralto/Disassembly/altoIIcode3.mu b/Contralto/Disassembly/altoIIcode3.mu index 9b8d381..0d45362 100644 --- a/Contralto/Disassembly/altoIIcode3.mu +++ b/Contralto/Disassembly/altoIIcode3.mu @@ -1102,7 +1102,7 @@ EM1036> AC1<- L, :LOADX; ;SIO - 61004 - Put AC0 on the bus, issue STARTF to get device attention, ;Read Host address from Ethernet interface into AC0. -EM104> SIO: L<- AC0, STARTF; +EM0104> SIO: L<- AC0, STARTF; EM1037> T<- 77777; ***X21 sets AC0[0] to 0 EM1040> L<- RSNF AND T; EM1041> LTOAC0: AC0<- L, TASK, :TOSTART; diff --git a/Contralto/Disk/Josh.dsk b/Contralto/Disk/Josh.dsk index cd6f8db56894694be9c304a893d57007d4d92b77..6d808bc85d331466a9c2cff75ca8c365e828257a 100644 GIT binary patch delta 1204 zcmZwGPe_wt90%~{eSNpN*Y|y=+uQs%-Q1=tn-gRX36W{T1k*BW5r`FTd07TIivG|c zq7jG;e^MSo55-Or!ix8xbPx%o=#bLE=+L3)R)?UQ^mFTh_G^a^gYWmtv-jDbwXe&< z+JT^`Ft#mmPqGWi)E>9(IOwU|To(xT23;E%fdCzXe!JERM zlci0w$xs^JTbx1y9F?EJqq@-Q-`5qGm3<`R-3fT4+$qyl!HTv+@{91QdWvNH91Fa) zuaoX3e9?zV#`kXc?R-YMc~I)ZB;)%CcpK+PmxG=r7bw<$?^@U|xHrl4AhtuIn*$Ws3ExDyGXiaSnBhWjNfMvUPSMf z>15a%*d_TS?8Oo!^NROwH8ycA)@Af*eDZtB9aE2E2ou*=a+chWQMFdp5-kHP={=RG?gtG^aZt7%Q5 z{pZrVUBk5&BgA+e%B&I&5@8ERiIG*4);U{^tY_wZy9j52oYNi$uiwJcx1nwrOSmy zWt-%jU4^&m7|D!tQnD337Oatuvl#r)dP!#NIje%dMN6dP>>1cg-6YHGJ>V>VN;=M# zp{>FJTWaQB|L1uoWM<9ejmDpt-__w&~Yf0*&rXl5;i*Ue5r@jB9$^ z=yT!hA%su2XWeq9!~OO-(s8x`^BuJ$GtTC$8&Tf+eu+JxjKoWTI2 zi(%3jW(P+9h2h)3;yafGW~oe#^kQv(C?!N!oas+x)(m?zoFg6UHYS|441vvro15N}e5XyLsZ1HJ$9S8@^lDl^LuK5lS}J2Y{x^TWg6t{RAu k;xHU1x^e3L$ZTG=(8eP==psOfCp_Z?J@gUjdHEX4f9ytITL1t6 delta 243 zcmXxTyAHun00!W5s+2maRrmYdCNY^kh@laiidZBjktTfvgQSbqKq5Jb)hZY*QVS8Y z!RTLn$+vkpbb~XCT7u=-iATontHa=*Uzr#bq>JJ16;Y9k3Rpk^x%cu?5EbbE%s!GdDd?Zyz5m~T`sw8C z%=er*bIzIB+1X9D`ukUjYWVlWQN1gV&e+NxBq#)le=L#eTG5`2)~MhJ|Lbe|l3%Jz zH9*d%3COphY1EuK$TA)wO9U{PNL=bckE^E^TjtK5ER{A=xO9j2qS~PF&g>z$sRX6&J4(ixZ6!7)n!c z>1wg`8GmWd$coq7ZLV;U2^GtA_3+uFqPpFB@zY_PT=81eh!$mX-CA8l#dc;>iz

Qd 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�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%0DVweqtD~)b8Mk68+^&wUj;$8#_SnolOJrzQ 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 delta 372409 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%0A*pps!{VM?%yQa=j@o)lZa`Nc|js}Y;nq? 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 + /// HighResTimer gives us access to NT's very-high-resolution PerformanceCounters. + /// This gives us the precision we need to sync emulation to any speed we desire. + /// + public sealed class HighResTimer + { + [DllImport("Kernel32.dll")] + private static extern bool QueryPerformanceCounter( + out long lpPerformanceCount); + + [DllImport("Kernel32.dll")] + private static extern bool QueryPerformanceFrequency( + out long lpFrequency); + + public HighResTimer() + { + // What's the frequency, Kenneth? + if (QueryPerformanceFrequency(out _frequency) == false) + { + // high-performance counter not supported + throw new Win32Exception(); + } + } + + /// + /// Returns the current time in seconds. + /// + /// + public double GetCurrentTime() + { + long currentTime; + QueryPerformanceCounter(out currentTime); + + return (double)(currentTime) / (double)_frequency; + } + + private long _frequency; + } + + public sealed class FrameTimer + { + [DllImport("winmm.dll", EntryPoint = "timeGetDevCaps", SetLastError = true)] + static extern UInt32 TimeGetDevCaps(ref TimeCaps timeCaps, UInt32 sizeTimeCaps); + + [DllImport("winmm.dll", EntryPoint = "timeBeginPeriod")] + static extern UInt32 TimeBeginPeriod(UInt32 uPeriod); + + [DllImport("winmm.dll", EntryPoint = "timeEndPeriod")] + public static extern uint TimeEndPeriod(uint uMilliseconds); + + [DllImport("kernel32.dll", EntryPoint = "CreateTimerQueue")] + public static extern IntPtr CreateTimerQueue(); + + [DllImport("kernel32.dll", EntryPoint = "DeleteTimerQueueEx")] + public static extern bool DeleteTimerQueue(IntPtr hTimerQueue, IntPtr hCompletionEvent); + + [DllImport("kernel32.dll", EntryPoint = "CreateTimerQueueTimer")] + public static extern bool CreateTimerQueueTimer(out IntPtr phNewTimer, IntPtr hTimerQueue, IntPtr Callback, IntPtr Parameter, UInt32 DueTime, UInt32 Period, ulong Flags); + + [DllImport("kernel32.dll", EntryPoint = "ChangeTimerQueueTimer")] + public static extern bool ChangeTimerQueueTimer(IntPtr hTimerQueue, IntPtr hTimer, UInt32 DueTime, UInt32 Period); + + + [DllImport("kernel32.dll", EntryPoint = "DeleteTimerQueueTimer")] + public static extern bool DeleteTimerQueueTimer(IntPtr hTimerQueue, IntPtr hTimer, IntPtr hCompletionEvent); + + [StructLayout(LayoutKind.Sequential)] + public struct TimeCaps + { + public UInt32 wPeriodMin; + public UInt32 wPeriodMax; + }; + + [UnmanagedFunctionPointer(CallingConvention.Winapi)] + public delegate void UnmanagedTimerCallback(IntPtr param, bool timerOrWait); + + /// + /// FrameTimer provides a simple method to synchronize execution to a given framerate. + /// Calling WaitForFrame() blocks until the start of the next frame. + /// + /// NOTE: This code uses the Win32 TimerQueue APIs instead of the System.Threading.Timer + /// APIs because the .NET APIs do not allow execution of the callback on the timer's thread -- + /// it queues up a new worker thread. This lowers the accuracy of the timer, and since we + /// need all the precision we can get they're not suitable here. + /// + /// The frame rate to sync to. + public FrameTimer(double framesPerSecond) + { + // + // Set the timer to the minimum value (1ms). This should be supported on any modern x86 system. + // If not, too bad... + // + UInt32 res = TimeBeginPeriod(1); + + if (res != 0) + { + throw new InvalidOperationException("Unable to set timer period."); + } + + // + // Create a new timer queue + // + _hTimerQueue = CreateTimerQueue(); + + if (_hTimerQueue == IntPtr.Zero) + { + throw new InvalidOperationException("Unable to create timer queue."); + } + + // + // Since we only have a resolution of 1ms, we have to do some hackery to get a slightly more accurate framerate. + // (60 fields/sec requires 16 2/3s ms frame delay.) + // We alternate between two rates at varying intervals and this gets us fairly close to the desired frame rate. + // + _callback = new UnmanagedTimerCallback(TimerCallbackFn); + + _highPeriod = (uint)Math.Ceiling(1000.0 * (1.0 / framesPerSecond)); + _lowPeriod = (uint)Math.Floor(1000.0 * (1.0 / framesPerSecond)); + _periodTenths = _periodSwitch = (uint)((1000.0 * (1.0 / framesPerSecond) - Math.Floor(1000.0 * (1.0 / framesPerSecond))) * 10.0); + + if (!CreateTimerQueueTimer(out _hTimer, _hTimerQueue, Marshal.GetFunctionPointerForDelegate(_callback), IntPtr.Zero, _lowPeriod, _lowPeriod, 0x00000020 /* execute in timer thread */)) + { + throw new InvalidOperationException("Unable to create timer queue timer."); + } + + _event = new AutoResetEvent(false); + + _lowTimer = 0; + } + + ~FrameTimer() + { + // + // Clean stuff up + // + DeleteTimerQueueTimer(_hTimerQueue, _hTimer, IntPtr.Zero); + DeleteTimerQueue(_hTimerQueue, IntPtr.Zero); + + // + // Fire off a final event to release any call that's waiting... + // + _event.Set(); + } + + /// + /// Waits for the timer to fire. + /// + public void WaitForFrame() + { + _event.WaitOne(); + } + + /// + /// Callback from timer queue. Work done here is executed on the timer's thread, so must be quick. + /// + /// + /// + private void TimerCallbackFn(IntPtr lpParameter, bool TimerOrWaitFired) + { + _event.Set(); + _lowTimer++; + + if (_lowTimer >= _periodSwitch) + { + _lowTimer = 0; + _period = !_period; + ChangeTimerQueueTimer(_hTimerQueue, _hTimer, _period ? _lowPeriod : _highPeriod, _period ? _lowPeriod : _highPeriod); + + _periodSwitch = !_period ? _periodTenths : 10 - _periodTenths; + } + } + + private IntPtr _hTimerQueue; + private IntPtr _hTimer; + private AutoResetEvent _event; + private UnmanagedTimerCallback _callback; + private uint _lowPeriod; + private uint _highPeriod; + private uint _periodSwitch; + private uint _periodTenths; + private int _lowTimer; + private bool _period; + } +} diff --git a/Contralto/IO/EthernetController.cs b/Contralto/IO/EthernetController.cs index 5aa8310..a697cc9 100644 --- a/Contralto/IO/EthernetController.cs +++ b/Contralto/IO/EthernetController.cs @@ -25,10 +25,21 @@ namespace Contralto.IO // Attach real Ethernet device if user has specified one, otherwise leave unattached; output data // will go into a bit-bucket. - if (!String.IsNullOrEmpty(Configuration.HostEthernetInterfaceName)) + switch(Configuration.HostPacketInterfaceType) { - _hostEthernet = new HostEthernet(Configuration.HostEthernetInterfaceName); - _hostEthernet.RegisterReceiveCallback(OnHostPacketReceived); + case PacketInterfaceType.UDPEncapsulation: + _hostInterface = new UDPEncapsulation(Configuration.HostPacketInterfaceName); + _hostInterface.RegisterReceiveCallback(OnHostPacketReceived); + break; + + case PacketInterfaceType.EthernetEncapsulation: + _hostInterface = new HostEthernetEncapsulation(Configuration.HostPacketInterfaceName); + _hostInterface.RegisterReceiveCallback(OnHostPacketReceived); + break; + + default: + _hostInterface = null; + break; } // More words than the Alto will ever send. @@ -285,9 +296,9 @@ namespace Contralto.IO // And actually tell the host ethernet interface to send the data. // NOTE: We do not append a checksum to the outgoing 3mbit packet. See comments on the // receiving end for an explanation. - if (_hostEthernet != null) + if (_hostInterface != null) { - _hostEthernet.Send(_outputData, _outputIndex); + _hostInterface.Send(_outputData, _outputIndex); } _outputIndex = 0; @@ -526,8 +537,8 @@ namespace Contralto.IO private const int _maxQueuedPackets = 32; - // The actual connection to a real Ethernet device on the host - HostEthernet _hostEthernet; + // The actual connection to a real network device of some sort on the host + IPacketEncapsulation _hostInterface; // Buffer to hold outgoing data to the host ethernet ushort[] _outputData; diff --git a/Contralto/IO/HostEthernet.cs b/Contralto/IO/HostEthernetEncapsulation.cs similarity index 88% rename from Contralto/IO/HostEthernet.cs rename to Contralto/IO/HostEthernetEncapsulation.cs index e169930..f045381 100644 --- a/Contralto/IO/HostEthernet.cs +++ b/Contralto/IO/HostEthernetEncapsulation.cs @@ -18,11 +18,10 @@ namespace Contralto.IO public struct EthernetInterface { - public EthernetInterface(string name, string description, MacAddress macAddress) + public EthernetInterface(string name, string description) { Name = name; - Description = description; - MacAddress = macAddress; + Description = description; } public static List EnumerateDevices() @@ -31,33 +30,35 @@ namespace Contralto.IO foreach (LivePacketDevice device in LivePacketDevice.AllLocalMachine) { - interfaces.Add(new EthernetInterface(device.Name, device.Description, device.GetMacAddress())); + interfaces.Add(new EthernetInterface(device.Name, device.Description)); } return interfaces; } - public string Name; - public string Description; - public MacAddress MacAddress; - } + public override string ToString() + { + return Description; + } - public delegate void ReceivePacketDelegate(MemoryStream data); + public string Name; + public string Description; + } /// /// Implements the logic for encapsulating a 3mbit ethernet packet into a 10mb packet and sending it over an actual - /// interface controlled by the host operating system. + /// ethernet interface controlled by the host operating system. /// /// This uses PCap.NET to do the dirty work. /// - public class HostEthernet + public class HostEthernetEncapsulation : IPacketEncapsulation { - public HostEthernet(EthernetInterface iface) + public HostEthernetEncapsulation(EthernetInterface iface) { AttachInterface(iface); } - public HostEthernet(string name) + public HostEthernetEncapsulation(string name) { // Find the specified device by name List interfaces = EthernetInterface.EnumerateDevices(); @@ -71,7 +72,7 @@ namespace Contralto.IO } } - throw new InvalidOperationException("Specified ethernet interface does not exist."); + throw new InvalidOperationException("Specified ethernet interface does not exist or is not compatible with WinPCAP."); } public void RegisterReceiveCallback(ReceivePacketDelegate callback) @@ -127,7 +128,7 @@ namespace Contralto.IO byte destinationHost = packetBytes[3]; byte sourceHost = packetBytes[2]; - Log.Write(LogComponent.HostEthernet, "Sending packet; source {0} destination {1}, length {2} words.", + Log.Write(LogComponent.HostNetworkInterface, "Sending packet; source {0} destination {1}, length {2} words.", Conversion.ToOctal(sourceHost), Conversion.ToOctal(destinationHost), length); @@ -153,7 +154,7 @@ namespace Contralto.IO // Send it over the 'net! _communicator.SendPacket(builder.Build(DateTime.Now)); - Log.Write(LogComponent.HostEthernet, "Encapsulated 3mbit packet sent."); + Log.Write(LogComponent.HostNetworkInterface, "Encapsulated 3mbit packet sent."); } private void ReceiveCallback(Packet p) @@ -166,7 +167,7 @@ namespace Contralto.IO p.Ethernet.Destination.ToValue() == _10mbitBroadcast) && // broadcast (p.Ethernet.Source.ToValue() != (UInt48)(_10mbitMACPrefix | Configuration.HostAddress))) // and not sent by this emulator { - Log.Write(LogComponent.HostEthernet, "Received encapsulated 3mbit packet."); + Log.Write(LogComponent.HostNetworkInterface, "Received encapsulated 3mbit packet."); _callback(p.Ethernet.Payload.ToMemoryStream()); } else @@ -182,7 +183,7 @@ namespace Contralto.IO // Find the specified device by name foreach (LivePacketDevice device in LivePacketDevice.AllLocalMachine) { - if (device.Name == iface.Name && device.GetMacAddress() == iface.MacAddress) + if (device.Description == iface.Name) { _interface = device; break; @@ -194,7 +195,7 @@ namespace Contralto.IO throw new InvalidOperationException("Requested interface not found."); } - Log.Write(LogComponent.HostEthernet, "Attached to host interface {0}", iface.Name); + Log.Write(LogComponent.HostNetworkInterface, "Attached to host interface {0}", iface.Name); } private void Open(bool promiscuous, int timeout) @@ -204,7 +205,7 @@ namespace Contralto.IO // Set this to 1 so we'll get packets as soon as they arrive, no buffering. _communicator.SetKernelMinimumBytesToCopy(1); - Log.Write(LogComponent.HostEthernet, "Host interface opened and receiving packets."); + Log.Write(LogComponent.HostNetworkInterface, "Host interface opened and receiving packets."); } /// @@ -222,7 +223,7 @@ namespace Contralto.IO // Just call ReceivePackets, that's it. This will never return. // (probably need to make this more elegant so we can tear down the thread // properly.) - Log.Write(LogComponent.HostEthernet, "Receiver thread started."); + Log.Write(LogComponent.HostNetworkInterface, "Receiver thread started."); _communicator.ReceivePackets(-1, ReceiveCallback); } diff --git a/Contralto/IO/IPacketEncapsulation.cs b/Contralto/IO/IPacketEncapsulation.cs new file mode 100644 index 0000000..8e862c6 --- /dev/null +++ b/Contralto/IO/IPacketEncapsulation.cs @@ -0,0 +1,23 @@ +using System.IO; + + +namespace Contralto.IO +{ + public delegate void ReceivePacketDelegate(MemoryStream data); + + public interface IPacketEncapsulation + { + /// + /// Registers a callback delegate to handle packets that are received. + /// + /// + void RegisterReceiveCallback(ReceivePacketDelegate callback); + + /// + /// Sends the specified word array + /// + /// + /// + void Send(ushort[] packet, int length); + } +} diff --git a/Contralto/IO/UDPEncapsulation.cs b/Contralto/IO/UDPEncapsulation.cs new file mode 100644 index 0000000..fc571e1 --- /dev/null +++ b/Contralto/IO/UDPEncapsulation.cs @@ -0,0 +1,208 @@ +using System; +using System.Net; +using System.Net.Sockets; + +using Contralto.Logging; +using System.Threading; +using System.Net.NetworkInformation; + +namespace Contralto.IO +{ + /// + /// Implements the logic for encapsulating a 3mbit ethernet packet into/out of UDP datagrams. + /// Sent packets are broadcast to the subnet. + /// + public class UDPEncapsulation : IPacketEncapsulation + { + public UDPEncapsulation(string interfaceName) + { + // Try to set up UDP client. + try + { + _udpClient = new UdpClient(_udpPort, AddressFamily.InterNetwork); + _udpClient.EnableBroadcast = true; + + // + // Grab the broadcast address for the interface so that we know what broadcast address to use + // for our UDP datagrams. + // + NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces(); + + IPInterfaceProperties props = null; + foreach(NetworkInterface nic in nics) + { + if (nic.Description.ToLowerInvariant() == interfaceName.ToLowerInvariant()) + { + props = nic.GetIPProperties(); + break; + } + } + + if (props == null) + { + throw new InvalidOperationException(String.Format("No interface matching description '{0}' was found.", interfaceName)); + } + + foreach(UnicastIPAddressInformation unicast in props.UnicastAddresses) + { + // Find the first InterNetwork address for this interface and + // go with it. + if (unicast.Address.AddressFamily == AddressFamily.InterNetwork) + { + _broadcastEndpoint = new IPEndPoint(GetBroadcastAddress(unicast.Address, unicast.IPv4Mask), _udpPort); + break; + } + } + + if (_broadcastEndpoint == null) + { + throw new InvalidOperationException(String.Format("No IPV4 network information was found for interface '{0}'.", interfaceName)); + } + + } + catch(Exception e) + { + Log.Write(LogType.Error, LogComponent.EthernetPacket, + "Error configuring UDP socket {0} for use with ContrAlto on interface {1}. Ensure that the selected network interface is valid, configured properly, and that nothing else is using this port.", + _udpPort, + interfaceName); + + Log.Write(LogType.Error, LogComponent.EthernetPacket, + "Error was '{0}'.", + e.Message); + + _udpClient = null; + } + } + + public void RegisterReceiveCallback(ReceivePacketDelegate callback) + { + // UDP connection could not be configured, can't receive anything. + if (_udpClient == null) + { + return; + } + + // Set up input + _callback = callback; + BeginReceive(); + } + + + /// + /// Sends an array of bytes over the ethernet as a 3mbit packet encapsulated in a 10mbit packet. + /// + /// + /// + public void Send(ushort[] packet, int length) + { + // UDP could not be configured, drop the packet. + if (_udpClient == null) + { + return; + } + + // Sanity check. + if (length < 1) + { + throw new InvalidOperationException("Raw packet data must contain at least two bytes for addressing."); + } + + // + // Outgoing packet contains 1 extra word (2 bytes) containing + // the prepended packet length (one word) + byte[] packetBytes = new byte[length * 2 + 2]; + + // + // First two bytes include the length of the 3mbit packet; since 10mbit packets have a minimum length of 46 + // bytes, and 3mbit packets have no minimum length this is necessary so the receiver can pull out the + // correct amount of data. + // + packetBytes[0] = (byte)(length); + packetBytes[1] = (byte)((length) >> 8); + + // + // Do this annoying dance to stuff the ushorts into bytes because this is C#. + // + for (int i = 0; i < length; i++) + { + packetBytes[i * 2 + 2] = (byte)(packet[i]); + packetBytes[i * 2 + 3] = (byte)(packet[i] >> 8); + } + + // + // Grab the source and destination host addresses from the packet we're sending + // and build 10mbit versions. + // + byte destinationHost = packetBytes[3]; + byte sourceHost = packetBytes[2]; + + Log.Write(LogComponent.HostNetworkInterface, "Sending packet; source {0} destination {1}, length {2} words.", + Conversion.ToOctal(sourceHost), + Conversion.ToOctal(destinationHost), + length); + + _udpClient.Send(packetBytes, packetBytes.Length, _broadcastEndpoint); + + Log.Write(LogComponent.HostNetworkInterface, "Encapsulated 3mbit packet sent via UDP."); + } + + /// + /// Begin receiving packets, forever. + /// + private void BeginReceive() + { + // Kick off receive thread. + _receiveThread = new Thread(ReceiveThread); + _receiveThread.Start(); + } + + private void ReceiveThread() + { + // Just call ReceivePackets, that's it. This will never return. + // (probably need to make this more elegant so we can tear down the thread + // properly.) + Log.Write(LogComponent.HostNetworkInterface, "UDP Receiver thread started."); + + IPEndPoint groupEndPoint = new IPEndPoint(IPAddress.Any, _udpPort); + //return; + + while (true) + { + byte[] data = _udpClient.Receive(ref groupEndPoint); + + // TODO: sanitize data before handing it off. + + Log.Write(LogComponent.HostNetworkInterface, "Received UDP-encapsulated 3mbit packet."); + _callback(new System.IO.MemoryStream(data)); + } + } + + + private IPAddress GetBroadcastAddress(IPAddress address, IPAddress subnetMask) + { + byte[] ipAdressBytes = address.GetAddressBytes(); + byte[] subnetMaskBytes = subnetMask.GetAddressBytes(); + + byte[] broadcastAddress = new byte[ipAdressBytes.Length]; + for (int i = 0; i < broadcastAddress.Length; i++) + { + broadcastAddress[i] = (byte)(ipAdressBytes[i] | (subnetMaskBytes[i] ^ 255)); + } + + return new IPAddress(broadcastAddress); + } + + // Callback delegate for received data. + private ReceivePacketDelegate _callback; + + // Thread used for receive + private Thread _receiveThread; + + // UDP port (TODO: make configurable?) + private const int _udpPort = 42424; + private UdpClient _udpClient; + private IPEndPoint _broadcastEndpoint; + + } +} diff --git a/Contralto/Logging/Log.cs b/Contralto/Logging/Log.cs index c7e2012..16ef657 100644 --- a/Contralto/Logging/Log.cs +++ b/Contralto/Logging/Log.cs @@ -25,8 +25,9 @@ namespace Contralto.Logging EthernetController = 0x400, EthernetTask = 0x800, TaskSwitch = 0x1000, - HostEthernet = 0x2000, + HostNetworkInterface = 0x2000, EthernetPacket = 0x4000, + Configuration = 0x8000, Debug = 0x40000000, All = 0x7fffffff diff --git a/Contralto/Program.cs b/Contralto/Program.cs index 76c3a85..b52c998 100644 --- a/Contralto/Program.cs +++ b/Contralto/Program.cs @@ -1,6 +1,7 @@ using Contralto.CPU; using Contralto.IO; using System; +using System.Net; using System.Collections.Generic; namespace Contralto @@ -12,11 +13,9 @@ namespace Contralto { // Handle command-line args PrintHerald(); - // See if WinPCap is installed and working - TestPCap(); - ParseCommandLine(args); - + // See if WinPCap is installed and working + TestPCap(); AltoSystem system = new AltoSystem(); @@ -44,99 +43,7 @@ namespace Contralto Console.WriteLine("ContrAlto v0.1 (c) 2015, 2016 Living Computer Museum."); Console.WriteLine("Bug reports to joshd@livingcomputermuseum.org"); Console.WriteLine(); - } - - private static void ParseCommandLine(string[] args) - { - // At the moment, options start with a "-" and are one of: - // "-hostaddress
" : specifies ethernet host address in octal (1-377) - // "-hostinterface " : specifies the name of the host ethernet interface to use - // "-listinterfaces" : lists ethernet interfaces known by pcap - // "-drive0 " : attaches disk image to drive 0 - // "-drive1 " : attaches disk image to drive 1 - - int index = 0; - - // TODO: this parsing needs to be made not terrible. - while(index < args.Length) - { - switch (args[index++].ToLower()) - { - case "-hostaddress": - if (index < args.Length) - { - Configuration.HostAddress = Convert.ToByte(args[index++], 8); - } - else - { - PrintUsage(); - } - break; - - case "-hostinterface": - if (index < args.Length) - { - if (!Configuration.HostEthernetAvailable) - { - Console.WriteLine("Ethernet functionality is disabled, host interface cannot be specified."); - } - else - { - Configuration.HostEthernetInterfaceName = args[index++]; - } - } - else - { - PrintUsage(); - } - break; - - case "-listinterfaces": - if (!Configuration.HostEthernetAvailable) - { - Console.WriteLine("Ethernet functionality is disabled, interfaces cannot be enumerated."); - } - else - { - List interfaces = EthernetInterface.EnumerateDevices(); - - foreach (EthernetInterface i in interfaces) - { - Console.WriteLine("Name: '{0}'\n Description: '{1}'\n MAC '{2}'", i.Name, i.Description, i.MacAddress); - } - } - break; - - case "-drive0": - if (index < args.Length) - { - Configuration.Drive0Image = args[index++]; - } - else - { - PrintUsage(); - } - break; - - case "-drive1": - if (index < args.Length) - { - Configuration.Drive1Image = args[index++]; - } - else - { - PrintUsage(); - } - break; - } - } - } - - private static void PrintUsage() - { - // TODO: make more useful. - Console.WriteLine("Something is wrong, try again."); - } + } private static void TestPCap() { @@ -145,7 +52,7 @@ namespace Contralto try { List interfaces = EthernetInterface.EnumerateDevices(); - Configuration.HostEthernetAvailable = true; + Configuration.HostRawEthernetInterfacesAvailable = true; } catch { @@ -153,7 +60,7 @@ namespace Contralto Console.WriteLine(" Ethernet functionality is disabled."); Console.WriteLine(" Please install WinPCAP from: http://www.winpcap.org/"); - Configuration.HostEthernetAvailable = false; + Configuration.HostRawEthernetInterfacesAvailable = false; } } } diff --git a/Contralto/Properties/Resources.Designer.cs b/Contralto/Properties/Resources.Designer.cs new file mode 100644 index 0000000..0235d95 --- /dev/null +++ b/Contralto/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Contralto.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Contralto.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/Contralto/UI/EthernetBootWindow.resx b/Contralto/Properties/Resources.resx similarity index 100% rename from Contralto/UI/EthernetBootWindow.resx rename to Contralto/Properties/Resources.resx diff --git a/Contralto/UI/EthernetBootWindow.Designer.cs b/Contralto/UI/AlternateBootWindow.Designer.cs similarity index 96% rename from Contralto/UI/EthernetBootWindow.Designer.cs rename to Contralto/UI/AlternateBootWindow.Designer.cs index 3850640..d4bf01e 100644 --- a/Contralto/UI/EthernetBootWindow.Designer.cs +++ b/Contralto/UI/AlternateBootWindow.Designer.cs @@ -1,6 +1,6 @@ namespace Contralto { - partial class EthernetBootWindow + partial class AlternateBootOptions { /// /// Required designer variable. @@ -99,16 +99,16 @@ this.CancelButton.UseVisualStyleBackColor = true; this.CancelButton.Click += new System.EventHandler(this.CancelButton_Click); // - // EthernetBootWindow + // AlternateBootOptions // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(413, 130); + this.ClientSize = new System.Drawing.Size(403, 128); this.Controls.Add(this.CancelButton); this.Controls.Add(this.OKButton); this.Controls.Add(this.BootFileGroup); this.Controls.Add(this.EthernetBootEnabled); - this.Name = "EthernetBootWindow"; + this.Name = "AlternateBootOptions"; this.ShowIcon = false; this.ShowInTaskbar = false; this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; diff --git a/Contralto/UI/EthernetBootWindow.cs b/Contralto/UI/AlternateBootWindow.cs similarity index 95% rename from Contralto/UI/EthernetBootWindow.cs rename to Contralto/UI/AlternateBootWindow.cs index c7964a8..cf5bbc8 100644 --- a/Contralto/UI/EthernetBootWindow.cs +++ b/Contralto/UI/AlternateBootWindow.cs @@ -10,9 +10,9 @@ using System.Windows.Forms; namespace Contralto { - public partial class EthernetBootWindow : Form + public partial class AlternateBootOptions : Form { - public EthernetBootWindow() + public AlternateBootOptions() { InitializeComponent(); @@ -20,7 +20,7 @@ namespace Contralto BootFileGroup.Enabled = EthernetBootEnabled.Checked = Configuration.EthernetBootEnabled; - SelectBootFile(Configuration.EthernetBootFile); + SelectBootFile(Configuration.BootAddress); } @@ -79,7 +79,7 @@ namespace Contralto _selectedBoot = ((BootFileEntry)BootFileComboBox.SelectedItem).FileNumber; } - Configuration.EthernetBootFile = _selectedBoot; + Configuration.BootAddress = _selectedBoot; Configuration.EthernetBootEnabled = _bootEnabled; this.Close(); diff --git a/Contralto/UI/AlternateBootWindow.resx b/Contralto/UI/AlternateBootWindow.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Contralto/UI/AlternateBootWindow.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Contralto/UI/AltoWindow.Designer.cs b/Contralto/UI/AltoWindow.Designer.cs index d60d8e0..1777900 100644 --- a/Contralto/UI/AltoWindow.Designer.cs +++ b/Contralto/UI/AltoWindow.Designer.cs @@ -44,6 +44,8 @@ this.loadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.unloadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.Drive1ImageName = new System.Windows.Forms.ToolStripMenuItem(); + this.enableAlternateBootToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.SystemEthernetBootMenu = new System.Windows.Forms.ToolStripMenuItem(); this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.SystemShowDebuggerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -52,7 +54,6 @@ this.CaptureStatusLabel = new System.Windows.Forms.ToolStripStatusLabel(); this.SystemStatusLabel = new System.Windows.Forms.ToolStripStatusLabel(); this.DiskStatusLabel = new System.Windows.Forms.ToolStripStatusLabel(); - this.SystemEthernetBootMenu = new System.Windows.Forms.ToolStripMenuItem(); ((System.ComponentModel.ISupportInitialize)(this.DisplayBox)).BeginInit(); this.menuStrip1.SuspendLayout(); this.StatusLine.SuspendLayout(); @@ -93,7 +94,7 @@ // exitToolStripMenuItem // this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; - this.exitToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.exitToolStripMenuItem.Size = new System.Drawing.Size(92, 22); this.exitToolStripMenuItem.Text = "Exit"; this.exitToolStripMenuItem.Click += new System.EventHandler(this.OnFileExitClick); // @@ -104,6 +105,7 @@ this.SystemResetMenuItem, this.drive0ToolStripMenuItem, this.drive1ToolStripMenuItem, + this.enableAlternateBootToolStripMenuItem, this.SystemEthernetBootMenu, this.optionsToolStripMenuItem, this.SystemShowDebuggerMenuItem}); @@ -176,14 +178,14 @@ // loadToolStripMenuItem // this.loadToolStripMenuItem.Name = "loadToolStripMenuItem"; - this.loadToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.loadToolStripMenuItem.Size = new System.Drawing.Size(134, 22); this.loadToolStripMenuItem.Text = "Load..."; this.loadToolStripMenuItem.Click += new System.EventHandler(this.OnSystemDrive1LoadClick); // // unloadToolStripMenuItem // this.unloadToolStripMenuItem.Name = "unloadToolStripMenuItem"; - this.unloadToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.unloadToolStripMenuItem.Size = new System.Drawing.Size(134, 22); this.unloadToolStripMenuItem.Text = "Unload..."; this.unloadToolStripMenuItem.Click += new System.EventHandler(this.OnSystemDrive1UnloadClick); // @@ -191,15 +193,28 @@ // this.Drive1ImageName.Enabled = false; this.Drive1ImageName.Name = "Drive1ImageName"; - this.Drive1ImageName.Size = new System.Drawing.Size(152, 22); + this.Drive1ImageName.Size = new System.Drawing.Size(134, 22); this.Drive1ImageName.Text = "Image Name"; // + // enableAlternateBootToolStripMenuItem + // + this.enableAlternateBootToolStripMenuItem.Name = "enableAlternateBootToolStripMenuItem"; + this.enableAlternateBootToolStripMenuItem.Size = new System.Drawing.Size(210, 22); + this.enableAlternateBootToolStripMenuItem.Text = "Enable Alternate Boot"; + // + // SystemEthernetBootMenu + // + this.SystemEthernetBootMenu.Name = "SystemEthernetBootMenu"; + this.SystemEthernetBootMenu.Size = new System.Drawing.Size(210, 22); + this.SystemEthernetBootMenu.Text = "Alternate Boot Options..."; + this.SystemEthernetBootMenu.Click += new System.EventHandler(this.OnAlternateBootOptionsClicked); + // // optionsToolStripMenuItem // - this.optionsToolStripMenuItem.Enabled = false; this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; this.optionsToolStripMenuItem.Size = new System.Drawing.Size(210, 22); this.optionsToolStripMenuItem.Text = "Options..."; + this.optionsToolStripMenuItem.Click += new System.EventHandler(this.OnSystemOptionsClick); // // SystemShowDebuggerMenuItem // @@ -221,7 +236,7 @@ // aboutToolStripMenuItem // this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; - this.aboutToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.aboutToolStripMenuItem.Size = new System.Drawing.Size(103, 22); this.aboutToolStripMenuItem.Text = "About"; this.aboutToolStripMenuItem.Click += new System.EventHandler(this.OnHelpAboutClick); // @@ -256,13 +271,6 @@ this.DiskStatusLabel.Size = new System.Drawing.Size(82, 17); this.DiskStatusLabel.Text = "DiskStatusLabel"; // - // SystemEthernetBootMenu - // - this.SystemEthernetBootMenu.Name = "SystemEthernetBootMenu"; - this.SystemEthernetBootMenu.Size = new System.Drawing.Size(210, 22); - this.SystemEthernetBootMenu.Text = "Ethernet Boot..."; - this.SystemEthernetBootMenu.Click += new System.EventHandler(this.OnEthernetBootClicked); - // // AltoWindow // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -320,5 +328,6 @@ private System.Windows.Forms.ToolStripStatusLabel SystemStatusLabel; private System.Windows.Forms.ToolStripStatusLabel DiskStatusLabel; private System.Windows.Forms.ToolStripMenuItem SystemEthernetBootMenu; + private System.Windows.Forms.ToolStripMenuItem enableAlternateBootToolStripMenuItem; } } \ No newline at end of file diff --git a/Contralto/UI/AltoWindow.cs b/Contralto/UI/AltoWindow.cs index 72bd622..41e5597 100644 --- a/Contralto/UI/AltoWindow.cs +++ b/Contralto/UI/AltoWindow.cs @@ -1,17 +1,12 @@ using Contralto.CPU; using Contralto.Display; using Contralto.IO; +using Contralto.UI; using System; using System.Collections.Generic; -using System.ComponentModel; -using System.Data; using System.Drawing; using System.Drawing.Imaging; using System.IO; -using System.Linq; -using System.Text; -using System.Threading; -using System.Threading.Tasks; using System.Windows.Forms; namespace Contralto @@ -29,10 +24,17 @@ namespace Contralto _displayBuffer = new Bitmap(608, 808, PixelFormat.Format1bppIndexed); DisplayBox.Image = _displayBuffer; + _lastBuffer = _currentBuffer = _displayData0; + _frame = 0; + + _frameTimer = new FrameTimer(60.0); + ReleaseMouse(); SystemStatusLabel.Text = _systemStoppedText; DiskStatusLabel.Text = String.Empty; + + this.DoubleBuffered = true; } public void AttachSystem(AltoSystem system) @@ -135,9 +137,9 @@ namespace Contralto Drive1ImageName.Text = _noImageLoadedText; } - private void OnEthernetBootClicked(object sender, EventArgs e) + private void OnAlternateBootOptionsClicked(object sender, EventArgs e) { - EthernetBootWindow bootWindow = new EthernetBootWindow(); + AlternateBootOptions bootWindow = new AlternateBootOptions(); bootWindow.ShowDialog(); // @@ -146,6 +148,12 @@ namespace Contralto _system.PressBootKeys(); } + private void OnSystemOptionsClick(object sender, EventArgs e) + { + SystemOptions optionsWindow = new SystemOptions(); + optionsWindow.ShowDialog(); + } + private void OnHelpAboutClick(object sender, EventArgs e) { AboutBox about = new AboutBox(); @@ -185,14 +193,21 @@ namespace Contralto private void OnFileExitClick(object sender, EventArgs e) { _controller.StopExecution(); - this.Close(); + this.Close(); } private void OnAltoWindowClosed(object sender, FormClosedEventArgs e) { + // Halt the system and detach our display + _controller.StopExecution(); + _system.DetachDisplay(); + // Commit loaded packs back to disk CommitDiskPack(0); - CommitDiskPack(1); + CommitDiskPack(1); + + this.Dispose(); + Application.Exit(); } private string ShowImageLoadDialog(int drive) @@ -259,7 +274,28 @@ namespace Contralto public void Render() { - BeginInvoke(new DisplayDelegate(RefreshDisplayBox)); + _frame++; + + // Wait for the next frame + _frameTimer.WaitForFrame(); + + if (Configuration.InterlaceDisplay) + { + // Flip the back-buffer + if ((_frame % 2) == 0) + { + _currentBuffer = _displayData0; + _lastBuffer = _displayData1; + } + else + { + _currentBuffer = _displayData1; + _lastBuffer = _displayData0; + } + } + + // Asynchronously render this frame. + BeginInvoke(new DisplayDelegate(RefreshDisplayBox)); } private void RefreshDisplayBox() @@ -268,13 +304,16 @@ namespace Contralto BitmapData data = _displayBuffer.LockBits(_displayRect, ImageLockMode.WriteOnly, PixelFormat.Format1bppIndexed); IntPtr ptr = data.Scan0; - System.Runtime.InteropServices.Marshal.Copy(_displayData, 0, ptr, _displayData.Length - 4); + System.Runtime.InteropServices.Marshal.Copy(_lastBuffer, 0, ptr, _lastBuffer.Length - 4); _displayBuffer.UnlockBits(data); - DisplayBox.Refresh(); + DisplayBox.Refresh(); - // If you want interlacing to be more visible: - //Array.Clear(_displayData, 0, _displayData.Length); + // Clear the buffer if we're displaying in fakey-"interlaced" mode. + if (Configuration.InterlaceDisplay) + { + Array.Clear(_lastBuffer, 0, _lastBuffer.Length); + } } /// @@ -292,29 +331,29 @@ namespace Contralto // Low resolution; double up pixels. int address = scanline * 76 + wordOffset * 4; - if (address > _displayData.Length) + if (address > _currentBuffer.Length) { throw new InvalidOperationException("Display word address is out of bounds."); } UInt32 stretched = StretchWord(word); - _displayData[address] = (byte)(stretched >> 24); - _displayData[address + 1] = (byte)(stretched >> 16); - _displayData[address + 2] = (byte)(stretched >> 8); - _displayData[address + 3] = (byte)(stretched); + _currentBuffer[address] = (byte)(stretched >> 24); + _currentBuffer[address + 1] = (byte)(stretched >> 16); + _currentBuffer[address + 2] = (byte)(stretched >> 8); + _currentBuffer[address + 3] = (byte)(stretched); } else { int address = scanline * 76 + wordOffset * 2; - if (address > _displayData.Length) + if (address > _currentBuffer.Length) { throw new InvalidOperationException("Display word address is out of bounds."); } - _displayData[address] = (byte)(word >> 8); - _displayData[address + 1] = (byte)(word); + _currentBuffer[address] = (byte)(word >> 8); + _currentBuffer[address + 1] = (byte)(word); } } @@ -333,19 +372,19 @@ namespace Contralto // Grab the 32 bits straddling the cursor from the display buffer // so we can merge the 16 cursor bits in. // - UInt32 displayWord = (UInt32)((_displayData[address] << 24) | - (_displayData[address + 1] << 16) | - (_displayData[address + 2] << 8) | - _displayData[address + 3]); + UInt32 displayWord = (UInt32)((_currentBuffer[address] << 24) | + (_currentBuffer[address + 1] << 16) | + (_currentBuffer[address + 2] << 8) | + _currentBuffer[address + 3]); UInt32 longcursorWord = (UInt32)(cursorWord << 16); displayWord ^= (longcursorWord >> (xOffset % 8)); - _displayData[address] = (byte)(displayWord >> 24); - _displayData[address + 1] = (byte)(displayWord >> 16); - _displayData[address + 2] = (byte)(displayWord >> 8); - _displayData[address + 3] = (byte)(displayWord); + _currentBuffer[address] = (byte)(displayWord >> 24); + _currentBuffer[address + 1] = (byte)(displayWord >> 16); + _currentBuffer[address + 2] = (byte)(displayWord >> 8); + _currentBuffer[address + 3] = (byte)(displayWord); } /// @@ -696,11 +735,19 @@ namespace Contralto // Display related data. // Note: display is actually 606 pixels wide, but that's not an even multiple of 8, so we round up. - private byte[] _displayData = new byte[808 * 76 + 4]; // + 4 to make cursor display logic simpler. + // Two backbuffers and references to the current / last buffer for rendering + private byte[] _displayData0 = new byte[808 * 76 + 4]; // + 4 to make cursor display logic simpler. + private byte[] _displayData1 = new byte[808 * 76 + 4]; // + 4 to make cursor display logic simpler. + private byte[] _currentBuffer; + private byte[] _lastBuffer; + private int _frame; private Bitmap _displayBuffer; private Rectangle _displayRect = new Rectangle(0, 0, 608, 808); private delegate void DisplayDelegate(); + // Speed throttling + FrameTimer _frameTimer; + // Input related data // Keyboard mapping from windows vkeys to Alto keys @@ -725,6 +772,5 @@ namespace Contralto private const string _systemRunningText = "Alto Running."; private const string _systemErrorText = "Alto Stopped due to error. See Debugger."; - } } diff --git a/Contralto/UI/SystemOptions.Designer.cs b/Contralto/UI/SystemOptions.Designer.cs new file mode 100644 index 0000000..7df345f --- /dev/null +++ b/Contralto/UI/SystemOptions.Designer.cs @@ -0,0 +1,324 @@ +namespace Contralto.UI +{ + partial class SystemOptions + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.tabControl1 = new System.Windows.Forms.TabControl(); + this.tabPage1 = new System.Windows.Forms.TabPage(); + this.AltoII3KRAMRadioButton = new System.Windows.Forms.RadioButton(); + this.AltoII2KROMRadioButton = new System.Windows.Forms.RadioButton(); + this.label1 = new System.Windows.Forms.Label(); + this.AltoII1KROMRadioButton = new System.Windows.Forms.RadioButton(); + this.tabPage2 = new System.Windows.Forms.TabPage(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.RawEthernetRadioButton = new System.Windows.Forms.RadioButton(); + this.UDPRadioButton = new System.Windows.Forms.RadioButton(); + this.HostInterfaceGroupBox = new System.Windows.Forms.GroupBox(); + this.EthernetInterfaceListBox = new System.Windows.Forms.ListBox(); + this.label4 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.AltoEthernetAddressTextBox = new System.Windows.Forms.TextBox(); + this.tabPage3 = new System.Windows.Forms.TabPage(); + this.ThrottleSpeedCheckBox = new System.Windows.Forms.CheckBox(); + this.InterlaceDisplayCheckBox = new System.Windows.Forms.CheckBox(); + this.OKButton = new System.Windows.Forms.Button(); + this.CancelButton = new System.Windows.Forms.Button(); + this.tabControl1.SuspendLayout(); + this.tabPage1.SuspendLayout(); + this.tabPage2.SuspendLayout(); + this.groupBox1.SuspendLayout(); + this.HostInterfaceGroupBox.SuspendLayout(); + this.tabPage3.SuspendLayout(); + this.SuspendLayout(); + // + // tabControl1 + // + this.tabControl1.Controls.Add(this.tabPage1); + this.tabControl1.Controls.Add(this.tabPage2); + this.tabControl1.Controls.Add(this.tabPage3); + this.tabControl1.Location = new System.Drawing.Point(3, 5); + this.tabControl1.Name = "tabControl1"; + this.tabControl1.SelectedIndex = 0; + this.tabControl1.Size = new System.Drawing.Size(368, 227); + this.tabControl1.TabIndex = 0; + // + // tabPage1 + // + this.tabPage1.Controls.Add(this.AltoII3KRAMRadioButton); + this.tabPage1.Controls.Add(this.AltoII2KROMRadioButton); + this.tabPage1.Controls.Add(this.label1); + this.tabPage1.Controls.Add(this.AltoII1KROMRadioButton); + this.tabPage1.Location = new System.Drawing.Point(4, 22); + this.tabPage1.Name = "tabPage1"; + this.tabPage1.Padding = new System.Windows.Forms.Padding(3); + this.tabPage1.Size = new System.Drawing.Size(360, 201); + this.tabPage1.TabIndex = 0; + this.tabPage1.Text = "CPU"; + this.tabPage1.UseVisualStyleBackColor = true; + // + // AltoII3KRAMRadioButton + // + this.AltoII3KRAMRadioButton.AutoSize = true; + this.AltoII3KRAMRadioButton.Location = new System.Drawing.Point(14, 75); + this.AltoII3KRAMRadioButton.Name = "AltoII3KRAMRadioButton"; + this.AltoII3KRAMRadioButton.Size = new System.Drawing.Size(217, 17); + this.AltoII3KRAMRadioButton.TabIndex = 3; + this.AltoII3KRAMRadioButton.TabStop = true; + this.AltoII3KRAMRadioButton.Text = "Alto II, 1K Control ROM, 3K Control RAM"; + this.AltoII3KRAMRadioButton.UseVisualStyleBackColor = true; + this.AltoII3KRAMRadioButton.CheckedChanged += new System.EventHandler(this.OnSystemTypeCheckChanged); + // + // AltoII2KROMRadioButton + // + this.AltoII2KROMRadioButton.AutoSize = true; + this.AltoII2KROMRadioButton.Location = new System.Drawing.Point(14, 52); + this.AltoII2KROMRadioButton.Name = "AltoII2KROMRadioButton"; + this.AltoII2KROMRadioButton.Size = new System.Drawing.Size(217, 17); + this.AltoII2KROMRadioButton.TabIndex = 2; + this.AltoII2KROMRadioButton.TabStop = true; + this.AltoII2KROMRadioButton.Text = "Alto II, 2K Control ROM, 1K Control RAM"; + this.AltoII2KROMRadioButton.UseVisualStyleBackColor = true; + this.AltoII2KROMRadioButton.CheckedChanged += new System.EventHandler(this.OnSystemTypeCheckChanged); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(11, 13); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(108, 13); + this.label1.TabIndex = 1; + this.label1.Text = "System configuration:"; + // + // AltoII1KROMRadioButton + // + this.AltoII1KROMRadioButton.AutoSize = true; + this.AltoII1KROMRadioButton.Location = new System.Drawing.Point(14, 29); + this.AltoII1KROMRadioButton.Name = "AltoII1KROMRadioButton"; + this.AltoII1KROMRadioButton.Size = new System.Drawing.Size(217, 17); + this.AltoII1KROMRadioButton.TabIndex = 0; + this.AltoII1KROMRadioButton.TabStop = true; + this.AltoII1KROMRadioButton.Text = "Alto II, 1K Control ROM, 1K Control RAM"; + this.AltoII1KROMRadioButton.UseVisualStyleBackColor = true; + this.AltoII1KROMRadioButton.CheckedChanged += new System.EventHandler(this.OnSystemTypeCheckChanged); + // + // tabPage2 + // + this.tabPage2.Controls.Add(this.groupBox1); + this.tabPage2.Controls.Add(this.HostInterfaceGroupBox); + this.tabPage2.Controls.Add(this.label3); + this.tabPage2.Controls.Add(this.AltoEthernetAddressTextBox); + this.tabPage2.Location = new System.Drawing.Point(4, 22); + this.tabPage2.Name = "tabPage2"; + this.tabPage2.Padding = new System.Windows.Forms.Padding(3); + this.tabPage2.Size = new System.Drawing.Size(360, 201); + this.tabPage2.TabIndex = 1; + this.tabPage2.Text = "Ethernet"; + this.tabPage2.UseVisualStyleBackColor = true; + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.RawEthernetRadioButton); + this.groupBox1.Controls.Add(this.UDPRadioButton); + this.groupBox1.Location = new System.Drawing.Point(10, 30); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(335, 39); + this.groupBox1.TabIndex = 3; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Ethernet Encapsulation"; + // + // RawEthernetRadioButton + // + this.RawEthernetRadioButton.AutoSize = true; + this.RawEthernetRadioButton.Location = new System.Drawing.Point(77, 16); + this.RawEthernetRadioButton.Name = "RawEthernetRadioButton"; + this.RawEthernetRadioButton.Size = new System.Drawing.Size(186, 17); + this.RawEthernetRadioButton.TabIndex = 1; + this.RawEthernetRadioButton.TabStop = true; + this.RawEthernetRadioButton.Text = "Raw Ethernet (requires WinPCAP)"; + this.RawEthernetRadioButton.UseVisualStyleBackColor = true; + this.RawEthernetRadioButton.CheckedChanged += new System.EventHandler(this.OnEthernetTypeCheckedChanged); + // + // UDPRadioButton + // + this.UDPRadioButton.AutoSize = true; + this.UDPRadioButton.Location = new System.Drawing.Point(9, 16); + this.UDPRadioButton.Name = "UDPRadioButton"; + this.UDPRadioButton.Size = new System.Drawing.Size(48, 17); + this.UDPRadioButton.TabIndex = 0; + this.UDPRadioButton.TabStop = true; + this.UDPRadioButton.Text = "UDP"; + this.UDPRadioButton.UseVisualStyleBackColor = true; + this.UDPRadioButton.CheckedChanged += new System.EventHandler(this.OnEthernetTypeCheckedChanged); + // + // HostInterfaceGroupBox + // + this.HostInterfaceGroupBox.Controls.Add(this.EthernetInterfaceListBox); + this.HostInterfaceGroupBox.Controls.Add(this.label4); + this.HostInterfaceGroupBox.Location = new System.Drawing.Point(10, 75); + this.HostInterfaceGroupBox.Name = "HostInterfaceGroupBox"; + this.HostInterfaceGroupBox.Size = new System.Drawing.Size(335, 120); + this.HostInterfaceGroupBox.TabIndex = 2; + this.HostInterfaceGroupBox.TabStop = false; + this.HostInterfaceGroupBox.Text = "Host Interface"; + // + // EthernetInterfaceListBox + // + this.EthernetInterfaceListBox.FormattingEnabled = true; + this.EthernetInterfaceListBox.Location = new System.Drawing.Point(9, 41); + this.EthernetInterfaceListBox.Name = "EthernetInterfaceListBox"; + this.EthernetInterfaceListBox.Size = new System.Drawing.Size(326, 69); + this.EthernetInterfaceListBox.TabIndex = 1; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(9, 20); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(245, 13); + this.label4.TabIndex = 0; + this.label4.Text = "Select the Network interface to use with ContrAlto:"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(7, 13); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(101, 13); + this.label3.TabIndex = 1; + this.label3.Text = "Alto Address (octal):"; + // + // AltoEthernetAddressTextBox + // + this.AltoEthernetAddressTextBox.Location = new System.Drawing.Point(114, 10); + this.AltoEthernetAddressTextBox.Name = "AltoEthernetAddressTextBox"; + this.AltoEthernetAddressTextBox.Size = new System.Drawing.Size(49, 20); + this.AltoEthernetAddressTextBox.TabIndex = 0; + // + // tabPage3 + // + this.tabPage3.Controls.Add(this.ThrottleSpeedCheckBox); + this.tabPage3.Controls.Add(this.InterlaceDisplayCheckBox); + this.tabPage3.Location = new System.Drawing.Point(4, 22); + this.tabPage3.Name = "tabPage3"; + this.tabPage3.Padding = new System.Windows.Forms.Padding(3); + this.tabPage3.Size = new System.Drawing.Size(360, 201); + this.tabPage3.TabIndex = 2; + this.tabPage3.Text = "Display"; + this.tabPage3.UseVisualStyleBackColor = true; + // + // ThrottleSpeedCheckBox + // + this.ThrottleSpeedCheckBox.AutoSize = true; + this.ThrottleSpeedCheckBox.Location = new System.Drawing.Point(19, 22); + this.ThrottleSpeedCheckBox.Name = "ThrottleSpeedCheckBox"; + this.ThrottleSpeedCheckBox.Size = new System.Drawing.Size(188, 17); + this.ThrottleSpeedCheckBox.TabIndex = 1; + this.ThrottleSpeedCheckBox.Text = "Throttle Framerate at 60 fields/sec"; + this.ThrottleSpeedCheckBox.UseVisualStyleBackColor = true; + // + // InterlaceDisplayCheckBox + // + this.InterlaceDisplayCheckBox.AutoSize = true; + this.InterlaceDisplayCheckBox.Location = new System.Drawing.Point(19, 45); + this.InterlaceDisplayCheckBox.Name = "InterlaceDisplayCheckBox"; + this.InterlaceDisplayCheckBox.Size = new System.Drawing.Size(196, 17); + this.InterlaceDisplayCheckBox.TabIndex = 0; + this.InterlaceDisplayCheckBox.Text = "Interlaced Display (headache mode)"; + this.InterlaceDisplayCheckBox.UseVisualStyleBackColor = true; + // + // OKButton + // + this.OKButton.Location = new System.Drawing.Point(211, 239); + this.OKButton.Name = "OKButton"; + this.OKButton.Size = new System.Drawing.Size(75, 23); + this.OKButton.TabIndex = 1; + this.OKButton.Text = "OK"; + this.OKButton.UseVisualStyleBackColor = true; + this.OKButton.Click += new System.EventHandler(this.OKButton_Click); + // + // CancelButton + // + this.CancelButton.Location = new System.Drawing.Point(292, 239); + this.CancelButton.Name = "CancelButton"; + this.CancelButton.Size = new System.Drawing.Size(75, 23); + this.CancelButton.TabIndex = 2; + this.CancelButton.Text = "Cancel"; + this.CancelButton.UseVisualStyleBackColor = true; + this.CancelButton.Click += new System.EventHandler(this.CancelButton_Click); + // + // SystemOptions + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(371, 271); + this.Controls.Add(this.CancelButton); + this.Controls.Add(this.OKButton); + this.Controls.Add(this.tabControl1); + this.Name = "SystemOptions"; + this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "System Options"; + this.tabControl1.ResumeLayout(false); + this.tabPage1.ResumeLayout(false); + this.tabPage1.PerformLayout(); + this.tabPage2.ResumeLayout(false); + this.tabPage2.PerformLayout(); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.HostInterfaceGroupBox.ResumeLayout(false); + this.HostInterfaceGroupBox.PerformLayout(); + this.tabPage3.ResumeLayout(false); + this.tabPage3.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TabControl tabControl1; + private System.Windows.Forms.TabPage tabPage1; + private System.Windows.Forms.RadioButton AltoII3KRAMRadioButton; + private System.Windows.Forms.RadioButton AltoII2KROMRadioButton; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.RadioButton AltoII1KROMRadioButton; + private System.Windows.Forms.TabPage tabPage2; + private System.Windows.Forms.GroupBox HostInterfaceGroupBox; + private System.Windows.Forms.ListBox EthernetInterfaceListBox; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.TextBox AltoEthernetAddressTextBox; + private System.Windows.Forms.Button OKButton; + private System.Windows.Forms.Button CancelButton; + private System.Windows.Forms.TabPage tabPage3; + private System.Windows.Forms.CheckBox ThrottleSpeedCheckBox; + private System.Windows.Forms.CheckBox InterlaceDisplayCheckBox; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.RadioButton RawEthernetRadioButton; + private System.Windows.Forms.RadioButton UDPRadioButton; + } +} \ No newline at end of file diff --git a/Contralto/UI/SystemOptions.cs b/Contralto/UI/SystemOptions.cs new file mode 100644 index 0000000..2288b80 --- /dev/null +++ b/Contralto/UI/SystemOptions.cs @@ -0,0 +1,218 @@ +using Contralto.IO; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Net.NetworkInformation; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Contralto.UI +{ + public partial class SystemOptions : Form + { + public SystemOptions() + { + InitializeComponent(); + + PopulateUI(); + } + + + /// + /// Populates the UI fields with data from the current configuration. + /// + private void PopulateUI() + { + _selectedSystemType = Configuration.SystemType; + _selectedInterfaceType = Configuration.HostPacketInterfaceType; + + switch(Configuration.SystemType) + { + case SystemType.OneKRom: + AltoII1KROMRadioButton.Checked = true; + break; + + case SystemType.TwoKRom: + AltoII2KROMRadioButton.Checked = true; + break; + + case SystemType.ThreeKRam: + AltoII3KRAMRadioButton.Checked = true; + break; + } + + InterlaceDisplayCheckBox.Checked = Configuration.InterlaceDisplay; + ThrottleSpeedCheckBox.Checked = Configuration.ThrottleSpeed; + + AltoEthernetAddressTextBox.Text = Conversion.ToOctal(Configuration.HostAddress); + + if (!Configuration.HostRawEthernetInterfacesAvailable) + { + // If PCAP isn't installed, the RAW Ethernet option is not available. + RawEthernetRadioButton.Enabled = false; + UDPRadioButton.Checked = true; + } + else + { + if (Configuration.HostPacketInterfaceType == PacketInterfaceType.UDPEncapsulation) + { + UDPRadioButton.Checked = true; + } + else + { + RawEthernetRadioButton.Checked = true; + } + } + + PopulateNetworkAdapterList(UDPRadioButton.Checked); + } + + private void PopulateNetworkAdapterList(bool udpEncapsulation) + { + // + // Populate the list with the interfaces available on the machine, for the + // type of encapsulation being used. + // + EthernetInterfaceListBox.Items.Clear(); + + NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces(); + + // Add the "Use no interface" option + EthernetInterfaceListBox.Items.Add( + new EthernetInterface("None", "No network adapter")); + + foreach (NetworkInterface iface in interfaces) + { + // For UDP we show all interfaces that support IPV4, for Raw Ethernet we show only Ethernet interfaces. + if (udpEncapsulation) + { + if (iface.Supports(NetworkInterfaceComponent.IPv4)) + { + EthernetInterfaceListBox.Items.Add(new EthernetInterface(iface.Name, iface.Description)); + } + } + else + { + if (iface.NetworkInterfaceType == NetworkInterfaceType.Ethernet) + { + EthernetInterfaceListBox.Items.Add(new EthernetInterface(iface.Name, iface.Description)); + } + } + } + + // + // Select the one that is already selected (if any) + // + EthernetInterfaceListBox.SelectedIndex = 0; + + if (!string.IsNullOrEmpty(Configuration.HostPacketInterfaceName)) + { + for (int i = 0; i < EthernetInterfaceListBox.Items.Count; i++) + { + EthernetInterface iface = (EthernetInterface)EthernetInterfaceListBox.Items[i]; + + if (iface.Description.ToLowerInvariant() == Configuration.HostPacketInterfaceName.ToLowerInvariant()) + { + EthernetInterfaceListBox.SelectedIndex = i; + break; + } + } + } + } + + private void OnSystemTypeCheckChanged(object sender, EventArgs e) + { + if (AltoII1KROMRadioButton.Checked) + { + _selectedSystemType = SystemType.OneKRom; + } + else if (AltoII2KROMRadioButton.Checked) + { + _selectedSystemType = SystemType.TwoKRom; + } + else if (AltoII3KRAMRadioButton.Checked) + { + _selectedSystemType = SystemType.ThreeKRam; + } + } + + private void OnEthernetTypeCheckedChanged(object sender, EventArgs e) + { + if (UDPRadioButton.Checked) + { + _selectedInterfaceType = PacketInterfaceType.UDPEncapsulation; + } + else + { + _selectedInterfaceType = PacketInterfaceType.EthernetEncapsulation; + } + + PopulateNetworkAdapterList(UDPRadioButton.Checked); + } + + private void OKButton_Click(object sender, EventArgs e) + { + try + { + int testValue = Convert.ToByte(AltoEthernetAddressTextBox.Text, 8); + + if (testValue < 1 || testValue > 254) + { + throw new ArgumentOutOfRangeException("Invalid host address."); + } + } + catch + { + MessageBox.Show("The Alto Ethernet address must be an octal value between 1 and 376."); + return; + } + + // + // Commit changes back to Configuration. + // + + EthernetInterface iface = (EthernetInterface)EthernetInterfaceListBox.SelectedItem; + + // + // First warn the user of changes that require a restart. + // + if (Configuration.HostPacketInterfaceName.ToLowerInvariant() != iface.Description.ToLowerInvariant() || + Configuration.HostPacketInterfaceType != _selectedInterfaceType || + Configuration.SystemType != _selectedSystemType) + { + MessageBox.Show("Changes to CPU or Ethernet configuration will not take effect until ContrAlto is restarted."); + } + + //System + Configuration.SystemType = _selectedSystemType; + + // Ethernet + Configuration.HostAddress = Convert.ToByte(AltoEthernetAddressTextBox.Text, 8); + Configuration.HostPacketInterfaceName = iface.Description; + Configuration.HostPacketInterfaceType = _selectedInterfaceType; + + // Display + Configuration.InterlaceDisplay = InterlaceDisplayCheckBox.Checked; + Configuration.ThrottleSpeed = ThrottleSpeedCheckBox.Checked; + + Configuration.WriteConfiguration(); + + this.Close(); + + } + + private void CancelButton_Click(object sender, EventArgs e) + { + this.Close(); + } + + private PacketInterfaceType _selectedInterfaceType; + private SystemType _selectedSystemType; + + + } +} diff --git a/Contralto/UI/SystemOptions.resx b/Contralto/UI/SystemOptions.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Contralto/UI/SystemOptions.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file

T5=`0o!e8RGa@b%Mz-EJmDqr&77dYhJ$KGZ(zM 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 diff --git a/Contralto/Disk/st76boot.dsk b/Contralto/Disk/st76boot.dsk index 335cbd3e7e6cf33265fe26123c0d3ea097ab319e..390aa003ac77c6b2e30347bb2b60f96d3e3bd8a5 100644 GIT binary patch delta 769 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 0) diff --git a/Contralto/HighResTimer.cs b/Contralto/HighResTimer.cs new file mode 100644 index 0000000..12ca5b5 --- /dev/null +++ b/Contralto/HighResTimer.cs @@ -0,0 +1,191 @@ +using System; +using System.ComponentModel; +using System.Runtime.InteropServices; +using System.Threading; + +namespace Contralto +{ + ///