public override void Draw() { // Compiler bug uint a = X; for (uint x = a; x <= X + Width - 1; x++) { C64.SetChar(x, Y, H_LINE); Delay.Wait(100); } C64.SetChar(X + Width - 1, Y, ARROW_HEAD); if (Text1 != null) { int length = Text1.Length; uint startX = ((Width - (uint)length) >> 1) + (uint)X; C64.Write(startX, Y - 1, Text1); } if (Text2 != null) { int length = Text2.Length; uint startX = ((Width - (uint)length) >> 1) + (uint)X; C64.Write(startX, Y + 1, Text2); } }
private static void GetReady() { C64.Write(16, 6, "GET READY", Colors.White); for (int i = 0; i < 40; i++) { Delay.Wait(100); } C64.Write(16, 6, " ", Colors.White); }
public override void Draw() { int length = Text.Length; int startX = (Screen.Width - length) >> 1; const uint y = 2; C64.Write((uint)startX, y, Text); for (var x = 0; x < length; x++) { C64.SetChar((uint)(startX + x), y - 1, 0x43); C64.SetChar((uint)(startX + x), y + 1, 0x43); } }
public override void Draw() { this.box.Y = Y - (uint)pointer; this.box.Height = (uint)(pointer + 3); Screen.ClearRect(X, X + 5, Y - (uint)pointer - 1, Y + 1); box.Draw(); for (int p = 0; p <= pointer; p++) { C64.Write(X + 2, Y - (uint)pointer + (uint)(p + 1), elements[pointer - p].Id, Colors.Yellow); } }
public override void Present() { Screen.Clear(Colors.Green); C64.Write(17, 12, "F O R", Colors.Green); var c64Logo = new MovingLogo { SpriteTL = C64.Sprites.Sprite0, SpriteBL = C64.Sprites.Sprite1, SpriteTR = C64.Sprites.Sprite2, SpriteBR = C64.Sprites.Sprite3, MinX = 220, MaxX = 265, MinY = 50, MaxY = 170, X = 220, Y = 160 }; var csharpLogo = new MovingLogo { SpriteTL = C64.Sprites.Sprite4, SpriteBL = C64.Sprites.Sprite5, SpriteTR = C64.Sprites.Sprite6, SpriteBR = null, MinX = 30, MaxX = 90, MinY = 50, MaxY = 170, X = 50, Y = 50 }; c64Logo.Init(); csharpLogo.Init(); for (; ;) { Delay.Wait(100); if (C64.IsKeyPressed(Keys.Space) || (C64.Joysticks.Joystick2.Pressed & JoystickButtons.Fire) == JoystickButtons.Fire) { break; } c64Logo.Step(); csharpLogo.Step(); } }
public override void Present() { Colors color = Colors.Black; C64.Write(15, 12, "D E M O", Colors.Black); for (ulong i = 0; i < 1000; i++) { C64.SetBackgroundColor(color); C64.SetBorderColor(color); color++; if (C64.IsKeyPressed(Keys.Space) || (C64.Joysticks.Joystick2.Pressed & JoystickButtons.Fire) == JoystickButtons.Fire) { break; } } }
public static void Display() { Screen.Clear(Colors.White); C64.CopyMemory(C64Address.FromLabel("(screenMemory+$CD)"), C64Address.FromLabel("titleScreen"), 0); C64.CopyMemory(C64Address.FromLabel("(screenMemory+$1CD)"), C64Address.FromLabel("titleScreen+$100"), 0); C64.CopyMemory(C64Address.FromLabel("(screenMemory+$21B)"), C64Address.FromLabel("titleScreen+$14E"), 0); C64.Write(13, 1, "OCEAN SOFTWARE", Colors.Green); C64.Write(13, 3, " PRESENTS ", Colors.White); C64.Write(25, 21, " BY J.STEELE", Colors.Green); C64.Write(7, 23, "PRESS F1 FOR INSTRUCTIONS", Colors.White); C64.Write(7, 24, " OR SPACE TO START ", Colors.White); var tones = GetTones(); for (; ;) { var color = (uint)1; foreach (var t in tones) { color++; if (color == 7) { color = 1; } C64.Sound.PlayEffectReg1(WaveForm.Saw, t.Frequency, 0, 9, 0, false); C64.FillMemory(C64Address.FromLabel("(colorMemory+$CD)"), color, 0); C64.FillMemory(C64Address.FromLabel("(colorMemory+$1CD)"), color, 0); C64.FillMemory(C64Address.FromLabel("(colorMemory+$21B)"), color, 0); for (uint k = 0; k < 50u; k++) { for (uint kk = 0; kk < t.Sustain; kk++) { if (C64.IsKeyPressed(Keys.Space) || (C64.Joysticks.Joystick2.Pressed & JoystickButtons.Fire) == JoystickButtons.Fire) { return; } } } } } }
public override void Draw() { uint a = X; uint b = Y; for (uint x = a; x < X + Width; x++) { for (uint y = b; y < Y + Height; y++) { C64.SetChar(x, y, SPACE); } } var yy = Y; foreach (var line in Lines) { C64.Write(X, yy++, line, Colors.White); } }
public override void Draw() { var y = Top; if (Symbol == 0) { Symbol = 0x51; } foreach (var item in Items) { C64.SetChar(Left, y, Symbol, Color); C64.Write(Left + 2, y, item, Color); y += 2; if (Wait) { KeyBoard.WaitForKeys(); } } }
private void Draw() { uint x = 0; uint x2 = 0; const uint width = 7; var box = new Box() { Y = 5, Width = width, Height = 3, BorderColor = Colors.Blue, ConnectToLeft = x != 0 }; var box2 = new Box() { Y = 18, Height = 6, BorderColor = Colors.Blue }; foreach (var objectElem in objects) { var color = objectElem.Root ? Colors.Cyan : Colors.Blue; if (objectElem.Marked) { color = Colors.Orange; } if (!objectElem.Alive) { color = Colors.Black; } box.Text = objectElem.Id; box.TextColor = color; box.ConnectToLeft = x != 0; box.X = x; box.Draw(); C64.SetChar(x + 3, 8, objectElem.Processing ? 0u : 0x20u); x += width - 1; if (!objectElem.Alive) { continue; } var width2 = objectElem.Size + 3; box2.X = x2; box2.Width = width2; box2.Text = objectElem.Id; box2.TextColor = objectElem.Alive ? Colors.Yellow : Colors.Black; box2.ConnectToLeft = x2 != 0; box2.Draw(); var refx = x2 + 1; if (objectElem.Alive) { foreach (var reference in objectElem.References) { C64.Write(refx, 22, reference.Id); refx += 2; } } x2 += width2 - 1; } stack.Draw(); }
public override void Draw() { C64.Write(X, Y, Text, Color); }