m@3記念館 CPU 覚え書き
機種ごとの参考文献はMAP表示の方に少し書きました。

[Z80]
資料 MSXマシン語入門講座(アスキー)
ASM M80
C SDCC/Z88DK
機種 MSX/PC-8801/X1/MZ

[6809]
資料 はじめて読む6809(アスキー)
ASM
C GCC6809/CMOC(not Win)
機種 FM-7

[8086]
資料 はじめて読む8086/MASM(アスキー)
ASM MASM
C GCC-ia16
機種 PC-9801

[68000]
資料 68000プログラマーズハンドブック(技術評論社)
ASM
C GCC
機種 X68000/AMIGA

[6502]
資料 VIC-1001 USER'S MANUAL
ASM
C CC65
機種 C64

[PIC]
資料 電子工作のためのPIC活用ガイドブック(技術評論社)
ASM
C PICC
機種 未定

[80386]
資料 はじめて読む486(アスキー)
ASM
C GCC、High-C
機種 PC-98/FM TOWNS


レトロパソコンの開発方法(2024/1//4)

何故昔のパソコンを学習するのか?簡単だから。

クロス開発用のC言語、アセンブラを用意する(一例)
PC-8801/X1/MZ-2500/MSX Z80系統
z88dk

FM-7/77/77AV MC6809系統
gcc6809、CMOC

PC-9801/PC-88VA/PC AT i8086系統
gcc-ia16

FM TOWNS
TOWNS-gcc クロスコンパイル環境

X68K
xdev68k、elf2x68k

commodore64 MOS6502系統
cc65、gcc6502

AMIGA
gcc-amiga

C以外にCateというコンパイラも公開されているが割愛

Windows用のバイナリが用意できない物はWSL2/Ubuntuを利用して構築する
開発環境によっては一部定義ファイルの修正が必要

セルフ版が用意できる場合
エミュレータに環境構築する

オブジェクト構築後のバイナリの配布条件はそれぞれ違うので調べておく。

機種の資料を見ながらプログラミングする
図書館などで本を入手
Webの場合はメモリマップ、exampleなどのキーワードで検索
英文の場合は翻訳

一部で配布されてる書籍の丸ごとPDFは使わない。

Cだけだとアセンブラの3〜4倍遅いので速くしたいところやシステムコールはアセンブラで書く。

ドット絵はEDGE(ブラウザではない)などで16色bitmap作って変換することもできる。

ディスクイメージを構築
L3 DiskExplorer(.d88、.d77)、Disk Expolorer(.xdf、.dsk)など

動作するレトロパソコン本体を用意し、下記から選択
(1)ROMを吸い出し、エミュレータを動作させる

(2)レトロパソコンにFDDエミュレータを組み込む

(3)ツールとケーブルを使用してレトロパソコンのFDDに書き戻す

3.5inch2DD/2HD FAT12の場合は3モード対応のUSB-FDDも使える(System Volume Informationはあふ等で消す)

エミュレータはXMシリーズなど。
Common Source Code ProjectはWindows Defenderにひっかかる。ことがある。
88VAEGのようにオリジナルのエミュレータのリリースが止まり、改造版が出ているものもある。

ROM吸い出した本体は処分しない。ネットに勝手に出回ってるオリジナルのROMやDISK-BASIC、OSのイメージは使わない。

本体が用意できない場合
X68KはオリジナルのROMイメージやOSが公開されている
PC-98やPC ATのように内包されている機種もある
MSXやC64、AMIGA、Tandy CocoのようにJavaScriptのWebエミュレータがある機種もある
8bit御三家やFM TOWNSのようにROM BASIC等は基本動かないが互換ROMの公開されている機種もあるが、z88dkのように直接起動させられるイメージを作れる開発環境やLSX-dodgersのように起動させるOSが必要
詳しい構築方法はそれぞれ別途検索して下さい。
[戻]