MSXでCOLECOVISIONを遊びたくてCOLECO MSX ADAPTERを設計してみました。
http://www.komkon.org/~dekogel/mission.html
メモリ構成は以下になります。
RAM&ROM CARTRIDGESLOT1 RAM(0000-7FFF)COLECO MSX ADAPTER
SLOT1 ROM(8000-BFFF)
SLOT2 CART(8000-FFFF)
SLOT1 ROMに必要なファイルは以下になります。COLECO LoaderはCOLECO.ROMにパッチを当てて、LOADER.BINの1000-2FFFを置き換えてください
http://www.geocities.jp/parallel_computer_inc/COLECO.ZIP
LOADER.BINCOLECO.BIN(8000-8FFF)<- Made by COLECO.ASM COLECO.ROM(9000-AFFF)<- Patched by MISSION MISSION.ROM(B000-BFFF)<- Patched by MISSION
ブートシーケンスは以下になります。
SLOT1のCOLECO.BIN(8000-8FFF)が起動する
SLOT1のRAM(0000-7FFF)を有効化する SLOT1のCOLECO.ROM/MISSION.ROM(9000-BFFF)をSLOT1のRAM(0000-2FFF)にコピーする SLOT1のCOLECO.BIN自身をSLOT1のRAM(7000-7FFF)にコピーして実行する
SLOT2のCART(8000-FFFF)を有効化する COLECO.ROM(0000-1FFF)を実行する
COLECO.ASM
; COLECOVISION ROM Loader for ; MSX + COLECO MSX ADAPTER + RAM & ROM CARTRIDGE ; Version 0.02 by tanam1972 ; Original by Marcel de Kogel ; ; Assembled with Absolute assembler for i8080/i8085 ; ; org 8000h HEADER: db "AB" db 04h db 80h MAIN: mvi b,4 mvi a,09Fh Volume0: out 03Fh ; Set the adi 020h ; volume of SN76489AN dcr b jnz Volume0 ; to zero ExeRoutine: di in 0A8h mvi d,0A5h lxi h,0E001h mov m,d mvi d,015h lxi h,0E000h mov m,d ; bit 4,A db 0cbh,067h jnz SLOT1 mvi d,05Ah lxi h,0E001h mov m,d mvi d,02Ah lxi h,0E000h mov m,d SLOT1: ani 0C0h ora m out 0A8h lxi h,08200h lxi d,07000h lxi b,00100h ; ldir db 0edh,0b0h lxi h,09000h lxi d,00000h lxi b,03000h ; ldir db 0edh,0b0h jmp 07000h org 08200h in 0A8h ani 00Fh lxi h,0E001h ora m out 0A8h rst 0 ; Execute COLECO ROM end