[0]ハード
部品さえ集まればそれほど難しいところはない。コツコツと半田付け。ただしSDカードのサブボードがATMEGAにぶつかる(ATMEGAにソケットをつけないと大丈夫そうだけど)。あとでサブボード削ろう。
メモリはまず動作確認だけだからTC551001BPLが1個で128KByteのみ。
[1]atmega32aにプログラムを書き込む
=======================================
ishi@takugaku:~$ avrdude -p atmega32 -c usbasp -U flash:w:S260320_R230520.ino.with_bootloader_atmega32_16000000L.hex
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9502 (probably m32)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: reading input file "S260320_R230520.ino.with_bootloader_atmega32_16000000L.hex"
avrdude: input file S260320_R230520.ino.with_bootloader_atmega32_16000000L.hex auto detected as Intel Hex
avrdude: writing flash (32768 bytes):
Writing | ################################################## | 100% 12.18s
avrdude: 32768 bytes of flash written
avrdude: verifying flash memory against S260320_R230520.ino.with_bootloader_atmega32_16000000L.hex:
avrdude: load data flash data from input file S260320_R230520.ino.with_bootloader_atmega32_16000000L.hex:
avrdude: input file S260320_R230520.ino.with_bootloader_atmega32_16000000L.hex auto detected as Intel Hex
avrdude: input file S260320_R230520.ino.with_bootloader_atmega32_16000000L.hex contains 32768 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 10.72s
avrdude: verifying ...
avrdude: 32768 bytes of flash verified
avrdude: safemode: Fuses OK (E:FF, H:99, L:E1)
avrdude done. Thank you.
ishi@takugaku:~$
[2]atmega32aにfuseを書き込む
=======================================
ishi@takugaku:~$ avrdude -p atmega32 -c usbasp -U hfuse:w:0xd6:m -U lfuse:w:0xaf:m -U lock:w:0xcf:m
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9502 (probably m32)
avrdude: reading input file "0xd6"
avrdude: writing hfuse (1 bytes):
Writing | ################################################## | 100% 0.00s
avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xd6:
avrdude: load data hfuse data from input file 0xd6:
avrdude: input file 0xd6 contains 1 bytes
avrdude: reading on-chip hfuse data:
Reading | ################################################## | 100% 0.00s
avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0xaf"
avrdude: writing lfuse (1 bytes):
Writing | ################################################## | 100% 0.00s
avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xaf:
avrdude: load data lfuse data from input file 0xaf:
avrdude: input file 0xaf contains 1 bytes
avrdude: reading on-chip lfuse data:
Reading | ################################################## | 100% 0.00s
avrdude: verifying ...
avrdude: 1 bytes of lfuse verified
avrdude: reading input file "0xcf"
avrdude: writing lock (1 bytes):
Writing | ################################################## | 100% 0.01s
avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0xcf:
avrdude: load data lock data from input file 0xcf:
avrdude: input file 0xcf contains 1 bytes
avrdude: reading on-chip lock data:
Reading | ################################################## | 100% 0.00s
avrdude: verifying ...
avrdude: 1 bytes of lock verified
avrdude: safemode: Fuses OK (E:FF, H:D6, L:AF)
avrdude done. Thank you.
ishi@takugaku:~$
[3]Micro SDに SD-S260320-R230520-v3.zipを展開したものを書き込む
[4]USB経由でシリアルを接続(私はputtyで115200baud)
[5]RESETを押すと起動メニューが出る。
(すでに選択している場合は、USERボタンを押しながらRESET)
メニューの選択が難しい。どこかに解説はないかなあ。
[6]とりあえず動作確認1
===CP/M80===========================================
V20-MBC - A250220
IOS - I/O Subsystem - S260320-R230520
IOS: Found extended serial Rx buffer
IOS: V20 clock set at 8MHz
IOS: Found RTC DS3231 Module (24/07/21 18:26:05)
IOS: RTC DS3231 temperature sensor: 30C
IOS: CP/M Autoexec is OFF
IOS: Select boot mode or system parameters:
0: No change (5)
1: iLoad
2: iLoad-80
3: Autoboot
4: Autoboot-80
5: Load OS from Disk Set 0 (CP/M 2.2)
6: Change Disk Set 0 (CP/M 2.2)
7: Change V20 clock speed (->4MHz)
8: Change CP/M Autoexec (->ON)
9: Change RTC time/date
Enter your choice >
A>dir
A: ASCIART BAS : ASM COM : AUTOEXEC SUB : AUTOEXEC TXT
A: CATCHUM COM : CATCHUM DAT : CATCONF COM : D COM
A: DDT COM : DUMP COM : ED COM : GENHEX COM
A: GPELED BAS : HELLO ASM : HELLO COM : LADCONF COM
A: LADDER COM : LADDER DAT : LOAD COM : MAC COM
A: MBASIC COM : MBASIC85 COM : PIP COM : RMAC COM
A: RTC BAS : SINX BAS : STARTREK BAS : STAT COM
A: SUBMIT COM : TREKINST BAS : USERLED BAS : XSUB COM
A: XMODEM COM : XMODEM TXT
A>MBASIC ASCIART
BASIC-80 Rev. 5.21
[CP/M Version]
Copyright 1977, 78, 79, 80 (C) by Microsoft
Created: 15-Dec-80
30203 Bytes free
000000011111111111111111122222233347E7AB322222111100000000000000000000000000000
000001111111111111111122222222333557BF75433222211111000000000000000000000000000
000111111111111111112222222233445C 643332222111110000000000000000000000000
011111111111111111222222233444556C 654433332211111100000000000000000000000
11111111111111112222233346 D978 BCF DF9 6556F4221111110000000000000000000000
111111111111122223333334469 D 6322111111000000000000000000000
1111111111222333333334457DB 85332111111100000000000000000000
11111122234B744444455556A 96532211111110000000000000000000
122222233347BAA7AB776679 A32211111110000000000000000000
2222233334567 9A A532221111111000000000000000000
222333346679 9432221111111000000000000000000
234445568 F B5432221111111000000000000000000
864332221111111000000000000000000
234445568 F B5432221111111000000000000000000
222333346679 9432221111111000000000000000000
2222233334567 9A A532221111111000000000000000000
122222233347BAA7AB776679 A32211111110000000000000000000
11111122234B744444455556A 96532211111110000000000000000000
1111111111222333333334457DB 85332111111100000000000000000000
111111111111122223333334469 D 6322111111000000000000000000000
11111111111111112222233346 D978 BCF DF9 6556F4221111110000000000000000000000
011111111111111111222222233444556C 654433332211111100000000000000000000000
000111111111111111112222222233445C 643332222111110000000000000000000000000
000001111111111111111122222222333557BF75433222211111000000000000000000000000000
000000011111111111111111122222233347E7AB322222111100000000000000000000000000000
Ok
system
CP/M WARM BOOT...
CP/M 2.2 Copyright 1979 (c) by Digital Research
A>
所要時間 8080 mode 8MHz 2分59秒、 4MHzだと5分57秒
[7]とりあえず動作確認2
===CP/M86===========================================
USERボタンを押しながらリセット
V20-MBC - A250220
IOS - I/O Subsystem - S260320-R230520
IOS: Found extended serial Rx buffer
IOS: V20 clock set at 8MHz
IOS: Found RTC DS3231 Module (24/07/21 18:26:05)
IOS: RTC DS3231 temperature sensor: 30C
IOS: CP/M Autoexec is OFF
IOS: Select boot mode or system parameters:
0: No change (5)
1: iLoad
2: iLoad-80
3: Autoboot
4: Autoboot-80
5: Load OS from Disk Set 0 (CP/M 2.2)
6: Change Disk Set 0 (CP/M 2.2)
7: Change V20 clock speed (->4MHz)
8: Change CP/M Autoexec (->ON)
9: Change RTC time/date
Enter your choice >6 Ok
Press CR to accept, ESC to exit or any other key to change
->Disk Set 1 (CP/M-86 1.1)
IOS: Current Disk Set 1 (CP/M-86 1.1)
IOS: Loading boot program (CPM86.BIN)... Done
IOS: V20 CPU is running from now
V20-MBC CP/M-86 BIOS - S220520
CP/M-86 Version 1.1 - 128KB RAM
A>dir
A: ASCIART BAS : ASM86 CMD : ASM86 COM : AUTOEXEC SUB
A: AUTOEXEC TXT : BASIC CMD : BASIC TXT : DDT86 CMD
A: ED CMD : GENCMD CMD : GENCMD COM : GENDEF CMD
A: GENDEF COM : GPELED BAS : HELP CMD : HELP HLP
A: PIP CMD : RTC BAS : SINX BAS : STAT CMD
A: SUBMIT CMD : MBASIC CMD : USERLED BAS
A>mbasic asciart
BASIC-86 Rev. 5.22
[CPM/86 Version]
Copyright 1977-1982 (C) by Microsoft
Created: 5-Mar-82
62390 Bytes free
000000011111111111111111122222233347E7AB322222111100000000000000000000000000000
000001111111111111111122222222333557BF75433222211111000000000000000000000000000
000111111111111111112222222233445C 643332222111110000000000000000000000000
011111111111111111222222233444556C 654433332211111100000000000000000000000
11111111111111112222233346 D978 BCF DF9 6556F4221111110000000000000000000000
111111111111122223333334469 D 6322111111000000000000000000000
1111111111222333333334457DB 85332111111100000000000000000000
11111122234B744444455556A 96532211111110000000000000000000
122222233347BAA7AB776679 A32211111110000000000000000000
2222233334567 9A A532221111111000000000000000000
222333346679 9432221111111000000000000000000
234445568 F B5432221111111000000000000000000
864332221111111000000000000000000
234445568 F B5432221111111000000000000000000
222333346679 9432221111111000000000000000000
2222233334567 9A A532221111111000000000000000000
122222233347BAA7AB776679 A32211111110000000000000000000
11111122234B744444455556A 96532211111110000000000000000000
1111111111222333333334457DB 85332111111100000000000000000000
111111111111122223333334469 D 6322111111000000000000000000000
11111111111111112222233346 D978 BCF DF9 6556F4221111110000000000000000000000
011111111111111111222222233444556C 654433332211111100000000000000000000000
000111111111111111112222222233445C 643332222111110000000000000000000000000
000001111111111111111122222222333557BF75433222211111000000000000000000000000000
000000011111111111111111122222233347E7AB322222111100000000000000000000000000000
Ok
所要時間 2分41秒(8MHz)
diskの内容
=======CP/M86=======
A: ASCIART BAS : ASM86 CMD : ASM86 COM : AUTOEXEC SUB
A: AUTOEXEC TXT : BASIC CMD : BASIC TXT : DDT86 CMD
A: ED CMD : GENCMD CMD : GENCMD COM : GENDEF CMD
A: GENDEF COM : GPELED BAS : HELP CMD : HELP HLP
A: PIP CMD : RTC BAS : SINX BAS : STAT CMD
A: SUBMIT CMD : MBASIC CMD : USERLED BAS
B: ACCESS3 BOX : CALC HLP : CALC PAS : CALCDEMO MCS
B: CALCMAIN PAS : CMDLIN PAS : LISTER PAS : READ ME
B: TINST CMD : TINST DTA : TINST MSG : TURBO CMD
B: TURBO MSG : README TXT : ART TXT : SA PAS
C: PRINT TST : WINSTALL CMD : WS INS : WSMSGS OVR
C: WSOVLY1 OVR : WSU CMD : WS CMD : README TXT
D: 8087 SIM : CLEAR87 CMD : CLEARL L86 : CLEARS L86
D: CODEGEN CMD : F32L OBJ : F32S OBJ : F77 CMD
D: F77 ERS : F77IO ERR : LIB86 CMD : LINK86 CMD
D: MCCLMON F77 : MCCLYMON F77 : PKMEM F77 : PKMEMRAS A86
D: READ ME : SIEVE F77 : TRYF77 SUB : README TXT
E: CB86 CMD : CB86 L86 : CB86 OR1 : CB86 OR2
E: CB86 OR3 : LIB86 CMD : LINK86 CMD : RASM86 CMD
E: READ ME : README TXT : ASCIART BAS : GPELED BAS
E: RTC BAS : SINX BAS : USERLED BAS
F: 8080 CMD : 8080 DOC : VCPM15 A86 : VCPM15 CMD
F: XMODEM COM : XMODEM TXT : ASCIART BAS : CATCHUM COM
F: CATCHUM DAT : CATCONF COM : HELLO COM : LADCONF COM
F: LADDER COM : LADDER DAT : MBASIC COM : MBASIC85 COM
F: RTC BAS : SINX BAS : STARTREK BAS : TREKINST BAS
F: USERLED BAS : HELLO ASM : ASM COM : D COM
F: MAC COM : DDT COM : README TXT
diskの内容
=======CP/M80=======
A: ASCIART BAS : ASM COM : AUTOEXEC SUB : AUTOEXEC TXT
A: CATCHUM COM : CATCHUM DAT : CATCONF COM : D COM
A: DDT COM : DUMP COM : ED COM : GENHEX COM
A: GPELED BAS : HELLO ASM : HELLO COM : LADCONF COM
A: LADDER COM : LADDER DAT : LOAD COM : MAC COM
A: MBASIC COM : MBASIC85 COM : PIP COM : RMAC COM
A: RTC BAS : SINX BAS : STARTREK BAS : STAT COM
A: SUBMIT COM : TREKINST BAS : USERLED BAS : XSUB COM
A: XMODEM COM : XMODEM TXT
B: BASCOM COM : BASCOM HLP : BASCOM2 HLP : BASLIB REL
B: BCLOAD : BRUN COM : CREF COM : CREF80 COM
B: README TXT : L80 COM : LIB80 COM : M80 COM
B: MBASIC COM : OBSLIB REL : RANTEST ASC : RANTEST BAS
B: RANTEST COM : RANTEST REL : SAMPLE BAS : SAMPLE COM
B: SAMPLE REL
C: CDADDS MAC : CDADDS REL : CDADM3 MAC : CDADM3 REL
C: CDANSI MAC : CDANSI REL : CDBEE MAC : CDBEE REL
C: CDHZ15 MAC : CDHZ15 REL : CDISB MAC : CDISB REL
C: CDPERK MAC : CDPERK REL : CDSROC MAC : CDSROC REL
C: CDWH19 MAC : CDWH19 REL : CDZEPH MAC : CDZEPH REL
C: COBLBX REL : COBLIB REL : COBLOC : COBOL COM
C: OPTIONS : COBOL1 OVR : COBOL2 OVR : COBOL3 OVR
C: COBOL4 OVR : CREF80 COM : CRTDRV REL : CRTEST COB
C: CVISAM COM : DEBUG REL : L80 COM : LD80 COM
C: LIB COM : M80 COM : REBUILD COM : RECOVR COB
C: RUNCOB COM : SEQCVT COM : SQUARO COB : README TXT
D: CPMIO MAC : CRCKLIST CRC : CREF80 COM : DSKDRV MAC
D: DTBF MAC : F80 COM : FCHAIN MAC : FORLIB REL
D: INIT MAC : IOINIT MAC : L80 COM : LIB COM
D: LPTDRV MAC : LUNTB MAC : M80 COM : TTYDRV MAC
D: README TXT
E: ANAGRAM COM : CHAPTER1 DOC : CHAPTER2 DOC : CHAPTER3 DOC
E: DIARY DOC : DICTSORT COM : FIND COM : HOMONYMS TXT
E: HYEXCEPT TXT : HYPHEN COM : LOOKUP COM : MAINDICT CMP
E: KIDS : MARKFIX COM : MOVEPRN COM : PATCH LST
E: PRINT TST : READ ME : README : STAN
E: REVIEW COM : RULER DOC : SAMPLE1 DOC : SAMPLE2 DOC
E: SAMPLE3 DOC : SPELL COM : TABLE DOC : TEXT DOC
E: TW COM : WC COM : WINSTALL COM : WORDFREQ COM
E: WS COM : WS OVR : WSCHANGE COM : WSCHANGE OVR
E: WSCHHELP OVR : WSHELP OVR : WSINDEX XCL : WSMSGS OVR
E: WSPRINT OVR : WSSHORT OVR : README TXT
プログラムの追加はどうするんだろう。メニューのiLoadあたりと思われるが今後調べる予定。