Remarks

C8800Retro
Status Status badge: working
Source code GitHub
NuGet package NuGet Gallery for Meadow.Foundation.mikroBUS.Displays.C8800Retro

Code Example

C8800Retro altair;

MicroGraphics graphics;

public override Task Initialize()
{
    Console.WriteLine("Initializing ...");

    altair = new C8800Retro(Device.CreateI2cBus(), Device.Pins.D03);

    var button1B = altair.GetButton(C8800Retro.ButtonColumn._1, C8800Retro.ButtonRow.B);
    button1B.Clicked += Button1B_Clicked;

    graphics = new MicroGraphics(altair)
    {
        CurrentFont = new Font4x8(),
    };

    return base.Initialize();
}

private void Button1B_Clicked(object sender, EventArgs e)
{
    Console.WriteLine("Button 1B clicked");
}

public override async Task Run()
{
    altair.EnableBlink(true, true);

    graphics.Clear();
    graphics.DrawText(0, 0, "MF", Color.White);
    graphics.Show();

    await Task.Delay(6000);

    altair.EnableBlink(false);
}

Sample project(s) available on GitHub

Characteristic Locus
Inheritance object As1115 > C8800Retro
Implements IGraphicsDisplay II2cPeripheral IDisposable
Inherited Members As1115.KeyScanPressStarted As1115.KeyScanPressEnded As1115.KeyScanButtons As1115.GetButton(As1115.KeyScanButtonType) As1115.i2cComms As1115.DefaultI2cAddress As1115.ColorMode As1115.SupportedColorModes As1115.Width As1115.Height As1115.PixelBuffer As1115.DecodeMode As1115.IsDisposed As1115.EnableBlink(bool, bool) As1115.SetNumber(int) As1115.SetCharacter(As1115.BcdCharacterType, int, bool) As1115.SetCharacter(As1115.HexCharacterType, int, bool) As1115.SetIntensity(byte) As1115.TestMode(bool) As1115.Show() As1115.Show(int, int, int, int) As1115.Clear(bool) As1115.Fill(Color, bool) As1115.Fill(int, int, int, int, Color) As1115.DrawPixel(int, int, Color) As1115.DrawPixel(int, int, bool) As1115.InvertPixel(int, int) As1115.WriteBuffer(int, int, IPixelBuffer) As1115.Dispose(bool) As1115.Dispose() object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString()
Namespace Meadow.Foundation.mikroBUS.Displays
Assembly C8800Retro.dll

Syntax

public class C8800Retro : As1115, IGraphicsDisplay, II2cPeripheral, IDisposable

Constructors

C8800Retro(II2cBus, IPin, byte)

Creates an Altair 8800 retro click board object

Declaration
public C8800Retro(II2cBus i2cBus, IPin buttonInterruptPin, byte address = 0)

Parameters

Type Name Description
II2cBus i2cBus

The I2C bus

IPin buttonInterruptPin

The interrupt pin

byte address

The I2C address

Remarks

C8800Retro
Status Status badge: working
Source code GitHub
NuGet package NuGet Gallery for Meadow.Foundation.mikroBUS.Displays.C8800Retro

Code Example

C8800Retro altair;

MicroGraphics graphics;

public override Task Initialize()
{
    Console.WriteLine("Initializing ...");

    altair = new C8800Retro(Device.CreateI2cBus(), Device.Pins.D03);

    var button1B = altair.GetButton(C8800Retro.ButtonColumn._1, C8800Retro.ButtonRow.B);
    button1B.Clicked += Button1B_Clicked;

    graphics = new MicroGraphics(altair)
    {
        CurrentFont = new Font4x8(),
    };

    return base.Initialize();
}

private void Button1B_Clicked(object sender, EventArgs e)
{
    Console.WriteLine("Button 1B clicked");
}

public override async Task Run()
{
    altair.EnableBlink(true, true);

    graphics.Clear();
    graphics.DrawText(0, 0, "MF", Color.White);
    graphics.Show();

    await Task.Delay(6000);

    altair.EnableBlink(false);
}

Sample project(s) available on GitHub

Methods

GetButton(ButtonColumn, ButtonRow)

Get the button for a given row and column

Declaration
public IButton GetButton(C8800Retro.ButtonColumn column, C8800Retro.ButtonRow row)

Parameters

Type Name Description
C8800Retro.ButtonColumn column

The column of the button (1-4)

C8800Retro.ButtonRow row

The row of the button (A-D)

Returns

Type Description
IButton

The IButton object

Remarks

C8800Retro
Status Status badge: working
Source code GitHub
NuGet package NuGet Gallery for Meadow.Foundation.mikroBUS.Displays.C8800Retro

Code Example

C8800Retro altair;

MicroGraphics graphics;

public override Task Initialize()
{
    Console.WriteLine("Initializing ...");

    altair = new C8800Retro(Device.CreateI2cBus(), Device.Pins.D03);

    var button1B = altair.GetButton(C8800Retro.ButtonColumn._1, C8800Retro.ButtonRow.B);
    button1B.Clicked += Button1B_Clicked;

    graphics = new MicroGraphics(altair)
    {
        CurrentFont = new Font4x8(),
    };

    return base.Initialize();
}

private void Button1B_Clicked(object sender, EventArgs e)
{
    Console.WriteLine("Button 1B clicked");
}

public override async Task Run()
{
    altair.EnableBlink(true, true);

    graphics.Clear();
    graphics.DrawText(0, 0, "MF", Color.White);
    graphics.Show();

    await Task.Delay(6000);

    altair.EnableBlink(false);
}

Sample project(s) available on GitHub