AKI-80でCP/M(RomWBW)を動かしてみた(追記)

Super AKI-80で書き忘れたことがあった。
Super AKI-80のCTCとSIOが接続済みになっているが、クロック周りはEasy Z80やTiny Z80を参考に組んだので、CTCとSIO間の配線を切断する必要がある。
以下、Super AKI-80の該当部分の回路図と、基板のパターン切断場所。

カテゴリー: CP/M, Z80, 電子工作 | タグ: , | コメントする

AKI-80でCP/M(RomWBW)を動かしてみた

気が付いたら3年もあけてしまった。

何年か前、ヤフオクを眺めていたところEasy Z80の基板が出品されていたので、さっそく落札した。
しばらくの間、10MHzで動くZ80SIO,CTCが手に入らず何か月か経ってから組み立てを行った。
このボードはRC2014というバスで機能を拡張できるようだったので、CFやIDEやRTCなど少しづつ購入していろいろ付け加えていった。
海外のサイトからの購入なので、すこし不安があったが無事に届いて安心した。

さて、話はかわって、秋月電子のAKI-80はいつのまにか終売となって、Super AKI-80も在庫限りで秋葉原店で投げ売りされていた。
手持ちのAKI-80やSuper AKI-80を眺めながら何か作れないかなを思い、ネットを眺めているとCP/Mを動かしたりしているのをいくつか見つけた。
そしてふとRomWBWを動かせないかと思いついたので、さらにネットを調べてみたがX(Twitter)で動いたという報告が1件あるだけだった。
どうしたものか調べてみると、RomWBWはTiny Z80に対応していて、そのTiny Z80はザイログのZ84C15が使用されている。
Z84C15は東芝のTMPZ84C015を元に作られていて、一部のピンとIO上にある設定用レジスタに違いはあるものの、ほぼ互換となっている。
ならば自分でもAKI-80でRomWBWを動かしてみようと思い、さっそく作ってみた。
クロック周りはTiny Z80を参考にしている。

まずはAKI-80で動くかどうか確認をかねて組み立て。

RomWBWもAKI-80用にコンフィグファイルを準備してアセンブルする。
コンフィグファイルはTiny Z80用のものを参考にした。
最初はうまく起動しなくて、ハード的・ソフト的にいろいろ調べてみた。
ハード的にはリセットにノイズが乗っていたようで、最終的にはAKI-80上のリセット周りは取り外した。
ソフト的には「hbios.asm」の一部に誤りらしきものがあったので、そこも修正。
v3.5.1を元に修正ファイルは \RomWBW-release\RomWBW-v3.5.1-Package\Source\HBIOS にある「hbios.asm」の1728行目以降。
修正箇所は以下の通り。

修正前

#IF (EIPCENABLE)
	LD	A,(EIPC_WDT_CONST | EIPC_HALT_RUN | EIPC_WDT_P2_22)
	OUT	(EIPC_WDTMR),A		; CLEAR WDTE BIT (DISABLE WATCHDOG)
	LD	A,EIPC_DIS_WDT		; DISABLE WDT - SECOND KEY
	OUT 	(EIPC_WDTCR),A
	LD	A,EIPC_WCR		; SET SYSTEM CONTROL REGISTER POINTER
					; (SCRP) TO POINT TO WAIT STATE
	OUT	(EIPC_SCRP),A		; CONTROL REGISTER (WCR)
	LD	A,(EIPC_IO_0WS | EIPC_MEM_OWS | EIPC_OCF_0WS | EIPC_INT_0WS | EIPC_CHAIN_0WS)
	OUT	(EIPC_SCDP),A		; NO WAIT STATES
	LD	A,EIPC_MCR		; SET SCRP TO POINT TO MISCELLANEOUS
	OUT	(EIPC_SCRP),A		; CONTROL REGISTER (MCR)
	LD	A,EIPC_CLKDIV1		; DIVIDE CLOCK BY 1, /CS0 DISABLE
	OUT	(EIPC_SCDP),A		; SET SYSTEM CONTROL DATA PORT (SCDP)
#ENDIF

修正後

