PC-6001 GFX Editor は、NEC PC-6001 の 3 種類のグラフィックスクリーンモードに対応した、ブラウザ上で動作するピクセルアートエディタです。 外部ライブラリへの依存は一切なく、HTML ファイル 1 枚で完結しています。
PC-6001 実機の VRAM 構造に準拠したデータ形式で、PNG 画像とZ80 アセンブラ用 DB テキストの両方をエクスポートできます。 レトロゲーム開発・保存プロジェクト・同人ソフト制作などに活用できます。
モダンブラウザ(Chrome / Firefox / Safari / Edge 最新版)。インターネット接続不要。ローカルで開くだけで動作します。
PC-6001 のグラフィックモードは 3 種類あります。エディタ上部のタブで切り替えます。 モードを切り替えると画面データはリセットされるため、事前に PNG / ASM をエクスポートしてください。
| モード | 解像度 | キャラサイズ | グリッド | 色指定単位 | 色数 |
|---|---|---|---|---|---|
| SCREEN 1 | 128 × 192 px | 8 × 8 px | 16 × 24 chars | キャラクタ単位 | FG/BG 各 16 色 |
| SCREEN 2 | 128 × 192 px | 8 × 1 px | 16 × 192 行 | 行単位(8px 行ごと) | FG/BG 各 16 色(同行 2 色制限) |
| SCREEN 3 | 64 × 192 px | 8 × 8 px | 8 × 24 chars | キャラクタ単位 | FG/BG 各 16 色 |
最も汎用的なモード。8×8 ピクセルのキャラクタブロック単位で前景色(FG)と背景色(BG)を独立して設定できます。 BASICの SCREEN 1 に相当。同一キャラクタ内は FG/BG の 2 色しか使えませんが、 キャラクタごとに異なる色ペアを設定できるため、実質的に高い表現力を持ちます。
ビットマップ形式で最も細かいドット制御が可能です。ただし1 行(8px)につき FG・BG の 2 色しか使えない制約があります。 これはハードウェアの仕様であり、同じ行に 3 色以上のピクセルを置くと色が崩れます(色衝突)。
エディタは各行の FG/BG 色をパレットで管理していますが、ピクセルを描いた際に自動的にその行の FG 色として扱います。 同じ行に異なる色を置きたい場合は、事前にパレットで FG/BG を設定してから描画してください。 色衝突が発生しているかどうかは、実機またはエミュレータで最終確認することを推奨します。
横解像度が 64px に半減する代わりに、SCREEN 1 と同様のキャラクタ単位色指定を維持します。 スプライト的なキャラクタを少ない情報量で表現するのに向いています。
PC-6001 のパレットは 0〜15 番の固定 16 色です。エディタ右パネルに常時表示されています。 左クリックで前景色(FG)、右クリックで背景色(BG)を選択します。
ツールで C(キャラ選択) を選び、キャンバス上のキャラクタをクリックすると右パネルにそのキャラの 8×8 ビットグリッドが表示されます。 この状態でパレットの FG/BG を変更すると、選択中キャラクタの色が即時更新されます。
左端のツールバー、または以下のキーボードショートカットで選択します。
左クリック=FG色で描画 / 右クリック=BG色で描画
「PNG 読み込み…」ボタンで PNG ファイルを取り込めます。 読み込み時に各ピクセルの RGB 値を PC-6001 パレット 16 色の中から最近傍色に変換して表示します。 大きな画像は自動的に現在のモードの解像度(SCR1/2: 128×192、SCR3: 64×192)に縮小されます。
最大 50 段の Undo を保持しています。Ctrl+Z で Undo、Ctrl+Y で Redo。 右パネルの「↩ Undo」「↪ Redo」ボタンでも操作できます。 モード切り替えや全消去(CLR)はUndoスタックをリセットします。
実寸サイズ(SCR1/2: 128×192px、SCR3: 64×192px)の PNG ファイルを生成します。 ファイル名は pc6001_scr1.png のようにモード番号付きになります。 パレット色をそのまま使用した RGB PNG です。
SCREEN 1 / 3 の場合、パターンデータとカラーデータを分けて出力します。
; PC-6001 SCREEN 1 VRAM Data ; ── Pattern Data (3072 bytes) ── GFX_PATTERN: DB 000H, 07EH, 042H, 042H, 042H, 07EH, 000H, 000H ; CHAR(0,0) DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H ; CHAR(1,0) ... ; ── Color Data (384 bytes, upper nibble=FG lower=BG) ── GFX_COLOR: DB 070H, 070H, 070H, 070H, 070H, 070H, 070H, 070H
| セクション | サイズ (SCR1) | 内容 |
|---|---|---|
| GFX_PATTERN | 16×24×8 = 3072 bytes | 各キャラクタの 8 行 × 8 ビット。MSB = 左端ドット。 |
| GFX_COLOR | 16×24 = 384 bytes | 上位 4 ビット = FG、下位 4 ビット = BG(パレット番号 0〜15) |
SCREEN 2 の場合、ビットマップデータと行カラーデータに分かれます。
; ── Bitmap Data (3072 bytes) ── GFX_BITMAP: DB 0FFH, 000H, 07EH, 042H, 042H, 07EH, 000H, 0FFH ; Y=0 DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H ; Y=1 ... ; ── Color Data (192 bytes, upper nibble=FG lower=BG) ── GFX_COLOR: DB 070H, 070H, 070H, 070H, 070H, 070H, 070H, 070H
| セクション | サイズ | 内容 |
|---|---|---|
| GFX_BITMAP | 128/8 × 192 = 3072 bytes | 各行 16 バイト。MSB = 左端ドット。1 = FG色ドット。 |
| GFX_COLOR | 192 bytes | 行ごとの FG/BG 色(上位 4 ビット = FG) |
| キー | 機能 |
|---|---|
| P | ペンツール |
| E | 消しゴム |
| F | 塗りつぶし |
| L | 直線 |
| R | 矩形(枠) |
| Shift+R | 矩形(塗り) |
| I | スポイト |
| C | キャラ選択 |
| Ctrl+Z | Undo(50段) |
| Ctrl+Y | Redo |
| バージョン | リリース | 変更内容 |
|---|---|---|
| v1.1 | 2026-04-01 |
実アスペクト比対応 PC-6001 の TV/モニタ出力(4:3)に合わせてドット描画を修正。 SCREEN 1/2 はドット横幅を縦の2倍(2:1)、SCREEN 3 は4倍(4:1)に変更。 マウス座標逆変換・グリッド描画も同様に対応。 スクリーン情報パネルに「ドット比」を表示追加。 |
| v1.0 | 2026-04-01 |
初期リリース SCREEN 1 / 2 / 3 全モード対応。ペン・消しゴム・塗りつぶし・直線・矩形(枠/塗り)・スポイト・キャラ選択の8ツール実装。 PC-6001 固定16色パレット。Undo/Redo 50段。PNG・Z80 DB形式ASMエクスポート。 PNG読み込み(最近傍パレット変換)。グリッド表示 ON/OFF。ズーム ×1〜×8。 キーボードショートカット対応。シングルファイルHTML・外部依存なし。 |
PC-6001 GFX Editor is a browser-based pixel art editor that supports all three graphics screen modes of the NEC PC-6001 home computer. It runs entirely from a single HTML file with no external dependencies.
The editor outputs data in a format faithful to the PC-6001's VRAM structure, exporting both PNG images and Z80 assembler DB text. Suitable for retro game development, preservation projects, and homebrew software creation.
Any modern browser (Chrome / Firefox / Safari / Edge latest). No internet connection required. Just open the HTML file locally.
The PC-6001 has three distinct graphics modes. Switch between them using the tabs at the top of the editor. Switching modes resets all canvas data — export your work first.
| Mode | Resolution | Char Size | Grid | Color Unit | Colors |
|---|---|---|---|---|---|
| SCREEN 1 | 128 × 192 px | 8 × 8 px | 16 × 24 chars | Per character | FG + BG each 16 colors |
| SCREEN 2 | 128 × 192 px | 8 × 1 px | 16 × 192 rows | Per 8px row | 2 colors per row (FG+BG) |
| SCREEN 3 | 64 × 192 px | 8 × 8 px | 8 × 24 chars | Per character | FG + BG each 16 colors |
The most versatile mode. Foreground (FG) and background (BG) colors are assigned independently per 8×8 character block. Equivalent to BASIC's SCREEN 1. While only 2 colors are available within a single character cell, each character can have a different color pair, providing strong overall expressiveness.
Offers the finest dot-level control in bitmap format. However, only FG and BG colors are allowed per 8-pixel row. This is a hardware limitation — placing 3 or more colors in the same row will cause color corruption (color clash).
The editor tracks FG/BG per row in the palette, but does not fully enforce the 2-color hardware constraint during painting. Set your row's FG and BG colors in the palette before drawing if you need color control per row. Always verify the final result on real hardware or an emulator.
Horizontal resolution is halved to 64px, but character-unit color assignment (same as SCREEN 1) is retained. Well-suited for sprite-like characters with minimal data.
The PC-6001 uses a fixed 16-color palette (indices 0–15), always visible in the right panel. Left-click a swatch to set the foreground color (FG); right-click to set the background color (BG).
Select the C (Char Select) tool and click a character block on the canvas. The right panel will show an 8×8 bit grid for that character. Changing FG/BG in the palette instantly updates that character's colors.
Select tools from the left toolbar or via keyboard shortcuts.
Left-click = draw with FG color / Right-click = draw with BG color
Click "PNG 読み込み…" to import a PNG file. Each pixel's RGB value is mapped to the nearest PC-6001 palette color. Images larger than the current mode's resolution (SCR1/2: 128×192, SCR3: 64×192) are scaled down automatically.
Up to 50 undo steps are kept in memory. Use Ctrl+Z to undo and Ctrl+Y to redo. The "↩ Undo" and "↪ Redo" buttons in the right panel provide the same functionality. The undo stack is cleared when switching modes or using the "CLR" (clear all) function.
Generates a PNG at native resolution (128×192 for SCR1/2, 64×192 for SCR3). The filename is pc6001_scr1.png (mode number appended). Colors are rendered using the PC-6001 palette RGB values directly.
Outputs pattern data and color data as separate labeled blocks.
; PC-6001 SCREEN 1 VRAM Data ; ── Pattern Data (3072 bytes) ── GFX_PATTERN: DB 000H, 07EH, 042H, 042H, 042H, 07EH, 000H, 000H ; CHAR(0,0) DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H ; CHAR(1,0) ... ; ── Color Data (384 bytes) ── GFX_COLOR: DB 070H, 070H, ... ; upper nibble=FG, lower nibble=BG
| Section | Size (SCR1) | Contents |
|---|---|---|
| GFX_PATTERN | 16×24×8 = 3072 bytes | 8 rows × 8 bits per character. MSB = leftmost pixel. |
| GFX_COLOR | 16×24 = 384 bytes | Upper 4 bits = FG index, Lower 4 bits = BG index (0–15). |
Outputs bitmap data and row color data.
; ── Bitmap Data (3072 bytes) ── GFX_BITMAP: DB 0FFH, 000H, ... ; Y=0, 16 bytes per row ; ── Color Data (192 bytes) ── GFX_COLOR: DB 070H, ... ; per row: upper nibble=FG, lower=BG
| Section | Size | Contents |
|---|---|---|
| GFX_BITMAP | 128/8 × 192 = 3072 bytes | 16 bytes per row. MSB = leftmost pixel. 1 = FG dot. |
| GFX_COLOR | 192 bytes (1 per row) | Upper 4 bits = FG index, Lower 4 bits = BG index. |
| Key | Action |
|---|---|
| P | Pen tool |
| E | Eraser |
| F | Flood fill |
| L | Line tool |
| R | Rectangle (outline) |
| Shift+R | Rectangle (filled) |
| I | Eyedropper |
| C | Character select |
| Ctrl+Z | Undo (up to 50 steps) |
| Ctrl+Y | Redo |
| Version | Released | Changes |
|---|---|---|
| v1.1 | 2026-04-01 |
Correct pixel aspect ratio Pixel rendering now matches the PC-6001's actual TV/monitor output (4:3 screen). SCREEN 1/2 dots are drawn 2× wider than tall (2:1); SCREEN 3 dots are 4× wider (4:1). Mouse coordinate inverse-transform and grid drawing updated accordingly. "Dot ratio" added to the Screen Info panel. |
| v1.0 | 2026-04-01 |
Initial release Full support for SCREEN 1 / 2 / 3 modes. Eight drawing tools: pen, eraser, flood fill, line, rectangle (outline/filled), eyedropper, character select. Fixed 16-color PC-6001 palette. Undo/Redo up to 50 steps. PNG and Z80 DB-format ASM export. PNG import with nearest-neighbor palette conversion. Grid display toggle. Zoom ×1–×8. Full keyboard shortcut support. Single-file HTML, no external dependencies. |