石原 博の覚書

電子工作に関する日々の覚書を記載します

V20-MBCが動いた

2021-07-24 19:55:19 | 日記


[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あたりと思われるが今後調べる予定。