2015年5月2日土曜日

パソピア7のRAMデータをXPAC2に保存

パソピア7のROM/裏RAM/表RAMのデータをXPAC2に保存するツール「SVRAM」を用意しました。
ここからダウンロードできます。

zipファイルを解凍すると、
・SVRAMを保存したXPAC2の64KBイメージ「SvRam.bin」
・BASICのテキストファイル「SvRam.bas」
・アセンブラリスト「SvRam.als」
が作成されます。

ダウンロードしたzipファイルを展開し、「SvRam.bin」をSDカードに保存します。
続いて、以下サイズのファイルを作成します。
パソピア7「BIOS.ROM」 ... 16384バイト
パソピア7「BASIC.ROM」 ... 32768バイト
パソピア「BASIC11.ROM」 ... 32768バイト

Windowsのコマンド・プロンプト上で作成する場合、以下のコマンドで作成できます。(WinXP以降)
fsutil file createnew BIOS.ROM 16384
fsutil file createnew BASIC.ROM 32768
fsutil file createnew BASIC11.ROM 32768

作成した3つのファイルをSDカードにコピーしてXPAC2に装着した後、パソピア7の電源を入れます。

Slot4(ドライブ5)に展開する場合、コマンドプロンプト「CMD」を実行し、以下コマンドを実行します。
ld 4 SvRam.bin

BASICにもどり、SVRAMを起動します。
run"SVRAM"
パソピアかパソピア7かは、自動で判別します。
保存先のMRAM(スロット3 or スロット4)を選択します。

BIOSファイルを保存する場合、以下のように入力します。
Memory Mode (1:BIOS, 2:RAM, 4:V-RAM, 8:I/O Memory Mode) ?1
Source Address &H4000
Translation Byte &H4000
Destination Address &H0
SD Card Path Name? bios.rom
BASICファイルを保存する場合、以下のように入力します。
Memory Mode (1:BIOS, 2:RAM, 4:V-RAM, 8:I/O Memory Mode) ?8
Source Address &H0
Translation Byte &H8000
Destination Address &H0
SD Card Path Name? basic.rom
これで、BIOS.ROMとBASIC.ROMは、SDカードに保存されます。

初代パソピアの場合は、ROM PACが刺さっているかどうかによって入力値が変わります
上写真のようにROM PACにてT-BASICが動作する場合は、
以下のようにBASICファイルを保存します。
Memory Mode (0:Onboard ROM, 1:ROM Pack, 2:64KRAM Mode) ?1
Source Address &H0
Translation Byte &H8000
Destination Address &H0
SD Card Path Name? basic11.rom
これで、BIOS.ROMとBASIC.ROMは、SDカードに保存されます。
オンボードROMを吸い出す場合、Memory Modeで「0」を入力します。

パソピア7の場合、Memory Modeを変更することで、V-RAMや裏RAMを保存できるようになっています。

ご活用下さい

最後にBASICソースも追記します。
10 'XPAC2 Save RAM to RAMPAC2 (C) 2015 zak

20 CLEAR ,&HEFFF
30 DEF FNR(X$)=VAL("&H"+RIGHT$("00"+X$,2))
40 DEF FNL(X$)=VAL("&H"+LEFT$(RIGHT$("0000"+X$,4),2))
50 S=&HF000:E=&HF064
60 FOR I=S TO E
70   READ A$
80   POKE I,VAL("&H"+A$)
90 NEXT I

100 '--- Version Check ---
110 P=PEEK(&HFFFB):V=0
120 IF P=&H58 THEN V=1:PRINT"T-ROM Ver 1.0"
130 IF P=&H0C THEN V=2:PRINT"T-ROM Ver 1.1"
140 IF P=&H76 THEN V=3:PRINT"T-DISK Ver 1.0"
150 IF P=&H45 THEN V=4:PRINT"T-DISK Ver 2.0"
160 IF P=&H84 THEN V=5:PRINT"T-BASIC7 Ver 1.0":S=&HF012
170 IF V=0 THEN PRINT"Unknown Version":END

190 '--- Select PAMPAC2 Slot ---
200 PRINT"Select Slot Number."
210 PRINT"[3] 64KB MRAM (DEVICE 6)"
220 PRINT"[4] 64KB MRAM (DEVICE 5)"
230 INPUT N:IF N<3 OR N>4 GOTO 230
240 OUT &H1B,N

290 '--- Set Parameters ---
300 PRINT"Memory Mode ";
310 IF V=5 THEN INPUT"(1:BIOS, 2:RAM, 4:V-RAM, 8:I/O Memory Mode) ?",M ELSE INPUT"(0:Onboard ROM, 1:ROM Pack, 2:64KRAM Mode) ?",M
320 IF V=5 AND M=4 THEN INPUT"V-RAM Select (11H:Blue, 22H:Red, 44H:Text/Green) &H",VS$
330 INPUT"Source Address &H",SA$
340 INPUT"Translation Byte &H",TB$
350 INPUT"Destination Address &H",DA$
360 POKE E-7,M:'F05Dh MemoryMode
370 POKE E-6,VAL("&H"+VS$) :'F05Eh V-RAM Select
380 POKE E-5,FNR(SA$):'F05Fh Source Address
390 POKE E-4,FNL(SA$):'F060h
400 POKE E-3,FNR(TB$):'F061h Translation Byte
410 POKE E-2,FNL(TB$):'F062h
420 POKE E-1,FNR(DA$):'F063h Destination Address
430 POKE E  ,FNL(DA$):'F064h
440 CALL S

490 '--- Save to SD Card ---
500 INPUT "SD Card Path Name";A$
510 IF A$="" THEN END
520 A$="SV "+CHR$(&H30+N)+" "+A$
530 OUT &H1B,7:OUT &H19,0
540 FOR I=0 TO 255
550   OUT &H18,I
560   B$=MID$(A$,I+1,1)
570   IF B$="" GOTO 600
580   OUT &H1A,ASC(B$)
590 NEXT I
600 OUT &H1A,0:OUT &H18,0:OUT &H1B,15
610 C=INP(&H1A):IF C>=254 GOTO 610
620 FOR I=0 TO 255
630   OUT &H18,I
640   C=INP(&H1A)
650   IF C=0 THEN PRINT"":END
660   PRINT CHR$(C);
670 NEXT I

690 ' --- Data ---
700 DATA C5,D5,E5,F5,DB,22,E6,0C,0F,0F,0F,30,02,F6,02,F5
710 DATA 18,09,C5,D5,E5,F5,DB,22,E6,03,F5,F3,3A,5D,F0,D3
720 DATA 3C,3E,03,D3,0F,3A,5E,F0,D3,0C,3E,08,D3,0D,FB,ED
730 DATA 4B,5F,F0,ED,5B,61,F0,2A,63,F0,7C,D3,19,7D,D3,18
740 DATA 0A,D3,1A,03,1B,7A,B3,28,06,2C,20,F1,24,20,EB,F3
750 DATA F1,D3,3C,3E,02,D3,0F,FB,F1,E1,D1,C1,C9,08,11,00
760 DATA 00,00,00,00,00

2 件のコメント:

  1. はじめまして。

    大事にしていたパソピア7が壊れてしまいネットで色々調べていたら、
    こちらがパソピア系の総本山だとわかり、早速拝見させて頂きました!

    故障してしまったパソピア7ですが、通電して暫くしたら、
    いきなり煙を吹き出したので慌てて電源を落としました。
    中を見てみたら、フイルムコンデンサーらしきものが爆発しておりました...。
    (ヒューズの横の黄色っぽいコンデンサーです)

    たまたまヤフオクに全く同じ症状のものが出ていたみたいです。
    http://page8.auctions.yahoo.co.jp/jp/auction/h204528434

    当方のはここまで酷い状態ではないですが、完全に破裂した感じです。

    このコンデンサーを交換すれば、安心して使用する事が出来るのでしょうか?
    またフィルムコンデンサーが破裂してしまってコンデンサーの表記部分が
    なくなってしまい、容量等の情報がわかりません。
    どういったコンデンサーを買えばいいのか途方に暮れています....。

    どなたか技術的な知識をお持ちの方、ご教授戴けると有り難いです。

    宜しくお願い致します。

    返信削除
    返信
    1. 返答が遅くなりましたが、、
      パソピアのフィルムコンデンサーについて、記事を書きました。
      http://pasopia700.blogspot.jp/2016/02/blog-post.html
      参考になれば。

      削除