본문으로 건너뛰기
cccskills
무료GitHub에 공개

c64-mps802-printer-audit

Validate Commodore MPS-802 and 1526 serial dot matrix printer behavior in EMULATORS, including SerialPrinterMPS802 classes and their MatrixPrinterEmulation and SerialPrinterPeripheralSimulation hierarchy, IEC/KERNAL-trap printer routing, device numbers, secondary-address functions, PETSCII/character sets, 8x8 glyphs, enhanced width, reverse and paging modes, formatter strings, programmable characters, line/page geometry, PostScript output, and fidelity boundaries. Use when Codex reviews or edits COMMODORE MPS802 printer code, generated printer output, PostScript printer templates, C64/VIC-20/C264 serial-printer behavior, or compares implementation against .codex/docs/MPS802.pdf, the MPS-802 user guide, and 1526/MPS-802/4023 service information.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(3)

  • SKILL.md5.5 KB
  • agents/openai.yaml274 B
  • references/mps802.md4.8 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

C64 MPS-802 Printer Audit

Core Workflow

Use this skill to audit whether EMULATORS models a Commodore MPS-802/1526 at the intended fidelity level.

  1. Read references/mps802.md before making claims or edits.
  2. Identify the intended behavior tier before judging correctness:
    • Basic text sink: validate printable character filtering, uppercase/lowercase mode, enhanced width, line buffering, formatter definition/use, diagnostic messages, and output file semantics.
    • PostScript glyph model: validate 8x8 glyph data, reverse mode, paging, programmable character, line/page geometry, formatter rendering, and required PSMPS802MatrixPrinter*.ps files.
    • Serial-printer peripheral: validate KERNAL-trap LISTEN/OPEN/CLOSE/SEND routing, device number behavior, secondary-address functions, and active-function lifetime.
    • Hardware/firmware model: only require 6504 CPU, RIOT/VIA, ROM, mechanical direction/timing, and bus timing if the implementation explicitly claims that tier.
  3. Inspect local implementation paths first:
    • include/COMMODORE/SerialPrinterMPS802.hpp, src/COMMODORE/SerialPrinterMPS802.cpp
    • MPS802MatrixPrinterFormatter nested classes in the same files
    • include/CORE/MatrixPrinterEmulation.hpp, src/CORE/MatrixPrinterEmulation.cpp
    • include/COMMODORE/SerialPrinters.hpp, src/COMMODORE/SerialPrinters.cpp
    • include/COMMODORE/SerialIOPeripherals.hpp, src/COMMODORE/SerialIOPeripherals.cpp
    • include/COMMODORE/IOPBuilder.hpp, src/COMMODORE/IOPBuilder.cpp
    • include/C64/StdSerialPrinter.hpp, src/C64/StdSerialPrinter.cpp, and the VIC-20/C264 equivalents when host printer registration matters.
    • PSMPS802MatrixPrinterI.ps and PSMPS802MatrixPrinterII.ps copies under projects/, setups/, emulators/, and monitors/ when PostScript rendering is involved.
  4. Compare against .codex/docs/MPS802.pdf first. Use the external URLs in references/mps802.md to verify historical/spec claims when internet access is available or when the user asks for web confirmation.
  5. When changing C++ code, also use $emulators-framework-cpp-style.
  6. When host-side C64 CIA2 IEC wiring, not just KERNAL traps, is involved, also use $c64-cia-audit.
  7. Report whether each issue is a bug inside the current fidelity tier or a missing higher-fidelity feature.

Audit Priorities

Prioritize correctness in this order:

  • Scope honesty: distinguish an output-file printer simulation from a firmware, timing, or mechanism-accurate MPS-802/1526.
  • Device and channel behavior: default device 4, jumper-selectable device range in real hardware, secondary-address function selection, and active function reset on LISTEN/CLOSE.
  • Secondary-address functions: 0x00 none, 0x01 use formatter, 0x02 define formatter, 0x03 set lines per page, 0x04 enable format/diagnostic messages, 0x05 define programmable character, 0x06 set line spacing, 0x07 business mode, 0x09 suppress diagnostic messages, and 0x0a reset.
  • Formatter semantics: format-string parsing, text/space/numeric fields, 0x1d field separation while using a formatter, error strings such as *PE:F* and *.*, and whether errors are printed only when messages are enabled.
  • Character sets and modes: PETSCII to printer-code handling, business mode, graphics/default mode, 8x8 glyph data, enhanced-width enable/disable, uppercase/lowercase control, reverse field, paging on/off, and programmable character use at code 0xfe.
  • Page geometry: 80 columns, 640 horizontal dot positions, 8 vertical dots, 6 LPI text, 9 LPI graphics, 66 lines on 11-inch paper, paper border handling, and PostScript scale constants. Treat any code comment/manual mismatch as an audit target.
  • Basic vs PostScript parity: document behavior implemented only in MPS802PostscriptMatrixPrinterEmulation, especially paging, programmable character, and line/page features.
  • Compatibility limits: do not require 6504 firmware execution, 6532/6522 register behavior, ROM execution, bidirectional head timing, or serial-bus electrical timing unless the implementation claims those features.

