本文へ移動
cccskills
無料GitHub で公開

c64-mps801-printer-audit

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.

インストール方法を見る

含まれるファイル(3)

  • SKILL.md5.1 KB
  • agents/openai.yaml257 B
  • references/mps801.md4.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

C64 MPS-801 Printer Audit

Core Workflow

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

  1. Read references/mps801.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, line breaks, double width, output file semantics.
    • PostScript glyph model: validate 6x7 glyph data, graphics bytes, reverse mode, dot positioning, tab positioning, line/page geometry, and required PSMPS801MatrixPrinter*.ps files.
    • Serial-printer peripheral: validate KERNAL-trap LISTEN/OPEN/CLOSE/SEND routing, device number behavior, secondary addresses, and active-function lifetime.
    • Hardware/firmware model: only require internal CPU, RAM/ROM, bus timing, buffer, and mechanical behavior if the implementation explicitly claims that tier.
  3. Inspect local implementation paths first:
    • include/COMMODORE/SerialPrinterMPS801.hpp, src/COMMODORE/SerialPrinterMPS801.cpp
    • 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.
    • PSMPS801MatrixPrinterI.ps and PSMPS801MatrixPrinterII.ps copies under projects/, setups/, emulators/, and monitors/ when PostScript rendering is involved.
  4. Compare against .codex/docs/MPS801.pdf first. Use the external URLs in references/mps801.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-801.
  • Device and channel behavior: device selector positions 4/5/T, default printer device use, secondary address 0 for cursor-up graphics/uppercase mode and 7 for cursor-down upper/lowercase mode, and active function reset on LISTEN/CLOSE.
  • Character sets: PETSCII to printer-code handling, cursor-up and cursor-down tables, business mode, graphical characters, reverse field, and use of the MPS801 ROM-derived glyph comments in SerialPrinterMPS801.cpp.
  • Control codes: 0x08 graphics mode, 0x0a line feed, 0x0e double width, 0x0f standard width, 0x10 tab/position setup, 0x11 cursor down, 0x12 reverse on, 0x1a repeat graphic data, 0x1b dot address setup, 0x91 cursor up, and 0x92 reverse off.
  • Graphics and positioning: 7 vertical printable dots, 480 horizontal dot positions, dot-address limits, tab behavior, graphic-byte interpretation, repeat-graphics behavior, and automatic print behavior at line/buffer limits.
  • Page geometry: 80 columns, 6 LPI in character/double-width modes, 9 LPI in graphics mode, 66 lines on 11-inch paper, paper border handling, and PostScript scale constants.
  • Basic vs PostScript parity: document any behavior supported only in MPS801PostscriptMatrixPrinterEmulation and not in MPS801BasicMatrixPrinterEmulation.
  • Compatibility limits: do not require 8039 firmware execution, 90-byte line-buffer timing, unidirectional head timing, motor/hammer mechanics, 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 or 5, choose secondary addresses 0 and 7, send PETSCII uppercase/lowercase text, and CLOSE the channel.
  • Byte streams that exercise each control code, especially mixed double width, graphics mode, reverse field, tab/dot positioning, and return to standard mode.
  • Output-file assertions for basic mode and PostScript token checks for glyph definitions, page setup, drawByteBits, page breaks, and missing template-file logging.
  • Tests that separate serial-routing failures from matrix-printer rendering failures.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

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月9日 更新

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月9日 更新

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月9日 更新

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.

日本語の概要は準備中です。原文の説明を表示しています。

Commnets/EMULATORS102026年10月9日 更新

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月9日 更新

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月9日 更新

Commnets のスキルをすべて見る

このスキルの問題を報告する