- こどもパソコン IchigoJam II
126 :774ワット発電中さん[sage]:2020/10/12(月) 03:47:04.36 ID:Imc2GKSJ - >>125
マシン語は整数型しか使わない初心者に、そんな質問をされても……。 ただ、1980年代の数学の本では、 「BASICで精度を要求する場合、PC-9801を使うべき」 と発言した著者がいた。 MSX BASICも、1983年〜MSX1の時点で倍精度(14桁)に対応している。 MSX書籍の著者で、本人の知識はBASICのみ〜素人だけど、 数学の知識はあるので、DRAW命令・PSET命令・LINE命令で 美しい図形や曲線を描いた人物がいた。 MSX-Datapackにある? http://ngs.no.coocan.jp/doc/wiki.cgi/datapack?page=6%BE%CF+%C6%E2%C9%F4%A5%EB%A1%BC%A5%C1%A5%F3 「Math-Packの大部分はページ0=BIOS部分にあるが、 一部はページ1=インタプリタにあるため、DOSでは注意が必要」 という文章。 https://www.msx.org/wiki/BASIC_Routines_In_Main-ROM 海外サイトにはBIOSやソースコードの掲載が多いので、それを調べるしかないのでは? 国内では、メーカーやソフトハウス向けの技術資料に、MSXのBIOSなどのソースコードがあった。 名前は忘れたけど……最近、ヤフオクで出品があり、複数の入札があった。 Amazonにある、英語の資料も気になる。MSXで検索すると出てくる。 ハードウェア技術者向けか、テクハンレベルか……わからない。
| - こどもパソコン IchigoJam II
127 :774ワット発電中さん[sage]:2020/10/12(月) 04:33:15.67 ID:Imc2GKSJ - 名前を思い出した。
[MSXテクニカルデータブック 2 BIOSソースリスト」 1983/10/1 アスキー・マイクロソフト 国立国会図書館にあると聞いたので、調べたところ、上記に加え、 「MSXテクニカルデータブック 1 (ハードウェア・ソフトウェア仕様書) 増補改訂版」 アスキー・マイクロソフトFE本部 編著 アスキー, 1985.3 もあり、複写可能だと思う。 アスキャットさんも、後者の書籍で調べたみたい。
| - こどもパソコン IchigoJam II
128 :774ワット発電中さん[sage]:2020/10/12(月) 22:07:16.49 ID:Imc2GKSJ - 数年前に作った、REM文マシン語のプログラム。
WebMSX上に「ALT+B」でコピペ可。 他の方が作ったSCREEN1.5のプログラムをマシン語化したもの。 バイナリを99Basic上でプログラムに変換。 100 '3E0F32E9F321010F22EAF3CD7200CDCC003E2032AFF3CD6F00CD7E002100187D 110 'CD4D00237CFE1B20F62100207DE607C60507070707C601CD4D00237CFE3820EC 120 '210000E5E51160F5010800CD590006082160F57E4FCB3FB1772310F72160F57E 130 'E6F80F0F0F772306027ECB3FCB3F772310F706037ECB3F772310F92160F5D1D5 140 '010800CD5C00210008D119E5D1D52160F5010800CD5C00210008D119E5D12160 150 'F5010800CD5C00E1110800197CFE082092C9X 160 AD%=&HD000:CLEAR 200,AD%:DEFINT A-Z:AD=PEEK(&HFC4A)+PEEK(&HFC4B)*256-65536! 170 FOR I=0 TO 52:POKE &HF55E+I,VAL("&H"+MID$("2A76F62BED5BF8F7D57EFE582826B720060108000918F2FE3A3802D607D6300707070747237EFE3A3802D607D6308012231318D5C9",I*2+1,2)):NEXT 180 DEFUSR=&HF55E:A=USR(AD):DEFUSR=AD:KEY 1,"A=USR(0)"+CHR$(13)
| - こどもパソコン IchigoJam II
129 :REM文ルーチン ソースリスト 1/2[]:2020/10/12(月) 22:15:25.06 ID:Imc2GKSJ - F676 TXTTAB EQU 0F676H
F55E BUF EQU 0F55EH F7F6 DAC EQU 0F7F6H F55E ORG BUF F55E 2A76F6 LD HL,(TXTTAB) F561 2B DEC HL F562 ED5BF8F7 LD DE,(DAC+2) F566 D5 PUSH DE ;NOP(00) F567 HBYTE: F567 7E LD A,(HL) F568 FE58 CP 'X' F56A 2826 JR Z,EXIT F56C B7 OR A F56D 2006 JR NZ,OK F56F 010800 LD BC,8 F572 09 ADD HL,BC F573 18F2 JR HBYTE F575 OK: F575 FE3A CP '9'+1 F577 3802 JR C,HNUM F579 D607 SUB 7 F57B HNUM: F57B D630 SUB '0' F57D 07 RLCA F57E 07 RLCA F57F 07 RLCA F580 07 RLCA F581 47 LD B,A F582 23 INC HL
| - こどもパソコン IchigoJam II
130 :REM文ルーチン ソースリスト 2/2[sage]:2020/10/12(月) 22:16:14.55 ID:Imc2GKSJ - F583 LBYTE:
F583 7E LD A,(HL) F584 FE3A CP '9'+1 F586 3802 JR C,LNUM F588 D607 SUB 7 F58A LNUM: F58A D630 SUB '0' F58C 80 ADD A,B F58D 12 LD (DE),A F58E 23 INC HL F58F 13 INC DE F590 18D5 JR HBYTE F592 EXIT: F592 C9 RET F593 END
| - こどもパソコン IchigoJam II
131 :REM文マシン語 まとめ[sage]:2020/10/12(月) 22:53:02.90 ID:Imc2GKSJ - F676H番地の内容を調べる
〜RAM32KB以上・MSX2以降は8001H。 blueMSXのRAM16KB設定(C001H)で実行可能を確認、 カシオPV-7と同じRAM8KB設定(E001H)ではOut of memoryエラー。 ※BASICプログラムをROM化する場合は、8021Hに変わる。 テクハンより >● BASICプログラムのROM化の方法 >1 BASICのテキスト格納先頭アドレスを8021Hに変える。 >POKE &HF676,&H21:POKE &HF677,&H80:POKE &H8020,0:NEW >(注)必ず1行にまとめて実行する。 行末で LD BC,8 ADD HL,BC を実行し、行番号と"´"の中間言語をスキップ。 16進数羅列でも、REM文マシン語+展開ルーチンの場合、 READ〜DATAと違い高速、というメリットがある。 MSX・FANでは、このタイプの投稿者も少数ながらいた。 しかし、本当に凄いと思ったのは、 「REM文にアスキーコードをそのまま書く」 「展開ルーチンも、先頭からのバイト数を計算し、REM文で書く」 Wikipediaの「MSX・FAN」によると >機械語をエンコードした一見すると無意味に思えるような文字の羅列の形で >ソースコードに埋め込み、BASIC上から実行させるものなど、 >技巧をこらした投稿プログラムが、中期以降にはよく見られるようになった。 >プログラムのソースコードとしては著しく可読性を下げた。 >コメント行に直接キャラクタコードをバイナリとして置くなどの手法は、 >前述のとおり作業者には無意味な文字の羅列に見えるものである。
|
|