Validation Hints

Prefer focused probes:

  • BASIC/KERNAL snippets that OPEN the printer on device 4, choose secondary addresses 0, 1, 2, 4, 7, 9, and 10, send data, and CLOSE the channel.
  • Byte streams that exercise enhanced width, disable enhanced width, reverse on/off, paging on/off, uppercase/lowercase, formatter definition/use, and reset.
  • Output-file assertions for basic mode and PostScript token checks for glyph definitions, formatter output, programmable character bytes, page breaks, drawByteBits, and missing template-file logging.
  • Tests that separate serial-routing failures from matrix-printer rendering or formatter failures.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Validate Commodore 1540/1541/1541C/1541-II compatible disk-drive behavior in EMULATORS, including IEC serial bus protocol, device numbers, KERNAL traps, CBM DOS commands/status, D64 image parsing, BAM/directory/file chains, PETSCII filenames, 6502 drive CPU/ROM/RAM expectations, 6522 VIA wiring, GCR/track/sector geometry, motor/head timing, and compatibility boundaries for 1541-like devices. Use when Codex reviews or edits C64, VIC-20, C264, COMMODORE disk, serial I/O, D64, CBM DOS, IEC, VIA, GCR, or 1541 drive code.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Commnets/EMULATORS102026년 10월 18일 업데이트

Validate Commodore 64 CIA 6526 emulation in EMULATORS, including CIA1/CIA2 $DC00/$DD00 register behavior, ports, DDRs, keyboard/joystick matrix, IEC/user port, VIC bank selection, timers A/B, underflow timing, PB toggle/pulse output, TOD clock/alarm, serial shift register, FLAG, ICR masks and IRQ/NMI lines. Use when Codex reviews or edits C64 CIA, timers, ports, keyboard, joystick, serial bus, interrupts, TOD, or VIC bank control.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Commnets/EMULATORS102026년 10월 18일 업데이트

Validate Commodore 64 memory map, PLA/bank switching, 6510 port $0000/$0001 behavior, VIC bank selection, color RAM, ROM/RAM overlays, cartridge mapping, and mirrored I/O in the EMULATORS C64 namespace. Use when Codex reviews or edits C64 memory, PLA, CPU-visible address decoding, VIC-visible memory, color memory, char ROM, cartridge, expansion I/O, or mapped chip register behavior.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Commnets/EMULATORS102026년 10월 18일 업데이트

Validate Commodore MPS-801 serial dot matrix printer behavior in EMULATORS, including SerialPrinterMPS801 classes and their MatrixPrinterEmulation and SerialPrinterPeripheralSimulation hierarchy, IEC/KERNAL-trap printer routing, device numbers, secondary addresses, PETSCII/character sets, 6x7 glyphs, double width, graphics mode, reverse field, tab and dot positioning, line/page geometry, PostScript output, and fidelity boundaries. Use when Codex reviews or edits COMMODORE MPS801 printer code, generated printer output, PostScript printer templates, C64/VIC-20/C264 serial-printer behavior, or compares implementation against .codex/docs/MPS801.pdf and historical MPS-801 sources.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Commnets/EMULATORS102026년 10월 18일 업데이트

Validate Commodore 64 SID 6581/8580 sound emulation in EMULATORS, including $D400-$D7FF register decoding, voices, frequency, pulse width, control bits, ADSR/envelope behavior, oscillator sync/ring/noise/test, filters, volume DAC/sample clicks, paddles, read-only registers, mirrors, and reSID integration. Use when Codex reviews or edits SID, Sound, audio wrapper, register, filter, waveform, envelope, or mapped SID behavior.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Commnets/EMULATORS102026년 10월 18일 업데이트

Validate Commodore 64 VIC-II emulation in EMULATORS, including $D000-$D3FF register behavior, PAL/NTSC timing, raster counters, badlines, BA/AEC bus stealing, video matrix and bitmap fetches, sprites, collisions, borders, IRQs, color RAM usage, and display modes. Use when Codex reviews or edits VICII, Screen, Memory/PLA, raster, sprite, video, or cycle-level behavior for C64 classes.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Commnets/EMULATORS102026년 10월 18일 업데이트

Commnets의 스킬 모두 보기

이 스킬의 문제 신고