#IF (EIPCENABLE)
	LD	A,EIPC_WDT_CONST | EIPC_HALT_RUN | EIPC_WDT_P2_22
	OUT	(EIPC_WDTMR),A		; CLEAR WDTE BIT (DISABLE WATCHDOG)
	LD	A,EIPC_DIS_WDT		; DISABLE WDT - SECOND KEY
	OUT 	(EIPC_WDTCR),A
;	LD	A,EIPC_WCR		; SET SYSTEM CONTROL REGISTER POINTER
					; (SCRP) TO POINT TO WAIT STATE
;	OUT	(EIPC_SCRP),A		; CONTROL REGISTER (WCR)
;	LD	A,EIPC_IO_0WS | EIPC_MEM_OWS | EIPC_OCF_0WS | EIPC_INT_0WS | EIPC_CHAIN_0WS
;	OUT	(EIPC_SCDP),A		; NO WAIT STATES
;	LD	A,EIPC_MCR		; SET SCRP TO POINT TO MISCELLANEOUS
;	OUT	(EIPC_SCRP),A		; CONTROL REGISTER (MCR)
;	LD	A,EIPC_CLKDIV1		; DIVIDE CLOCK BY 1, /CS0 DISABLE
;	OUT	(EIPC_SCDP),A		; SET SYSTEM CONTROL DATA PORT (SCDP)
#ENDIF

LD A,(~)のところをLD A,~に修正。
かっこの有無で意味が変わってくるが、説明は省略。
あとは、Z84C15で追加されてTMPZ84C015には無いレジスタの設定はコメントアウト。
ここはコメントアウトしなくても、I/Oを空振りするだけなので直さなくてもよいかも。

いろいろ修正して動くようになったが、今度はCFモジュールをつけるとCTCが見えなくなる。
なぜだろうと回路図を眺めると、CFモジュールのアドレスデコードでA7を見ていないことが分かった。
この状態だと、I/Oアドレスの0x10と0x90の両方に反応して、CTCのアドレスとかち合ってしまっている。
これに対応するためCFモジュールの修正を行った。
具体的には、アドレスバスのA7をM1とANDを取るようにダイオードとプルアップ抵抗を追加。
これでI/Oアドレスの0x90でのみ反応するようになった。
 

基板については、M1から74HCT138へ伸びているパターンをカットして、基板裏面にダイオードと抵抗を追加した。
 

とりあえずAKI-80で動くことを確認したら、今度は」Super AKI-80のほうに取り掛かった。
こちらは82C265(82C55 × 2)が付いていて、せっかくだからIDEの機能を乗せることにした。
IDEについては、RFC2014のサイトにあるIDE Hard Drive Moduleにある回路図を参考に配線する。


電源投入時にコンソールから起動メッセージが表示されても、こちらからの文字が入力できず、リセットしてから再起動後に入力できるようになることがあるので、リセットICのM51957Bを使って電源投入時の約1秒間リセット信号を送るようにモジュールを組む。
これで、電源投入して起動したあとのコンソール入力も問題なくできるようになった。

AKI-80とSuper AKI-80にメモリーなどいろいろ載せて動かしているところ。
Super AKI-80はIDEでコンパクトフラッシュをつないでいるので縦長になってしまった。

TeraTermの表示内容。
PPIDEがSuper AKI-80上のPPI(82C265)の0番を指していている。
RomWBWのコンフィグファイルもSuper AKI-80に合わせて直してある。

最後にコンフィグファイルの内容。
\RomWBW-v3.5.1-Package\Source\HBIOS\Config 内に「RCZ80_aki80_std.asm」というファイルを作成して、あとは\RomWBW-v3.5.1-Package\Source\HBIOS にある Buildコマンドでアセンブルするだけ。

