EXCELで10進数を16進数に変換するにはDECN2HEX関数が使えますが、16進数の表示桁数も任意に指定したいが、16進数の表示書式は「セルの書式」では指定することができない。桁数を指定するには関数の第2引数で指定
書式:DEC2HEX(セル、桁数)
または、「関数の挿入」で関数名を選択しダブルクリックすると「関数の引数」ダイヤログが表示されるので、数値と共に「桁数」を設定すると、任意の桁数で16進数が表示できる。
本物のPC8001は6000H〜7FFFHには出荷時にROMが無く、後から24pinのmaskROMを刺せるようになっている。miniPC8001では、このメモリエリアはRAMになっており、書込や読込ができる。RAMなので、電源を落とすとその内容は失われてしまうが、BASICからこのエリアに機械語を書き込む方式であれば、十分に活用できる。(モニタで読み込んでも良いが・・)
なお、ROM-BASICエリア(0000H〜5FFFH)にデータを書き込んでも変更されない(ROMですから当然ですが・・、MONコマンドで確認すみ)。
PC8001はパソコンの初期設定時に、6000Hと6001H番地をチェックし、6000Hから41H(”A”)、42H(”B”)が書き込まれていると、6002Hにジャンプ(CALL)する。また、MONコマンド実行時に、7FFFH番地が55H(”U”)になっていると7FFCHにジャンプする。
さて、abc794の「MMLエディッタ」では、メモリが不足しそうになったので、機械語を拡張メモリ部で使うことにすれば、メモリ不足が少し緩和されそうである。幸いabc794の機械語はリロケータブルプログラムでメモリ上のどこでも使えるので、6100Hからのプログラムに変更したところ、問題なく動作した
<変更前> | <変更後> | |
---|---|---|
・・・ 50 CLEAR 9000,&HE7FF: DEFINT A-Z ・・・ 200 DEF USR0 = &HE800 :'Sound Init 210 DEF USR1 = &HE80C :'Sound Clear 220 DEF USR2 = &HE81A :'Sound Off 230 DEF USR3 = &HE820 :'Ch0 Play 240 DEF USR4 = &HE824 :'Ch1 Play 250 DEF USR5 = &HE828 :'Ch2 Play 260 DEF USR6 = &HE831 :'Sound On 270 DEF USR7 = &HE837 :'Copy Char to PCG 300 '--- Init Param. 310 IF PEEK(&HE800)=62 THEN 340 :'Check "3E" 9000 '=== Mashin & Sound Data Init. === 9010 RESTORE 9030: A=&HE800 9020 FOR I=0 TO 80: READ B: POKE A+I,B: NEXT: RETURN 9030 '--- Sound Init. *S_INI: $E800H 9040 DATA &H3E,&H36 :'E800 LD A,00110110B ;Mode3 9050 DATA &HD3,&H0F :'E802 OUT (0FH),A ;Ch0 9060 DATA &H3E,&H76 :'E804 LD A,01110110B 9070 DATA &HD3,&H0F :'E806 OUT (0FH),A ;Ch1 9080 DATA &H3E,&HB6 :'E808 LD A,10110110B 9090 DATA &HD3,&H0F :'E80A OUT (0FH),A ;Ch2 9100 DATA &H3E,&H01 :'E80C LD A,01H 9110 DATA &HD3,&H0C :'E80E OUT (0CH),A ;Ch0 9120 DATA &HD3,&H0C :'E810 OUT (0CH),A 9130 DATA &HD3,&H0D :'E812 OUT (0DH),A ;Ch1 9140 DATA &HD3,&H0D :'E814 OUT (0DH),A 9150 DATA &HD3,&H0E :'E816 OUT (0EH),A ;Ch2 9160 DATA &HD3,&H0E :'E818 OUT (0EH),A ・・・ 9400 DATA &H7C :'E840 LD A,H 9405 DATA &HF6,&H30 :'E841 OR 30H 9410 DATA &HD3,&H02 :'E843 OUT (02H),A 9415 DATA &HE6,&HCF :'E845 AND 0CFH 9420 DATA &HD3,&H02 :'E847 OUT (02H),A 9425 DATA &H23 :'E849 INC HL 9430 DATA &H10,&HF1 :'E84A DJNZ 0E03CH 9435 DATA &H0D :'E84C DEC C 9440 DATA &H20,&HEE :'E84D JR NZ,0E03CH |
・・・ 50 DEFINT A-Z ・・・ 200 DEF USR0 = &H6100 :'Sound Init 210 DEF USR1 = &H610C :'Sound Clear 220 DEF USR2 = &H611A :'Sound Off 230 DEF USR3 = &H6120 :'Ch0 Play 240 DEF USR4 = &H6124 :'Ch1 Play 250 DEF USR5 = &H6128 :'Ch2 Play 260 DEF USR6 = &H6131 :'Sound On 270 DEF USR7 = &H6137 :'Copy Char to PCG 300 '--- Init Param. 310 IF PEEK(&H6100)=62 THEN 340 :'Check "3E" 9000 '=== Mashin & Sound Data Init. === 9010 RESTORE 9030: A=&H6100 9020 FOR I=0 TO 80: READ B: POKE A+I,B: NEXT: RETURN 9030 '--- Sound Init. *S_INI: $6100H 9040 DATA &H3E,&H36 :'6100 LD A,00110110B ;Mode3 9050 DATA &HD3,&H0F :'6102 OUT (0FH),A ;Ch0 9060 DATA &H3E,&H76 :'6104 LD A,01110110B 9070 DATA &HD3,&H0F :'6106 OUT (0FH),A ;Ch1 9080 DATA &H3E,&HB6 :'6108 LD A,10110110B 9090 DATA &HD3,&H0F :'610A OUT (0FH),A ;Ch2 9100 DATA &H3E,&H01 :'610C LD A,01H 9110 DATA &HD3,&H0C :'610E OUT (0CH),A ;Ch0 9120 DATA &HD3,&H0C :'6110 OUT (0CH),A 9130 DATA &HD3,&H0D :'6112 OUT (0DH),A ;Ch1 9140 DATA &HD3,&H0D :'6114 OUT (0DH),A 9150 DATA &HD3,&H0E :'6116 OUT (0EH),A ;Ch2 9160 DATA &HD3,&H0E :'6118 OUT (0EH),A ・・・ ( この間 E8XX −> 61XX に変更 ) 9400 DATA &H7C :'6140 LD A,H 9405 DATA &HF6,&H30 :'6141 OR 30H 9410 DATA &HD3,&H02 :'6143 OUT (02H),A 9415 DATA &HE6,&HCF :'6145 AND 0CFH 9420 DATA &HD3,&H02 :'6147 OUT (02H),A 9425 DATA &H23 :'6149 INC HL 9430 DATA &H10,&HF1 :'614A DJNZ 0E03CH 9435 DATA &H0D :'614C DEC C 9440 DATA &H20,&HEE :'614D JR NZ,0E03CH |
★N-BASICのプチヒント(LOCATEのバグ?)
画面設定を横80文字カラー画面(WIDTH 80)にセットし、よく見ると画面の左端に空白があることがわかる。すなわち横の文字数は79文字しか表示できない。白黒モード(CONSOLE,,,0)ではちゃんと80文字表示できる。この現象はLOCATE文でも同じで、画面の左端に文字を表示することができない。このため、abc794のMMLエディタでは白黒モードに設定した。
画面の表示データ(VRAM)はF300H番地(画面の左上端)から始まり、カラーモード(CONSOLE,,,1)でF300H番地にデータを書き込んでみると、ちゃんと左上端に文字が表示される。すなわち、VRAMエリアにデータをダイレクトで書き込んでやれば、カラー80文字表示も可能である。しかし、色などの修飾も設定し直す必要があり、面倒ですが・・。
(micro)SDカードを使う場面が多くなってきていますが、SDカードの規格を知らないで購入すると、思った性能が得られない場合がある。そこで、現在のSDカードの規格をまとめてみると、
「スティホーム」と外出自粛が続く日々ですが、今年の正月に、冬の運動不足解消のためとして、ALINCO(アルインコ) ウォーキングマシン「電動ウォーカーAFW5014」(\19,998)をAmazonで購入しました。次世代機の新発売時期で少し安くなっていたようです。設定できる速度は0.8~5.0km/hでスピード・時間・距離・カロリーのみ表示できる機能が少ないマシンです。未使用時には折り畳んでコンパクト(55x30x104cm)で場所をとりません。
毎日30分歩行を目安に使っていますが、ステイホームを要請されていた今春には、ジャストバイだったようです。近所の方も、我が家のマシンを見て、直ぐショップに走られました。。
電動ウォーカーAFW5014 | マシンの表示板 |