2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

MSX-BASICの奥義を伝授するスレ

1 :デフォルトの名無しさん:01/11/25 02:53.net
忘れない内に皆に伝授しときましょう。

・多色刷り、
・ドット単位横スクロール、
・エスケープシークエンス・・・
色々ありましたよね。
思い出したらなんでも書き込みよろしく。

875 :DOSからSUB-ROMのBIOS 訂正1:2016/02/23(火) 22:30:09.88 ID:tto5lnBWm
リスト1(MSX Datapackのサンプル)に誤りがあったので訂正。
"PUBLIC CALSUB"で、他のプログラムから呼び出すサブルーチンとして使う。


;       +0    INC    SP
;       +1    INC    SP
;       +2    LD     IX,<SUB-ROM ENTRY>
;       +6    NOP
;       +7    JP     EXTROM

876 :DOSからSUB-ROMのBIOS 訂正2:2016/02/23(火) 22:30:50.05 ID:tto5lnBWm
CALSLT    EQU    001CH
EXTROM    EQU    015FH
NMI       EQU    0066H
EXPTBL    EQU    0FCC1H
;
_CALSUB::
          EXX
          EX     AF,AF'
          LD     HL,EXTROM
          PUSH   HL
          LD     HL,0C300H
          PUSH   HL
          PUSH   IX
          LD     HL,021DDH
          PUSH   HL
          LD     HL,03333H
          PUSH   HL
          LD     HL,0
          ADD    HL,SP
          LD     A,0C3H
          LD     (H.NMI),A
          LD     (H.NMI+1),HL
          EX     AF,AF'
          EXX

877 :DOSからSUB-ROMのBIOS 訂正3:2016/02/23(火) 22:36:05.21 ID:tto5lnBWm
;
          LD     IX,NMI
          LD     IY,(EXPTBL-1)
          CALL   CALSLT
          EI
;
          LD     HL,10
          ADD    HL,SP
          LD     SP,HL
          RET

          END


一番重要なところを書き落とした。

          LD     IX,NMI
          LD     IY,(EXPTBL-1)
          CALL   CALSLT

MAIN ROMをインタースロットコール→NMIフックを呼ぶ→スタックに書かれたプログラムでSUB ROMを呼ぶ。これが抜けていた。申し訳ありません。

http://ngs.no.coocan.jp/doc/wiki.cgi/datapack?page=2%BE%CF+%A5%A4%A5%F3%A5%BF%A1%BC%A5%B9%A5%ED%A5%C3%A5%C8%A5%B3%A1%BC%A5%EB

のソースリストを引用。読みづらいので大文字に変換。

総レス数 1026
235 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★