;
;==================================================================================================
;   ROMWBW DEFAULT BUILD SETTINGS FOR TINY Z80
;==================================================================================================
;
; THIS FILE DEFINES THE DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
; INDICATED ABOVE.  THESE SETTINGS DEFINE THE OFFICIAL BUILD FOR THIS
; PLATFORM AS DISTRIBUTED IN ROMWBW RELEASES.
;
; ROMWBW USES CASCADING CONFIGURATION FILES AS INDICATED BELOW:
;
; cfg_MASTER.asm			- MASTER: CONFIGURATION FILE DEFINES ALL POSSIBLE ROMWBW SETTINGS
; |
; +-> cfg_<platform>.asm		- PLATFORM: DEFAULT SETTINGS FOR SPECIFIC PLATFORM
;     |
;     +-> Config/<plt>_std.asm		- BUILD: SETTINGS FOR EACH OFFICIAL DIST BUILD
;         |
;         +-> Config/<plt>_<cust>.asm	- USER: CUSTOM USER BUILD SETTINGS
;
; THE TOP (MASTER CONFIGURATION) FILE DEFINES ALL POSSIBLE ROMWBW
; CONFIGURATION SETTINGS. EACH FILE BELOW THE MASTER CONFIGURATION FILE
; INHERITS THE CUMULATIVE SETTINGS OF THE FILES ABOVE IT AND MAY
; OVERRIDE THESE SETTINGS AS DESIRED.
;
; OTHER THAN THE TOP MASTER FILE, EACH FILE MUST "#INCLUDE" ITS PARENT
; FILE (SEE #INCLUDE STATEMENT BELOW).  THE TOP TWO FILES SHOULD NOT BE
; MODIFIED.
;
; TO CUSTOMIZE YOUR BUILD SETTINGS YOU SHOULD MODIFY THIS FILE, THE
; DEFAULT BUILD SETTINGS (Config/<platform>_std.asm) OR PREFERABLY
; CREATE AN OPTIONAL CUSTOM USER SETTINGS FILE THAT INCLUDES THE DEFAULT
; BUILD SETTINGS FILE (SEE EXAMPLE Config/SBC_user.asm).
;
; BY CREATING A CUSTOM USER SETTINGS FILE, YOU ARE LESS LIKELY TO BE
; IMPACTED BY FUTURE CHANGES BECAUSE YOU WILL BE INHERITING MOST
; OF YOUR SETTINGS WHICH WILL BE UPDATED BY AUTHORS AS ROMWBW EVOLVES.
;
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE
; SOURCE DIRECTORY (TWO DIRECTORIES ABOVE THIS ONE).
;
; *** WARNING: ASIDE FROM THE MASTER CONFIGURATION FILE, YOU MUST USE
; ".SET" TO OVERRIDE SETTINGS.  THE ASSEMBLER WILL ERROR IF YOU ATTEMPT
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE PLATFORM_NAME "AKI-80", " [", CONFIG, "]"
#DEFINE AUTO_CMD	""		; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG	SER_115200_8N1 | SER_RTS	; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_RCZ80.asm"
;
BOOT_TIMEOUT	.SET	-1		; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY	.SET	FALSE		; BOOT WITH PRETTY PLATFORM NAME
AUTOCON		.SET	TRUE		; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC		.SET	8000000		; CPU OSC FREQ IN MHZ
INTMODE		.SET	2		; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
;
CTCENABLE	.SET	TRUE		; ENABLE ZILOG CTC SUPPORT
CTCBASE		.SET	$10		; CTC BASE I/O ADDRESS
CTCTIMER	.SET	TRUE		; ENABLE CTC PERIODIC TIMER
CTCMODE		.SET	CTCMODE_CTR	; CTC MODE: CTCMODE_[NONE|CTR|TIM16|TIM256]
CTCOSC		.SET	921600		; CTC CLOCK FREQUENCY
EIPCENABLE	.SET	TRUE		; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION
WDOGMODE	.SET	WDOG_NONE	; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
WDOGIO		.SET	$6F		; WATCHDOG REGISTER ADR
;
FPLED_ENABLE	.SET	TRUE		; FP: ENABLES FRONT PANEL LEDS
FPSW_ENABLE	.SET	TRUE		; FP: ENABLES FRONT PANEL SWITCHES
LCDENABLE	.SET	TRUE		; ENABLE LCD DISPLAY
CRTACT		.SET	FALSE		; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD	.SET	$FF		; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DSRTCENABLE	.SET	TRUE		; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
RP5RTCENABLE	.SET	FALSE		; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
INTRTCENABLE	.SET	TRUE		; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
DUARTENABLE	.SET	FALSE		; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
UARTENABLE	.SET	FALSE		; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
ACIAENABLE	.SET	FALSE		; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
SIOENABLE	.SET	TRUE		; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
SIO0MODE	.SET	SIOMODE_STD	; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP|Z80R]
SIO0BASE	.SET	$18		; SIO 0: REGISTERS BASE ADR
SIO0ACLK	.SET	1843200		; SIO 0A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
SIO0BCLK	.SET	1843200		; SIO 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
SIO1ACLK	.SET	7372800		; SIO 1A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
SIO1BCLK	.SET	7372800		; SIO 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
;
TMSENABLE	.SET	FALSE		; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
TMSMODE		.SET	TMSMODE_MSX	; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU]
TMS80COLS	.SET	FALSE		; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
TMSTIMENABLE	.SET	FALSE		; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
VRCENABLE	.SET	FALSE		; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
EFENABLE	.SET	FALSE		; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
;
FDENABLE	.SET	FALSE		; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FDMODE		.SET	FDMODE_RCWDC	; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
FD0TYPE		.SET	FDT_3HD		; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
FD1TYPE		.SET	FDT_3HD		; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
;
IDEENABLE	.SET	TRUE		; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
IDE0BASE	.SET	$90		; IDE 0: IO BASE ADDRESS
;
PPIDEENABLE	.SET	TRUE		; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
PPIDE0BASE	.SET	$30		; PPIDE 0: PPI REGISTERS BASE ADR
;
SDENABLE	.SET	FALSE		; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE		.SET	SDMODE_PIO	; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
SDCNT		.SET	1		; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
;
CHENABLE	.SET	TRUE		; CH: ENABLE CH375/376 USB SUPPORT
;
PRPENABLE	.SET	FALSE		; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
;
LPTENABLE	.SET	FALSE		; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
;
PPAENABLE	.SET	FALSE		; PPA: ENABLE IOMEGA ZIP DRIVE (PPA) DISK DRIVER (PPA.ASM)
IMMENABLE	.SET	FALSE		; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM.ASM)
SYQENABLE	.SET	FALSE		; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
;
SN76489ENABLE	.SET	FALSE		; SN: ENABLE SN76489 SOUND DRIVER
;
AY38910ENABLE	.SET	FALSE		; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AY_CLK		.SET	1789772		; AY: PSG CLOCK FREQ, ASSUME MSX STD
AYMODE		.SET	AYMODE_RCZ80	; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
AY_FORCE	.SET	FALSE		; AY: BYPASS AUTO-DETECT, FORCED PRESENT
カテゴリー: CP/M, Z80, 電子工作 | タグ: , , | コメントする

