Skip to content

Conversation

@jhauga
Copy link
Contributor

@jhauga jhauga commented Jan 19, 2026

Pull Request Checklist

  • I have read and followed the CONTRIBUTING.md guidelines.
  • My contribution adds a new instruction, prompt, or chat mode file in the correct directory. NEW SKILL
  • The file follows the required naming convention.
  • The content is clearly structured and follows the example format.
  • I have tested my instructions, prompt, or chat mode with GitHub Copilot.
  • I have run npm start and verified that README.md is up to date.

Description

Built using another electronics-breadboard-simulator.html, then used that to finalize this skill in terms of adding components. Wrote the references markdown files, and finalized the same electronics-breadboard-simulator.html page. Seems good, or at the very least a starting point for someone to download, and customize per their project (probably a hobby breadboard simulator).


Type of Contribution

  • New instruction file.
  • New prompt file.
  • New chat mode file.
  • New collection file.
  • New skill file.
  • Update to existing instruction, prompt, chat mode, collection or skill.
  • Other (please specify):

By submitting this pull request, I confirm that my contribution abides by the Code of Conduct and will be licensed under the MIT License.

Copilot AI review requested due to automatic review settings January 19, 2026 04:24
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a new skill for generating breadboard circuit mockups and visual diagrams for legacy hardware projects. The skill targets retro computing enthusiasts and electronics hobbyists building circuits with vintage components like 6502 microprocessors, 555 timers, and 7400-series logic gates.

Changes:

  • Adds the legacy-circuit-mockups skill with comprehensive documentation and 12 technical reference files
  • Provides detailed component specifications for microprocessors, memory chips, logic ICs, and passive components
  • Includes step-by-step build guides for common circuits
  • Updates README.skills.md with the new skill entry

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
skills/legacy-circuit-mockups/SKILL.md Main skill documentation defining components, workflows, and drawing mechanisms
skills/legacy-circuit-mockups/references/555.md Complete 555 timer IC specification with formulas and circuit diagrams
skills/legacy-circuit-mockups/references/6502.md MOS 6502 microprocessor reference
skills/legacy-circuit-mockups/references/6522.md W65C22 VIA interface adapter specification
skills/legacy-circuit-mockups/references/28256-eeprom.md AT28C256 EEPROM specification
skills/legacy-circuit-mockups/references/6C62256.md AS6C62256 SRAM specification
skills/legacy-circuit-mockups/references/7400-series.md 7400-series logic IC reference
skills/legacy-circuit-mockups/references/basic-electronic-components.md Fundamental component reference
skills/legacy-circuit-mockups/references/common-breadboard-components.md Comprehensive breadboard components guide
skills/legacy-circuit-mockups/references/connecting-electronic-components.md Step-by-step circuit build instructions
skills/legacy-circuit-mockups/references/lcd.md LCD character display specification
skills/legacy-circuit-mockups/references/minipro.md EEPROM programming utility reference
skills/legacy-circuit-mockups/references/t48eeprom-programmer.md T48 programmer specification
docs/README.skills.md Adds new skill entry with all reference files listed

jhauga and others added 2 commits January 18, 2026 23:59
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@jhauga jhauga changed the title New skill for building legacy hardware cicuit mockups New skill for building legacy hardware circuit mockups Jan 19, 2026
@jhauga jhauga marked this pull request as draft January 19, 2026 16:52
@jhauga
Copy link
Contributor Author

jhauga commented Jan 20, 2026

Final Testing

Edited:

First an initial test with the skill. Partially smoke and mirrors. Then a control test without the skill, but kept the reference files. Without the skill Copilot was not able to complete the task several times. Had to click retry, and nothing. It just froze. I did it again. Same thing. Another agent. Same.

Tried with the skill. Had to retry once, but a working base for a circuit simulator project was created. So the skill has an effect. This was deleted though.

Then wanted to try one last time without the skill. Deleted prior sessions and results (with skill), and prompted with the initial prompt (see below), and a base for a project was created. No ability to add components to the breadboard. Full-on smoke and mirrors.

Initial Prompt

Core Requirements

1. Breadboard & Circuit Simulation

  • Render a realistic solderless breadboard using HTML5 Canvas
  • Enforce correct breadboard rules:
    • Power rails
    • Row/column continuity
    • Center trench separation
  • Allow placement, movement, and wiring of components
  • Support wire color conventions (power, ground, address bus, data bus, control lines)

2. Supported Components (Must Be Fully Functional)

  • W65C02S CPU
  • W65C22 / 6522 VIA
  • AT28C256 EEPROM
  • AS6C62256 SRAM
  • 7400-series logic chips (address decoding)
  • DFRobot FIT0127 (HD44780-compatible LCD)
  • LEDs, resistors, capacitors, crystals, switches, buttons

Component behavior must follow:

  • Electrical rules (tri-state, bus contention)
  • Timing and control logic
  • Reset and power-up states

Use the following specifications as authoritative behavior contracts:

  • references/emulator-6502.md
  • references/emulator-6522.md
  • references/emulator-28256-eeprom.md
  • references/emulator-6C62256.md
  • references/emulator-lcd.md

