TI-99/4A版を勝手移植してみました。
http://atariage.com/forums/topic/158467-pitfall-binaries-and-source-code/
TI-99/4Aのディスク版をベースにぴゅう太 32KB(4000-BFFF)版をつくってみました。
http://www.geocities.jp/parallel_computer_inc/pitfall1.0.zip
32KB版は初代ぴゅう太(要ゲームアダプタ)/Jr/mk2+32KBフラッシュメモリカートリッジで動きます。
http://www.geocities.jp/parallel_computer_inc/cart.html
こちらはxdt99でビルドできます。
http://endlos99.github.io/xdt99/
$ ./xas99.py -b -R pitfall_disk.a99 -L pitfall_disk.lst
TMS9995が速すぎたのでNOPを追加しました。
MOVB R2,@VDPA SWPB R2 MOVB R2,@VDPA SPRIT4 MOVB *R1+,@VDPW
↓
MOVB R2,@VDPA SWPB R2 MOVB R2,@VDPA NOP NOP NOP SPRIT4 MOVB *R1+,@VDPW
ぴゅう太mk2で動かすために以下のマジックナンバーを埋め込みました。
5344 BYTE >00,>02,>20,>34
ぴゅう太Jrで動かすために以下の機種判定を追加しました。
*-------------------------------------------------------------- * Scan joystick #1 *-------@-----@---------------------@-------------------------- KBSCA1 LI R0,>0000 MOVB @>0002,R0 CZC @BIT5,R0 ; Pyuuta Jr ? JNE JUNIOR PYUUTA LI R12,>EC40 ; Scan whole 8x8 keyboard matrix. R12 Required by LDCR STCR R2,8 ; Bring 8 row bits into MSB of R2 AI R1,>0006 MOVB R2,@KEYBUF(R1) ; Store BYTE in KEYBUFfer MOVB @KEYBUF+6,R0 ; Joystick 1 B @KBSCAE JUNIOR MOVB @>E800,R0 KBSCAE COC @BIT5,R0 ; FIRE pressed ? JNE KBSCAF SOC @BIT4,@VIRTKB ; Set fire KBSCAF COC @BIT2,R0 ; Moved left ? JNE KBSCAG SOC @BIT0,@VIRTKB ; set LEFT KBSCAG COC @BIT0,R0 ; Moved right ? JNE KBSCAH SOC @BIT1,@VIRTKB ; set RIGHT KBSCAH COC @BIT3,R0 ; Moved down ? JNE KBSCAI SOC @BIT3,@VIRTKB ; set DOWN KBSCAI COC @BIT1,R0 ; Moved up ? JNE KBSCAC ; No, exit SOC @BIT2,@VIRTKB ; set UP KBSCAC COC @BIT4,R0 ; FIRE pressed ? JNE KBSCAJ SOC @BIT9,@VIRTKB ; set BACK *-------------------------------------------------------------- * Exit *-------@-----@---------------------@-------------------------- KBSCAJ MOV *STACK,R12 ; Pop R12 DECT STACK B @POPRG2