PC-9821Na13/H10を手に入れる。そしてコンパクトフラッシュ化

先日手に入れたPC-9821La10なのだが、HDDをコンパクトフラッシュに交換されて、Windows3.1と95がインストールされた状態のものだ。
だがちょっとパーティションの切り方に若干の不満が。
コンパクトフラッシュを交換して容量を増やしてみたいと思ったが、この機種は結構分解しないとHDD(CF)にたどり着けないらしい。
とはいえ、なんとなく自分でもCF化してみたいと思っていたところ、またしても手ごろな値段で出品されていたので落札してみた。
1GBのHDDにWindows98がインストールされていたもの。
そうして手に入れたPC-9821Na13だが、これはHDDが簡単に交換できる機種で、さっそく資材を手に入れCF化を行ってみた。

まず下準備として、Windowsのバックアップを行う。
PCMCIAでコンパクトフラッシュを認識させるのとWindows98に標準でついているバックアップソフトを使えるようにする必要があるのだが、その際にWindows98のインストールCDが必要になったので、PC-98用のWindows98も入手。ついでにWindows95も入手。
これでPC-98用のWindows3.1,95,98がそろったことになる。

バックアップを取ったら、次に交換用のコンパクトフラッシュの準備。

最初、Transcendの4GBを使うことにしたのだが、このコンパクトフラッシュの場合、MS-DOS6.2、Windows3.1、Windows98を立ち上げようとすると、場合によってはファイルが読み込めなくなって正常に立ち上がらないことが多々あった。
で、BUFFALOのCFにしてみたが、今度はIDEとして使えないっぽく、結局高めのコンパクトフラッシュになってしまった。
こちらはSLC(Single Level Cell)であることをうたっており安定して使えるようだ。
こういう時はケチって安いものを使うのではなく、ちゃんとしたもののほうが良いようだ。