3. CPU, Memory, and Bus Emulation

  • Implement a shared address/data bus
  • Correctly emulate:
    • Read/write cycles
    • Address decoding
    • ROM vs RAM access
  • EEPROM must:
    • Load ROM images
    • Respect write-protect behavior
  • SRAM must:
    • Behave as volatile memory
  • VIA must:
    • Drive I/O pins
    • Generate interrupts
    • Control peripherals (LEDs, LCD)

All behavior must align with:

  • references/6502.md
  • references/6522.md
  • references/28256-eeprom.md
  • references/6C62256.md

4. Assembly Language Toolchain (Smoke & Mirrors Editor)

Provide an embedded development environment:

Text Editor

  • A lightweight “smoke and mirrors” code editor
  • Syntax highlighting for 6502 assembly
  • Supports labels, directives, comments
  • Editable ROM source code

Assembly rules per:

  • references/assembly-language.md
  • references/assembly-compiler.md

Compiler

  • Assemble 6502 source code into a ROM image
  • Place vectors correctly ($FFFA–$FFFF)
  • Target AT28C256 memory layout
  • Report syntax and linking errors

Upload Mechanism

  • Upload compiled ROM into simulated EEPROM
  • Trigger reset to execute new firmware

5. Terminal & Console Outputs

Include two distinct consoles:

System Terminal

  • Shows:
    • Assembly/compile output
    • ROM load status
    • Reset and execution messages

Runtime Console

  • Displays:
    • Debug output
    • VIA register activity
    • Memory reads/writes
    • Optional CPU trace (PC, opcode)

6. Visual Output Devices

LEDs

  • LEDs must physically light based on:
    • VIA pin output
    • Current direction
    • Correct resistor usage

LCD (FIT0127)

  • Must emulate HD44780 behavior:
    • DDRAM and CGRAM
    • Cursor movement
    • Clear/home commands
  • LCD content must change only via proper firmware writes

Specification source:

  • references/lcd.md
  • references/emulator-lcd.md

7. Interaction & Simulation Control

  • Buttons for:
    • Power on/off
    • Reset
    • Single-step CPU
    • Run / Pause
  • Clock speed control
  • Optional cycle-accurate stepping

8. Build Scenarios (Must Be Possible)

Using the simulator and compiler, the user must be able to:

  • Blink LEDs using VIA output ports
  • Display text on the LCD from assembly code
  • Change LCD output dynamically
  • Test reset behavior
  • Debug wiring mistakes visually
  • Observe real-world-style failure modes

9. Faithfulness Over Convenience

This simulator must prioritize realism:

  • No magical connections
  • No implicit wiring
  • No skipping initialization steps
  • If firmware is wrong, hardware should fail visibly

References (Authoritative)

All behavior must conform to the following specs:

  • references/6502.md
  • references/6522.md
  • references/28256-eeprom.md
  • references/6C62256.md
  • references/7400-series.md
  • references/breadboard.md
  • references/common-breadboard-components.md
  • references/basic-electronic-components.md
  • references/assembly-language.md
  • references/assembly-compiler.md
  • references/emulator-6502.md
  • references/emulator-6522.md
  • references/emulator-28256-eeprom.md
  • references/emulator-6C62256.md
  • references/emulator-lcd.md
  • references/lcd.md
  • references/minipro.md
  • references/t48eeprom-programmer.md

Final Goal

Produce a complete virtual retro computer lab where:

  • Hardware is wired visually
  • Software is written in real 6502 assembly
  • ROMs are compiled and flashed
  • LEDs blink
  • LCDs display text
  • Behavior matches physical breadboard builds

This system should feel indistinguishable from building and debugging a real 6502 computer on a desk.

Create the final goal in #file:index.html

Test Summary

Two tests

  1. Positive Test - used skill and reference files. Results created editable breadboard after initial prompt.
  2. Negative Test - without skill and just the reference files. Results did not create an editable breadboard after initial prompt.

{!NOTE]
The positive test was polished a bit, but mostly UX i.e. panning, zooming, moving components etc.

Negative Test Agents (without skill)

The one time Copilot produced results without the skill they were presentable.

Initial Prompt Produced

  • GPT-5.1-Codex-Max - no results (1x < retry)
  • Claude Opus 4.5 - no results (1x < retry)
  • Claude Sonnet 4.5 - results

Positive Test Agents (with skill)

In short, the results were - well, good enough. Probably would have gotten a C in a college level Computer Science course.

But the skill is for retro computer builds (hobbyist), and works as an example of using an engineering skill-set that requires strict specifications.

Initial Prompt Produced

  • Claude Sonnet 4.5 - results
  • GPT-5.1-Codex-Max - results (1x retry)

Conclusion

The skill had a positive affect in creating the base for a massive project like a circuit simulator, text editor, and compiler in one prompt in one html file.

@jhauga jhauga marked this pull request as ready for review January 20, 2026 01:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant