Twitterなどを見ていると、パソピアの電源でフィルムコンデンサが破裂する症状がある様子。
もう30年選手なので、寿命に達している固体も多いと思う。
下の写真は、初代パソピアの電源部
黄色いところがフィルムコンデンサで、0.1uFと見える。
ツイートなどを参考にさせてもらうと、EQC-UA104K 0.1uF/275Vあたりがつかえそうとのこと。
幸い、うちのパソピア達は、まだその症状に出会っていないが、念のために在庫を確保した。
100 'Pasopia7 BIOS Call Test (C) 2015 zak
110 CLEAR ,&HEFFF 120 FOR I=&HF000 TO &HF02D 130 READ A$ 140 POKE I,VAL("&H"+A$) 150 NEXT I 160 FOR I=0 TO 6 170 IF I=5 THEN PRINT"H"; ELSE IF I=6 THEN PRINT"L"; ELSE PRINT CHR$(I+65); 180 INPUT " Register &H",A$ 190 POKE &HF034-I,VAL("&H"+RIGHT$("00"+A$,2)) 200 NEXT I 210 A=&HF000:CALL A 220 PRINT"-----" 230 FOR I=0 TO 6 240 IF I=5 THEN PRINT"H"; ELSE IF I=6 THEN PRINT"L"; ELSE PRINT CHR$(I+65); 250 A=PEEK(&HF034-I): 260 PRINT " Register &H";RIGHT$("0"+HEX$(A),2) 270 NEXT I 280 A=PEEK(&HF035) 290 PRINT "F Register &H";RIGHT$("0"+HEX$(A),2) 300 END 310 DATA C5 :'F000 PUSH BC 320 DATA D5 :'F001 PUSH DE 330 DATA E5 :'F002 PUSH HL 340 DATA F5 :'F003 PUSH AF 350 DATA 2A,2E,F0 :'F004 LD HL,(F02Eh) 360 DATA ED,5B,30,F0 :'F007 LD DE,(F030h) 370 DATA ED,4B,32,F0 :'F00B LD BC,(F032h) 380 DATA 3A,34,F0 :'F00F LD A,(F034h) 390 DATA CD,05,00 :'F012 CALL BIOS 400 DATA 32,34,F0 :'F015 LD (F034h),A 410 DATA ED,43,32,F0 :'F018 LD (F032h),BC 420 DATA ED,53,30,F0 :'F01C LD (F030h),DE 430 DATA 22,2E,F0 :'F020 LD (F02Eh),HL 440 DATA F5 :'F023 PUSH AF 450 DATA C1 :'F024 POP BC 460 DATA 79 :'F025 LD A,C 470 DATA 32,35,F0 :'F026 LD (F035h),A 480 DATA F1 :'F029 POP AF 490 DATA E1 :'F02A POP HL 500 DATA D1 :'F02B POP DE 510 DATA C1 :'F02C POP BC 520 DATA C9 :'F02D RET |
| クラスタ番号 | ヘッド | トラック | セクタ | サイズ | D88の並び順 |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 1~8 | 単密度:128バイト | 0 |
| 1 | 1 | 1~8 | 倍密度:256バイト | 2 | |
| 2 | 0 | 9~16 | 単密度:128バイト | 1 | |
| 3 | 1 | 9~16 | 倍密度:256バイト | 3 | |
| 4 | 0 | 1 | 1~8 | 倍密度:256バイト | 4 |
| 5 | 1 | 1~8 | 6 | ||
| 6 | 0 | 9~16 | 5 | ||
| 7 | 1 | 9~16 | 7 | ||
| ・・・ | |||||
| 68 | 0 | 17 | 1~8 | 倍密度:256バイト | 68 |
| 69 | 1 | 1~8 | 70 | ||
| 70 | 0 | 9~16 | 69 | ||
| 71 | 1 | 9~16 | 71 | ||
| 72 | 0 | 18 | 1~8 | 倍密度:256バイト | 72 |
| 73 | 1 | 1~8 | 74 | ||
| 74 | 0 | 9~16 | 73 | ||
| 75 | 1 | 9~16 | 75 | ||
| ・・・ | |||||
| 136 | 0 | 34 | 1~8 | 倍密度:256バイト | 136 |
| 137 | 1 | 1~8 | 138 | ||
| 138 | 0 | 9~16 | 137 | ||
| 139 | 1 | 9~16 | 139 | ||
10 'XPAC2 Machine Language File Information (C) 2015 zak
20 INPUT"Device Number? (1 or 2) ",DEVICE 30 FIELD#0,255 AS FAT$ 40 FOR SECTOR=1 TO 12 50 FOR I=0 TO 15 60 T1$=DSKI$(DEVICE,0,18,SECTOR) 70 M=ASC(MID$(FAT$,I*16+1,1)) 80 IF (M<>0) AND (M<>255) AND(M<>58) THEN GOSUB 130 90 NEXT I 100 NEXT SECTOR 110 END 120 'Find File 130 PRINT MID$(FAT$,I*16+1,9);" "; 140 ATTR=ASC(MID$(FAT$,I*16+10,1)) 150 IF (ATTR=&H80) OR (ATTR=&H81) OR (ATTR=&H90) THEN PRINT"[BASIC]"; 160 IF (ATTR=&H01) OR (ATTR=&H11) THEN PRINT"[MachineLanguage]";:GOSUB 200 170 PRINT"" 180 RETURN 190 'Find Machine Language 200 CLUSTER=ASC(MID$(FAT$,I*16+11,1)) 210 TRACK=CLUSTER\4 220 TSECTOR=((CLUSTER MOD 4)\2)*8+1 230 THEAD=CLUSTER MOD 2 240 FIELD#0,4 AS SIZE$ 250 T2$=DSKI$(DEVICE,THEAD,TRACK,TSECTOR) 260 START=ASC(MID$(SIZE$,2,1))*256+ASC(MID$(SIZE$,1,1)) 270 LAST=ASC(MID$(SIZE$,4,1))*256+ASC(MID$(SIZE$,3,1)) 280 PRINT" START:&H";HEX$(START); 290 PRINT" SIZE:&H";HEX$(LAST-START); 300 RETURN |
| sv 3 text.rom |
| 10 'XPAC2 Display Kanji (C) 2015 zak 20 R$=CHR$(13)+CHR$(10) 30 INPUT"Width ";W:WIDTH W 40 PRINT"Select Slot Number." 50 PRINT"[3] 64KB MRAM (DEVICE 6)" 60 PRINT"[4] 64KB MRAM (DEVICE 5)" 70 PRINT"[5] 8KB SRAM" 80 PRINT"[6] 4KB SRAM" 90 PRINT"[7] 2KB SRAM" 100 INPUT S:IF S<3 OR S>7 GOTO 40 110 INPUT"Start Address &H",A$ 120 L=VAL("&H"+RIGHT$("00"+A$,2)) 130 H=VAL("&H"+LEFT$(RIGHT$("0000"+A$,4),2)) 140 LOCATE 0,24 150 OUT &H1B,S:OUT &H19,H:OUT &H18,L:A=INP(&H1A) 160 IF L<255 THEN L=L+1 ELSE L=0:H=H+1 170 OUT &H1B,S:OUT &H19,H:OUT &H18,L:B=INP(&H1A) 180 K=B*256+A:IF K=0 THEN PRINT R$:END 190 IF K=255 THEN X=0:PRINT R$:GOTO 220 200 PUT%(X,23),KANJI(K),7 210 IF X<W-2 THEN X=X+2 ELSE X=0:PRINT R$ 220 IF L<255 THEN L=L+1 ELSE L=0:H=H+1 230 GOTO 150 |
| 10 'XPAC2 Display Manual (C) 2015 zak 20 R$=CHR$(13)+CHR$(10) 30 WIDTH 80 40 LOCATE 0,24 50 READ K 60 IF K=0 THEN PRINT R$:END 70 IF K=255 THEN X=0:PRINT R$:GOTO 50 80 PUT%(X,23),KANJI(K),7 90 IF X<80-2 THEN X=X+2 ELSE X=0:PRINT R$ 100 GOTO 50 300 DATA 680,660,683,633,286,466,4440,650,714,691,642,283,672,313,499,491 ・・・(略) 2610 DATA 550,599,562,258,255,0 |
| I/Oポートアドレス | 内容 |
|---|---|
| 18h | 漢字ROM PAC2下位アドレス8ビット |
| 19h | 漢字ROM PAC2中位アドレス8ビット |
| 1Ah | 漢字ROM PAC2上位アドレス1ビット |
| 100 SCREEN 2:WIDTH 80 110 R$=CHR$(13)+CHR$(10) 120 FOR KU=1 TO 47 130 FOR TEN=1 TO 94 140 K=(KU-1)*94+(TEN-1)+256 150 PUT@(X,Y),KANJI(K),PSET 160 X=X+16 170 IF X>=640 THEN X=0:Y=Y+16 180 IF Y>=192 THEN Y=0 190 NEXT TEN 200 NEXT KU |
| 漢字ROMアドレス | データ保持領域 | 備考 |
|---|---|---|
| 00000h-05FFFh | フラッシュメモリ(00000h-05FFFh) | |
| 06000h-07FFFh | SRAM(8KB) | 起動時にEEPROM(4KB)からデータをSRAMに展開 起動後は、スロット番号5でSRAMデータ読み書き可能 |
| 08000h-1FFFFh | フラッシュメモリ(06000h-1DFFFh) | 以降のフラッシュメモリ(1E000h-1FFFFh)はブートローダー領域として使用 |
10 'XPAC2 Save KanjiROM to RAM (C) 2015 zak
20 CLEAR ,&HEFFF 30 FOR I=&HF000 TO &HF02D 40 READ A$ 50 POKE I,VAL("&H"+A$) 60 NEXT I 70 DEF FNF$(X)=RIGHT$("00"+HEX$(X),3) 100 PRINT"Select Save Area." 110 FOR I=1 TO 8 120 PRINT"["+HEX$(I)+"] "+FNF$((I-1)*64)+"00h-"+FNF$(I*64-1)+"FFh" 130 NEXT 140 INPUT A$:IF A$<"1" OR A$>"8" GOTO 140 150 A=VAL(A$) 160 POKE &HF02E,0 170 POKE &HF02F,&H40*((A-1) MOD 4) 180 POKE &HF030,-(A>4) 190 A=&HF000:CALL A 200 DATA C5,D5,E5,F5,3E,02,D3,1B,3A,30,F0,D3,1A,21,00,A0 210 DATA ED,5B,2E,F0,0E,19,ED,51,0E,18,ED,59,DB,1A,77,23 220 DATA 1C,20,F7,14,3E,E0,BC,20,EB,F1,E1,D1,C1,C9 |
| fsutil file createnew kanji1.rom 16384 fsutil file createnew kanji2.rom 16384 fsutil file createnew kanji3.rom 16384 fsutil file createnew kanji4.rom 16384 fsutil file createnew kanji5.rom 16384 fsutil file createnew kanji6.rom 16384 fsutil file createnew kanji7.rom 16384 fsutil file createnew kanji8.rom 16384 |
| 10 'XPAC2 Save Pasopia 64KB RAM to MRAM (C) 2015 zak 20 CLEAR ,&HEFFF 30 FOR I=&HF000 TO &HF021 40 READ A$ 50 POKE I,VAL("&H"+A$) 60 NEXT I 100 PRINT"Select Slot Number." 110 PRINT"[3] 64KB MRAM (DEVICE 6)" 120 PRINT"[4] 64KB MRAM (DEVICE 5)" 130 INPUT A$:IF A$<"3" OR A$>"4" GOTO 130 140 OUT &H1B, ASC(A$) 150 A=&HF000:CALL A 200 DATA C5,E5,F5,3E,02,D3,3C,21,00,00,0E,19,ED,61,0E,18 210 DATA ED,69,7E,D3,1A,2C,20,F8,24,20,EF,AF,D3,3C,F1,E1 220 DATA C1,C9 |
| sv 3 kanji1.rom |
| copy /b kanji1.rom+kanji2.rom+kanji3.rom+kanji4.rom+kanji5.rom+kanji6.rom+kanji7.rom+kanji8.rom kanji.rom |
| ld 2 kanji.rom (※2020/5 誤記修正) |
| ld 2 eep.rom (※2020/5 誤記修正) |