コンパクトフラッシュをIDEに変換するアダプタをつけて、HDDの代わりにケースに取り付けたが、そのままではケースがフニュフニャでコネクタが差さらなかったので、アルミケースを利用して格納するようにした。
ちょうどよい大きさのものがないものかと思いいろいろ眺めていたところ、タカチのYM-100がちょうどよさそうということになった。
ただ、厚さが違うので、ちょうどの高さになるように切断して加工した。

さてコンパクトフラッシュを装着したら、今度はパーティションを切って、MS-DOS6.2とWindows98を仮インストール。
そのあと、仮インストールしたWindows98でバックアップした内容をリストア。
元のWindows98が入った状態になり、もともとインストールされていたゲームなんかも遊べるようになった。
また、PC-9821La10でXCOPYコマンドでバックアップしたMS-DOS6.2/Windows3.1を移設。
先日PC-9801DAに入れたWindows3.1は、もともとはPC-9821La10とPC-9821Na13で遊ぶために入手したものだ。
これで1GBのHDDにWindows98だけだったものが、4GBのコンパクトフラッシュにMS-DOS6.2/Windows3.1とWindows98が同居したマシンに生まれ変わった。

さて、HDDを取り出したはいいが、そのままだとHDDとCFを入れ替えるのが面倒だなと思い、HDD用のケースをメルカリで手に入れた。
手に入れてHDDを取り付けたはいいが、微妙にサイズが違う。
まず、長さが2㎜ぐらい違う。
そしてコネクタの位置とサイドのガイドの位置が違った、

PC-9821Na13に無理やり差して差さらないこともないけど無理な負担がかかりそうでちょっと怖い。

あとは、Windows3.1用のディスプレイドライバが何とか手に入らないかなぁといったところ。
どうやって遊ぼうかな。

カテゴリー: PC-9821 | コメントする

PC-9821La10にFDDをつないでみる

PC-9821La10にFDDをつないでみようと思った。
PC-9821La10を手に入れたばかりのころ、ヤフオクでは適合する型名875542-001のFDDが2万円で出品されていた。
本体より高い。
しかも動作未確認のジャンク。
動作確認済みとかメンテナンス済みってならもしかしたら買ったかもしれんが、動くかどうかわからんものにいくら希少なものとはいえそんな高値は出してられない。
そんな金額出すなら別の機種を買う。
しかも3/5ぐらいの金額でだ。

・・・・・・?!
ま、こちらは別の記事にまとめるとして、利用できそうなFDDをいくつかそろえる。

工作室の記憶というところにPC-98用のFDDなどの情報がまとまっていたので、もろもろ参考にして、FD1238TやFD1138Tを手に入れる。
ハーフピッチのアンフェノールコネクタもAmazonで手に入れることができた。
と、そんなこんなしていたら875542-001が1,000円でヤフオクに出てきたので、そちらのほうをなんとか競り勝って手に入れる。
それでも2,000円しない。
バカ高いジャンクを買って動かなかった場合ダメージはでかいが、良心的な値段だと、動かなかった場合でもその金額で必要な機材を手に入れて修理したりできたりするものだ。

さて875542-001を手に入れたものの、PC-9821La10つないでみたもののFDDへアクセスするとものすごい音がするものの読み込むことができない。

動かないことは想定済みだったので、分解して中身を別途手に入れた薄型FDDのFD1238Tを入れ替えてみる。

まさかの全滅orz
たしか動作確認済みってやつも買ったはずなのに。
件のサイトによれば、同じFD1238TでもPC-98用とPC/AT互換機用の2種類があるらしく、別途手に入れたFDDドライブI/F変換モジュールで確認してみたら確認済みってやつはこっちで動いた。
が、他はやっぱり駄目だった。
それでもFDDにかけた総額は、2万円に比べればまだ安い。

気を取り直して、FD1138Tで試してみる。
件のサイトの情報をもとにケーブルを作成。

機械部分を丸出しのまま使うのは気が引けるので、5インチベイのマウンタに載せる。
なんかいいケースがないものか。
さて、デスクトップ用のFD1138Tをつないでみたところ、こちらはすんなり読みこむことができてしまった。

