/BrainFuckOS/BrainFuckOS-TestConsole/PortForwarderTEST.cs
C# | 69 lines | 65 code | 2 blank | 2 comment | 3 complexity | 919f2c7a0f610a480e556e7985b9535f MD5 | raw file
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
-
- namespace BrainFuckOS
- {
- static class PortForwarder
- {
- public static uint Read(uint pointer,object sender)
- {
- switch ((WR_Modes)pointer)
- {
- case WR_Modes.ConsoleChar:
- return (uint)Console.ReadKey(true).KeyChar;
- case WR_Modes.ConsoleCursorTop:
- return (uint)Console.CursorTop;
- case WR_Modes.ConsoleCursorLeft:
- return (uint)Console.CursorLeft;
- default:
- //Cosmos.System.Global.Dbg.SendMessage(sender.ToString(), "0x" + pointer.ToString("X2") + " ist nicht lesbar.");
- return 0;
- }
- }
-
- public static void Write(uint pointer, uint value, object sender)
- {
- Program.Debug("Pointer: " + pointer.ToString("X2") + "; Value: " + value.ToString("X2"));
- try
- {
- switch ((WR_Modes)pointer)
- {
- case WR_Modes.ConsoleChar:
- Console.Write((char)value);
- if (Console.CursorTop > 24)
- {
- Console.CursorTop = 0;
- }
- break;
- case WR_Modes.ConsoleBG:
- Console.BackgroundColor = (ConsoleColor)value;
- break;
- case WR_Modes.ConsoleFG:
- Console.ForegroundColor = (ConsoleColor)value;
- break;
- case WR_Modes.ConsoleBeep:
- Console.Beep((int)(value * 10 + 37), 500);
- break;
- case WR_Modes.Wait:
- System.Threading.Thread.Sleep((int)(value * 1000));
- break;
- case WR_Modes.ConsoleCursorTop:
- Console.CursorTop = (int)value;
- break;
- case WR_Modes.ConsoleCursorLeft:
- Console.CursorLeft = (int)value;
- break;
- default:
- //Cosmos.System.Global.Dbg.SendMessage(sender.ToString(), "0x" + pointer.ToString("X2") + " ist nicht beschreibar.");
- break;
- }
- }
- catch
- {
- Console.Beep(500, 1500);
- }
- }
- }
- }