!!!CP/M 2.2 {{outline}} !!links *[The Unofficial CP/M Web site|http://www.cpm.z80.de/] *[PC-6001mkII/6601 CP/M導入メモ|http://000.la.coocan.jp/p6/cpm.html] *[復活!CP/M ワンボードマイコンでCP/Mを!|http://www.alles.or.jp/~thisida/cpm_mycom1.html] (連載中) **[BIOSのディスクアクセスルーチン(2)|http://www.alles.or.jp/~thisida/cpm_mycom11.html] **[CP/Mソースプログラムの修正作業(2)|http://www.alles.or.jp/~thisida/cpm_mycom20.html] **[CP/Mソースプログラムの修正作業(3)|http://www.alles.or.jp/~thisida/cpm_mycom32.html] *[MZ-2000 と CP/M移植|http://madlabo.oops.jp/MAD/0094.htm] *[CP/M ega88|http://toyoshima-house.net/circle/2010/01/cpm-ega88.html] *[OSと言えばコレでしょ!CP/Mスレ|http://ikura.2ch.net/test/read.cgi/i4004/1008593743] (2ch) *[CP/M|http://ja.wikipedia.org/wiki/CP/M] (Wikipedia) *[CP/M Emulator Alpha Version for PC-1600K|http://www.kako.com/neta/1999-016/1999-016.html#PC1600] *[Linuxによる8ビットCP/Mマシンの開発|http://www.ip-arch.jp/LinuxJapan/200108-alpha.pdf] (pdf) *["WindowsOS内部のアーキテクチャのすべて"読書メモ|http://www.glamenv-septzen.net/view/633] *[AVRとZ80でCP/M|http://star.gmobb.jp/koji/cgi/wiki.cgi?page=AVR%A4%C8Z80%A4%C7CP%A1%BFM] *http://www.d1.dion.ne.jp/~ytera/ (CP/M関連の資料あり) *[The CP/M operating system|http://www.seasip.demon.co.uk/Cpm/] !!Memory Map *62K CP/Mの場合 ,address,size,description ,$0000,0.25KB,CP/M System Area ,$0100,54.75KB,TPA (Transient Program Area) ,$dc00,2KB,CCP (Console Command Processor) ,$e400,3.5KB,BDOS (Basic Disk Operating System) ,$f200,1.5KB,BIOS (Basic Input and Output System) ,$f800,4KB,System Area (for Target Machine) !!BIOS !links *[CP/M Basic Input/Output System|http://www.seasip.demon.co.uk/Cpm/bios.html] !functions *BOOT *WBOOT *CONST *CONIN *CONOUT *LIST *PUNCH *READER *HOME *SELDSK *SETTRK *SETSEC *SETDMA *READ *WRITE *PRSTAT *SECTRN !!BDOS !links *[BDOS Function Summary|http://www.seasip.demon.co.uk/Cpm/bdosfunc.html] *[BDOS system calls|http://www.seasip.demon.co.uk/Cpm/bdos.html] !functions *$00 System Reset *$01 Console Input *$02 Console Output *$03 Auxiliary Input *$04 Auxiliary Output *$05 List Output *$06 Direct Console I/O *$07 Get I/O Byte *$08 Set I/O Byte *$09 Print String *$0A Read Console Buffer *$0B Get Console Status *$0C Return Version Number *$0D Reset Disk System *$0E Select Disk *$0F Open File *$10 Close File *$11 Search for First *$12 Search for Next *$13 Delete File *$14 Read Sequential *$15 Write Sequential *$16 Make File *$17 Rename File *$18 Return Login Vector *$19 Return Current Disk *$1A Set DMA Address *$1B Get Addr (Alloc) *$1C Write Protect Disk *$1D Get R/O Vector *$1E Set File Attributes *$1F Get Addr (DPB) *$20 Set/Get User Code *$21 Read Random *$22 Write Random *$23 Compute File Size *$24 Set Random Record *$25 Reset Drive *$28 Write Random with Zero Fill