ドライブをつないでDOSを起動して、DIRコマンドでフロッピーディスクの中身を表示。
FORMATコマンドでフォーマット、システム転送して、そのフロッピーディスクでMS-DOS起動ができることを確認。
読み書きできることを確認したが、フロッピーディスクによっては挙動が怪しいことも。
この場合、ドライブが悪いのかディスクが悪いのか。
古い機械なのであちこちガタが来ているわけでこればかりは何ともしようがないのだろうか。

カテゴリー: PC-9821, 電子工作 | コメントする

PC-9801DAにWindows3.1を入れてみた

別件でPC-98用のWindows3.1を手に入れた。
ほかにもMS-DOS6.2も入手。
PC-9801DAを手に入れたときにMS-DOS3.3Dや5.0Aなども入手済み。
そこそこ遊ぶのには十分だろう。

さてWindows3.1のパッケージを眺めていたところ気になったことが。

これ、手持ちのPC-9801DAに入れられるんじゃね?
ヤフオクで入手した時点で4MB増設されていて計5MB積んである。
HDDは変換番長PROがあるから準備しようと思えばすぐ準備できる。
変換番長PROの活用もかねてインストールしてみる。

そういえば、PC-9801DAを入手した当時はSCSI機器を追加することはないと思っていたが、やっぱりあると全然違うわ。

まず、MS-DOS6.2をインストール後Windows3.1のインストールを実行。

すんなりインストールが実行できた。
中古なせいかフロッピーディスク1枚ほどうまく読み込めないみたいだったけど、先日買った98ノートから必要なファイルをコピーできたので事なきを得た。

インストールも終わりWindowsを立ち上げてみたらすんなり起動した。

インストールできて起動もできたが、さてどうやって遊ぼうかな。
Vectorでは今でも昔のフリーソフトがあったりするから適当に眺めて面白そうなものでも落としてみるか。

さて、Windows3.1のフロッピーディスクは15枚(Microsoft版)ある。
ヤフオクで手に入れたときは輪ゴムで止められて箱の中に入っていたわけだが、それだといささか扱いづらい。
何かないものかと思ってファイルにまとめることにした。

昔はフロッピーディスク専用のファイルもあったが、今はもう扱っているところはほぼない。
以前、代用になるものはないかとヨドバシカメラを持てまわっていたが、写真用品のところでよいものを見つけた。
たしか堀内カラー HCL ソフトファイル 6×7・6×9(スペア)というもの。
スライドフィルムの保管用らしいのだが、ちょうどフロッピーディスクのサイズにちょうど良かったものだ。
100円ショップで買った4リングファイルにまとめてある。
ひっくり返したりしなければ多分大丈夫かな。

カテゴリー: PC-9801 | コメントする

変換番長PROを手に入れてICM仕様SCSIケーブルを作る

秋葉原を適当にぶらついていたら、変換番長PROなるものを見つける。
手持ちのPC-9801DAのHDDは古い機体でたまに起動しないことがある。
いつ動作しなくなるかわからない状態。
これを使えばHDDの内容をバックアップしたり、HDDの容量を気にしなくても済む。

だが、手持ちのPC-9801はICMの独自仕様の37ピンのDサブコネクタ。
とはいえ変換すれば接続は可能なので、変換ケーブルの作りやすさも考慮して直付モデルをヤフオクで購入。

Dサブ37ピンコネクタとアンフェノール50Pメスコネクタとフラットケーブルで変換ケーブルを作成。
変換番長PROはアクリル板で保護。

ケーブルはツイストペアを使えばいいらしく、ツイストペアになっているフラットケーブルが欲しかったのだが、見つけられなかったので普通のフラットケーブルにした。

ケーブルが出来上がったので、さっそく接続して確認してみる。
イメージファイル作成ツールでいくつか空のHDDのイメージファイルを作成。
バスパワーでは電力不足のようで、別途5Vの電源が必要だった。

PC-9801を起動した後、FORMATコマンドでHDDイメージを初期化。
初期化が無事できたので再起動。
無事HDDとして認識された。
意外とざっと作ったケーブルでも大丈夫だったりする。

