今更、雑誌の打ち込み SC-3000


(注)このページは、いまだに雑誌のプログラムを打ちこんだ事を記すだけの 子供はゲームでセガのびるコーナーです。  
2024年 9月の打ち込み  PiO ’85/05:MEGALOT SC-3000 LEVELIII用 要修正    ゲームでキャラクタが出る前にハングアップします  訂正記事もないので勝手に修正する必要があります  まず130行以降が怪しく、そこのCALL文なのは間違いなさそうで  エミュレータのデバッガで覗いてみて     AF6E:IN  A,(0BFH)        AND 007H        SUB 007H        RET  の部分が怪しい事が分かります  このままだとスプライトが5つ以上横に並んだ時の  スプライト番号なので007Hだと中途半端になります  念の為、この部分をCALLするのを見ていると  VRAMアクセス前なので  VBLANK(正確にはVDPから割り込みが発生している)を  監視するサブルーチンと考えるのが通常です     AF6E:IN  A,(0BFH)        AND 080H        SUB 080H        RET  こうすれば割り込み発生(VBLANKの状態)がZfで判断できますし  実際にZf=0になるまでループしています  原因はスプライトが5枚横にならんで、  かつそのスプライト#7でないとZf=0にならず  元々スプライトは自機の1枚だけなので無限ループになるという事になります  修正はリスト2の40行の最後の   ~,E6,7,D6,7,C9          ↓   ~,E6,80,D6,80,C9  これでハングアップしなくなります  ただタマに画面にゴミがでるようです  これはZfが1から0になった瞬間を見ているわけではないので  VBLANK中終わり間近でもZf=0なので  画面描画中にVRAMに書き込みを行う状態になります  他にも少し変な部分があるようです     2024年 8月の打ち込み  BASICマガジン ’85/06:アタフタMACHINE SC-3000 LEVELII用 OK      BASICマガジン ’84/01:UFO落とし SC-3000 LEVELII用 OK       2024年 3月の打ち込み  BASICマガジン ’85/08:鳥人間コンテスト SC-3000 LEVELII用 OK        BASICマガジン ’84/06:Dr.Dのサスペンス SC-3000 LEVELII用 OK       2024年 2月の打ち込み  BASICマガジン ’84/01:たらい船 湾内一周RACE SC-3000 LEVELIII用 OK       2022年 7月の打ち込み  BASICマガジン ’86/01:移植版 つぐ美ちゃんの地下鉄ショック SC-3000 LEVELII用 OK    リスト通りに打ち込むにはキーバッファの都合上、  入力はLEVEL IIIでないと不可  ゲーム自体はLEVELIIで可     2021年10月の打ち込み  BASICマガジン ’85/01:DEFEND SC-3000 LEVELIII用 OK       2019年 3月の打ち込み  BASICマガジン ’85/12:BOUNCE SC-3000 LEVELIII用 OK       2019年 2月の打ち込み  BASICマガジン ’86/09:マネーパニック SC-3000 LEVELII用 一応OK    まずキャラクタ定義プログラムが無いので掲載通りの画面になりません  またゲームの説明を読むとメインプログラムも少しだけ変更が必要です  尚、何も変更しなくてもゲーム自体は遊べます    訂正記事は無いので出来るだけ掲載画面に近づけます  画面両端に行くとエラーが出ますが  ゲームの説明では行かないでくださいとなっているので  メモリ上の関係もあるのでこのままにします    <キャラクタ定義プログラム>   10 COLOR15,1   20 PATTERNC#248,"F8F8007C7C00F4F4"   30 PATTERNC#249,"00FC84B4B484FC00"   40 PATTERNC#250,"0400040004000400"   50 PATTERNC#253,"3434FCFCB0B078CC"    <メインプログラム>   メインプログラムの2行の画面作成で両端のスペースを   トーン:CHR$(&H90)にする   15行の三角みたいなのはスペース+円盤:CHR$(&HFA)にする   後はキャラクタ定義プログラムをロード、実行後   メインプログラムを実行すればOK    BASICマガジン ’85/11:エキサイト・レース SC-3000 LEVELII用 OK    キーバッファの都合上、3行のPRINTを?として入力しないと  全部入力出来ません     2016年 3月の打ち込み  BASICマガジン ’88/07:Out of The FIRE SC-3000 LEVELIIIB用 OK       2015年11月の打ち込み  PiO ’85/09:独壇場 SC-3000 LEVELIII用 OK       2014年08月の打ち込み  BASICマガジン ’89/01:SWAP FOOT SC-3000 LEVELII用 一応OK    説明通りの操作にはなりません  70行のX=X*-1を削除すれば説明通りになりますが  壁をすり抜けて端ませ行くとエラーが出てしまいます  おそらくこの不具合を解消する為に追加されたと思います     2013年11月の打ち込み  BASICマガジン ’87/10:BALLOON DREADFUL SC-3000 LEVELIII用    タイトル部分にリスト化け、また風船のルーチンでおかしい部分があります   1130~1280行のメインループ3内のVXをBX、VYをBYに変更   1320~1470行のメインループ4内のBXをVX、BYをVYに変更     BASICマガジン ’87/11:ゲンダコ SC-3000 LEVELIII用 Ok       2013年 6月の打ち込み  BASICマガジン ’86/12:移植版 FROG STEP JUMP SC-3000 LEVELIII用 一応OK   X1からの移植、タイムルーチンに気になる所があるのと、クリアをしていないので一応OKとしました    BASICマガジン ’86/12:GUNMAN SC-3000 LEVELII用 OK    タイトルにリスト化けがあります  またリスト1キャラクタ定義の70行のDATA …61…は…64…  だと思われます  これは定義データは6×8ドットなので最下位2ビットは使用されません  説明にあるキャラクタ表をみる限り64が正しいデータだと  思われます    BASICマガジン ’85/05:バクゲキキ SC-3000 LEVELII用 OK       2013年 3月の打ち込み  BASICマガジン ’87/09:FORMATION SC SC-3000 LEVELIIIB用 OK     2013年 2月の打ち込み  BASICマガジン ’85/09:METEOヤメテオ SC-3000 LEVELII用 OK      BASICマガジン ’86/02:橋掛人 SC-3000 LEVELII用 OK      BASICマガジン ’85/04:EGUOUS SC-3000 LEVELII用 OK(リスト抜け有り)    次号にリスト抜けの部分が掲載されています  リスト2に下記を追加   1 COLOR15,12:GOTO170   5 SCREEN1,1     BASICマガジン ’84/12:要塞 SC-3000 LEVELIII用 OK       2012年12月の打ち込み  BASICマガジン ’84/02:JUMPING CAR SC-3000 LEVELIII用 OK(リスト抜け有り)    次号にリスト抜けの部分が掲載されています    
Home へ戻る