古典電脳物語を読んで、とりあえずCP/M上でモニタやタイニーBASICを動かしたくなる。
http://www.rutles.net/cpu/sbc/devel/devel.html
CP/MエミュータはUbuntuでは、YAZEが良さそうな感じでした。
http://www.mathematik.uni-ulm.de/users/ag/yaze/
ここらを参考にインストールします。
http://www.yamamo10.jp/yamamoto/comp/Tiny_BASIC/Lesson_1/index.php
デフォルトでは、CP/M 3.0(Running '/usr/local/lib/yaze/yaze-cpm3.boot')が起動するので、以下のオプションで2.2(Running '/usr/local/lib/yaze/yaze.boot')を起動します。
$ yaze -l -1 -b yaze.boot
モニタやタイニーBASICはCドライブ($HOME/cpm/disksort/)に仕込んでおきます。
pwd=$HOME/cpm starting yaze_bin -l -1 -b yaze.boot Yet Another Z80 Emulator by AG, final release 2.20.1 (MMU) Copyright 1995,1998 Frank D. Cringle. Pagetables Copyright by Michael Haardt. MMU and CP/M 3.1 extensions Copyright (c) 2000,2008 by Andreas Gerlich. yaze-ag comes with ABSOLUTELY NO WARRANTY; for details see the file "COPYING" in the distribution directory. RAM: 1024 KByte, 4 KByte PAGESIZE, 256 PAGES MMU: 16 TABLES, 16 PAGEPOINTERS per TABLE, selected MMU-PAGETABLE: 0 Running '/usr/local/lib/yaze/yaze.boot' A>dir c: TREADLES.LIB | DUMP .COM | SEQIO .LIB | ASCII .TAB TBCPM .COM | LIESMICH.1ST | DDT .COM | DISK .H DISKSORT.MSG | XSUB .COM | LOAD .COM | DISK2 .C DISK3 .C | ED .COM | STAT .COM | WHEN .LIB TBCPM .ASM | DISK4 .C | MAC .COM | HELLO .C READ .ME | 0-README.1ST | MON80 .HEX | SAMPLE .ASM DOWHILE .LIB | SUBMIT .COM | Z80 .DOC | NCOMPARE.LIB CPM .SYS | ASM .COM | DISK1 .C | DUMP .ASM TBCPM .HEX | MON80 .C | DISKSORT.MD5 | BIOS .ASM Z80 .LIB | DSKMAINT.COM | DSTACK .LIB | MON80 .COM TBCPM .PRN | SIMPIO .LIB | SELECT .LIB | I8085 .LIB STACK .LIB | DISKSORT.C | NSWP .COM | MON80 .PRN BUTTONS .LIB | DISKDEF .LIB | COMPARE .LIB | DISK .DOC PIP .COM | MON80 .ASM | DEBLOCK .ASM | INTER .LIB A>c:tbcpm PALO ALTO TINY BASIC PORTABLE 8080 VERSION CP/M EDITION OK >SYSTEM A>c:mon80 MON80 Version 2.1 CP/M Edition Intel8080 Monitor Program (C)1996-2006 Office TETSU [8000]system