SCSI固定ディスク#1は内蔵のHDDでパーティションを切ってDOSが起動するようになっている。
残りの#2~#6が変換番長PROにあるイメージファイルのもの。
MS-DOSを起動してHDDが見えるか確認。

確かPC-9801で実際に使えるHDDの数に制限があったはず。
A:とB:は内蔵HDDにパーディションを切ってあるのでこれで一台。
ほかのC:~E:で3台分なので、同時に利用できるのは4台までか。
どこかにこの辺の制限について書いてあったと思うけど、探してみよう。

最後にフリーソフトでSCSIの情報について表示させるコマンドがあったので、それを確かめてみる。

しっかり内蔵含む6台分のHDDが認識。
ベンダーIDはNECを先頭に含む文字列にした。
ICMのSCSIボードなので、別に何でもいいのだけどね。

まあこれでHDDがいつ壊れても大丈夫になったな。
PC-98関係は前に買ったノートも含めてほかにもネタがあるので少しずつまとめていこう。

カテゴリー: PC-9801, 電子工作 | コメントする

新品のはずのコンパクトフラッシュに謎のファイル

Amazonで2GBのコンパクトフラッシュを買う

Amazon | BUFFALO コンパクトフラッシュ2GB RCF-X2G | バッファロー | 無線・有線LANルーター 通販

PCに差し込んだところ、よくわからないファイルが

なにこれ、怖いんだけど
結局何のファイルかわからん

カテゴリー: ひとりごと | コメントする

PC-9821La10をヤフオクで手に入れた

ヤフオクでPC-9821La10を手に入れてしまった。
結構安く即決で出ていたのでポチってしまった。

HDDはコンパクトフラッシュに換装され、MS-DOS6.2、Windows3.1、Windows95がインストール済み。
なかなかにいい条件だったので良い買い物であった。

電源については、汎用のACアダプタでも使えるように改造済みだったのだが、もう少し何とかならなかったのだろうか。
いいんだけどね。

さて、コネクタ類なのだが、これをどうしたものか。
プリンタケーブルやシリアルケーブルは別途手に入れたものや実家にあったものを持ってきて何とかした。

しかし、マウスやディスプレイケーブルは手に入りにくい。
ヤフオクやメルカリで探せば出るものの、妙に高かったりするし。
マウスに関してはメンテナンスを考えるとUSBマウスを変換して使いたいところだが、以前買ったものは品切れだし、それ以外のものはバカ高いし。10,800円て・・・

ただ、ディスプレイに関してはピンアサインは判明しているし、USBマウスコンバータは製作記事がネットにあるのでそれを作ることにした。

USBマウスコンバータは「PC-9801用バスマウス変換器」を参考に作成。

こちらもヤフオクで完成品が出品されているが、自分で作ったほうが安くすぐ使える。
比較的簡単にできたが、基板が上下逆になってしまったorz

ディスプレイケーブルに関しては「PC-9821 RGB接続まとめ」などを参考にした。

ただこのコネクタ、ミニDIN10ピンらしいのだがマルツに行っても売ってないし、他に売ってるところも見当たらない。
なぜだろうと思い調べてみると、規格上ミニDINコネクタは9ピンまでで、それ以外は独自仕様らしい。
とはいっても全くないわけでなくセガサターンのAVケーブルでも使われていることが分かった。
ダメもとでケーブルを手に入れてみたところ、周囲のシールドの金具の形状は異なっていたが、ピンの配置はそのまま使えそうだと分かった。
ケーブルをばらしてみると、例にもれず内部が樹脂で充填されていたが、何とか取り除くことで再利用することができた。

作成したケーブル等を実際につないで起動してみる。

Windows3.1とWindows95の画面。
なぜかPC-98が写せるワンセグテレビをつないでみると問題なく表示された。


Windows95の場合はVGAなのだがどうしても左にずれてる。
別の記事でも書いたが、表示位置の調整とかはできないのでどうしようもできないのだが、外部のモニタに表示できることはできた。
ちゃんとしたモニタがあればちゃんと写せるのだろう。
手持ちのモニタで心当たりはあるのだけどね。
ちなみに同じ画面を表示するだけで、画面を拡張することはできない。

マウスについてもWindows3.1とWindows95で両方とも使うことができた。
どうもマウスとの相性はあるらしいが、手持ちのマウスで動かすことができた。
ちなみに別にあった100円ショップのマウスは相性が良くないらしい。

Windows95のほうにはさみ将棋がインストールされていたのでマウスで遊んでみる。
タッチパッドを使うより快適に遊ぶことができた。

さて今後なのだが外付けのFDDがつなげられるようだがこれをどうするか。
ヤフオクで出品されているのがあるのだが、本体より高いのでどうしたものか。
これにかかわらず、ジャンクなのにバカ高い値段付けているのって何なんでしょうね。
使えるFDDやピンアサインの情報も見つけてあるし、使える(かもしれない)FDDはあるのだが、アンフェノールのハーフピッチ26ピンのコネクタが入手できない。
ほかのアンフェノールのハーフピッチのコネクタと合わせてマルツの通販で買おうとしたのだが入荷まで半年以上かかるらしい。
どうしたものか・・・

カテゴリー: PC-9801, PC-9821, PIC, 電子工作 | コメントする

スーパーノートクラブ・プリンターを手に入れた

実家に帰省した際、ハードオフに寄り道してみた。
なんとなくジャンクを見て回っていたら、何やら気になったものが。
スーパーノートクラブ・プリンターというものだ。

なんとなく気になったので買って帰ることにした。
スーパーノートクラブで調べてみたら、二十数年前に発売されたパソコン型のおもちゃらしい。

うちに戻って早速開封。
コネクタがDサブ25ピンだ。
おもちゃだしピンアサインはどうなのだろうと思いつつ、コネクタ部分をばらしてみる。

18~25ピンがまとめて接続されてある。
ほかの端子はわからないが、18~25ピンがまとめて接続されてある感じから、Dサブ25ピンのパラレルポートっぽい。
試しにポケコンにつないで印字してみる。

印刷する前に、テスト印字モードを試してみる。
LINE FEEDキーを押しながら電源を入れてみたところ、予想通りテスト印字された。
そして、ポケコンで0x20~0xFFまでを印字するプログラムを組んで印字してみたら、目論見通り印刷された。
ただ0x80~0xFFはカタカナとかではなかった。
おもちゃなので印刷遅いけど、まあなんかいい感じの大きさなので使えるようにしたいものだ。

印刷した感じ若干文字が薄く感じるが、濃度調整できないのを何とかしたいな。
用紙も古いからそのせいかもしれないが、感熱紙ロールは別のプリンタと幅が同じなのでそれと入れ替えて確認してみるか。
あとは制御コードが何かかな。
古いおもちゃだから情報がないけど、合間を見ながら遊んでみるか。

カテゴリー: ジャンク, ポケコン | 1件のコメント

続ORANGE-ESPerでPCEmulator (FabGL)

ESP32-DevKitCについて、秋月で買ってきた。
通販のほうはだいぶ遅延が短くなってきた。
Amazonで買ったESP32-WROVERが乗っているものを、秋月のESP32-WROVER-Eが乗っているものに換装する。

書き込もうとすると
A fatal error occurred: MD5 of file does not match data in flash!
のエラーが。
単体で書き込むとうまくいくようなので、単体で書き込むが、今度は起動しない。
どういうことか調べているうちに、そういえばGPIO12がプルアップされているとBASICが起動されるらしいことを思い出す。
SDカード周りでGPIO12を使用しているので、microSD カードモジュールを眺めてみるとチップ抵抗が乗っている。
導通チェッカやテスタを使って確認して該当するチップ抵抗を見つけ取り外してみると、書き込みができるようになって起動もできるようになった。

ついでに気になったところがあったので確かめてみる。
SDカード周りでソースの修正を行ったが、使用されているESP32の種類に合わせて自動判定してくれるので、修正の必要はない場合があるようだ。
自動判定に任せればソースの修正箇所は減らせるが、モノによっては自動判定がうまくいかず明示的に指定の必要があるようだ。
Amazonで買ったほうは最初SDカードを認識せず明示的に指定したが、うまくいかないときに修正してみるのが良いかもしれない。

 

カテゴリー: ESP32, FabGL, ORANGE-ESPer, 電子工作 | コメントする