クエリちゃんリバーシ8192がUS TUTORで動かないという指摘を頂いたので勝手にパッチ作成しました。
http://d.hatena.ne.jp/EXCEED/20161231/p1
初代ぴゅう太/Jr/mk2で動作確認しています。US TUTORはmk2と同じと思われます。
AORG >9E60 VIRTKB EQU >F0E9 CLR @VIRTKB LI R0,>0000 MOVB @>0002,R0 CZC @BIT5,R0 ; Pyuuta Jr ? JNE JUNIOR LI R12,>EC60 STCR R2,8 ; Bring 8 row bits into MSB of R2 COC @BIT3,R2 ; RT pressed ? JEQ DSPSE4 LI R12,>EC00 STCR R2,8 ; Bring 8 row bits into MSB of R2 COC @BIT6,R2 ; 2 pressed ? JEQ DSPSE3 COC @BIT7,R2 ; 1 pressed ? JEQ DSPSE2 LI R1,>0000 B @EXIT JUNIOR MOVB @>EA00,R2 COC @BIT5,R2 ; RT pressed ? JEQ DSPSE4 COC @BIT0,R2 ; 2 pressed ? JEQ DSPSE3 COC @BIT1,R2 ; 1 pressed ? JEQ DSPSE2 LI R1,>0000 B @EXIT DSPSE2 LI R1,>F500 B @EXIT DSPSE3 LI R1,>F600 B @EXIT DSPSE4 LI R1,>0D00 EXIT MOVB R1,@VIRTKB B *R11 BIT0 DATA >8000 ; Binary 1000000000000000 BIT1 DATA >4000 ; Binary 0100000000000000 BIT2 DATA >2000 ; Binary 0010000000000000 BIT3 DATA >1000 ; Binary 0001000000000000 BIT4 DATA >800 ; Binary 0000100000000000 BIT5 DATA >400 ; Binary 0000010000000000 BIT6 DATA >200 ; Binary 0000001000000000 BIT7 DATA >100 ; Binary 0000000100000000 BIT8 DATA >80 ; Binary 0000000010000000 BIT9 DATA >40 ; Binary 0000000001000000 BIT10 DATA >20 ; Binary 0000000000100000 BIT11 DATA >10 ; Binary 0000000000010000 BIT12 DATA >8 ; Binary 0000000000001000 BIT13 DATA >4 ; Binary 0000000000000100 BIT14 DATA >2 ; Binary 0000000000000010 BIT15 DATA >1 ; Binary 0000000000000001 AORG >9F00 VIRTCN EQU >F0EA VIRTCN2 EQU >F0EB CLR @VIRTCN CLR @VIRTCN2 LI R0,>0000 MOVB @>0002,R0 CZC @BIT5,R0 ; Pyuuta Jr ? JNE JUNIOR2 LI R12,>EC40 STCR R2,8 ; Bring 8 row bits into MSB of R2 B @KBSCAE JUNIOR2 MOVB @>E800,R2 KBSCAE COC @BIT5,R2 ; FIRE pressed ? JNE KBSCAF LI R1,>2000 MOVB R1,@VIRTCN KBSCAF COC @BIT2,R2 ; Moved left ? JNE KBSCAG LI R1,>0400 MOVB R1,@VIRTCN KBSCAG COC @BIT0,R2 ; Moved right ? JNE KBSCAH LI R1,>0100 MOVB R1,@VIRTCN KBSCAH COC @BIT3,R2 ; Moved down ? JNE KBSCAI LI R1,>0800 MOVB R1,@VIRTCN KBSCAI COC @BIT1,R2 ; Moved up ? JNE KBSCAC LI R1,>0200 MOVB R1,@VIRTCN KBSCAC COC @BIT4,R2 ; FIRE pressed ? JNE KBSCAD LI R1,>1000 MOVB R1,@VIRTCN KBSCAD LI R0,>0000 MOVB @>0002,R0 CZC @BIT5,R0 ; Pyuuta Jr ? JNE JUNIOR3 LI R12,>EC50 STCR R2,8 ; Bring 8 row bits into MSB of R2 B @KBSCAE2 JUNIOR3 MOVB @>EE00,R2 KBSCAE2 COC @BIT5,R2 ; FIRE pressed ? JNE KBSCAF2 LI R1,>2000 MOVB R1,@VIRTCN2 KBSCAF2 COC @BIT2,R2 ; Moved left ? JNE KBSCAG2 LI R1,>0400 MOVB R1,@VIRTCN2 KBSCAG2 COC @BIT0,R2 ; Moved right ? JNE KBSCAH2 LI R1,>0100 MOVB R1,@VIRTCN2 KBSCAH2 COC @BIT3,R2 ; Moved down ? JNE KBSCAI2 LI R1,>0800 MOVB R1,@VIRTCN2 KBSCAI2 COC @BIT1,R2 ; Moved up ? JNE KBSCAC2 LI R1,>0200 MOVB R1,@VIRTCN2 KBSCAC2 COC @BIT4,R2 ; FIRE pressed ? JNE KBSCAJ LI R1,>1000 MOVB R1,@VIRTCN2 *-------------------------------------------------------------- * Exit *-------@-----@---------------------@-------------------------- KBSCAJ B *R11
勝手に再配布するのも気が引けるのでパッチを作成しました。
* Patch for QueryReversi8192.bin * * Made by バイナリ書き替え君 Version 2.03 * *== TARGET_FILE ================ FILENAME QueryReversi8192.bin * FileSize: 8192 bytes * LastMod : 2018/01/13 10:39:51 *=============================== 00000180: 00 9E 00000181: 40 60 000007C4: 00 9E 000007C5: 40 60 00000E22: 00 9F 00000E23: F0 00 00001E60: FF 04 00001E61: FF E0 00001E62: FF F0 00001E63: FF E9 00001E64: FF 02 00001E65: FF 00 00001E66: FF 00 00001E67: FF 00 00001E68: FF D0 00001E69: FF 20 00001E6A: FF 00 00001E6B: FF 02 00001E6C: FF 24 00001E6D: FF 20 00001E6E: FF 9E 00001E6F: FF DA 00001E70: FF 16 00001E71: FF 13 00001E72: FF 02 00001E73: FF 0C 00001E74: FF EC 00001E75: FF 60 00001E76: FF 36 00001E77: FF 02 00001E78: FF 20 00001E79: FF A0 00001E7A: FF 9E 00001E7B: FF D6 00001E7C: FF 13 00001E7D: FF 24 00001E7E: FF 02 00001E7F: FF 0C 00001E80: FF EC 00001E81: FF 00 00001E82: FF 36 00001E83: FF 02 00001E84: FF 20 00001E85: FF A0 00001E86: FF 9E 00001E87: FF DC 00001E88: FF 13 00001E89: FF 1A 00001E8A: FF 20 00001E8B: FF A0 00001E8C: FF 9E 00001E8D: FF DE 00001E8E: FF 13 00001E8F: FF 13 00001E90: FF 02 00001E91: FF 01 00001E92: FF 00 00001E93: FF 00 00001E94: FF 04 00001E95: FF 60 00001E96: FF 9E 00001E97: FF CA 00001E98: FF D0 00001E99: FF A0 00001E9A: FF EA 00001E9B: FF 00 00001E9C: FF 20 00001E9D: FF A0 00001E9E: FF 9E 00001E9F: FF DA 00001EA0: FF 13 00001EA1: FF 12 00001EA2: FF 20 00001EA3: FF A0 00001EA4: FF 9E 00001EA5: FF D0 00001EA6: FF 13 00001EA7: FF 0B 00001EA8: FF 20 00001EA9: FF A0 00001EAA: FF 9E 00001EAB: FF D2 00001EAC: FF 13 00001EAD: FF 04 00001EAE: FF 02 00001EAF: FF 01 00001EB0: FF 00 00001EB1: FF 00 00001EB2: FF 04 00001EB3: FF 60 00001EB4: FF 9E 00001EB5: FF CA 00001EB6: FF 02 00001EB7: FF 01 00001EB8: FF F5 00001EB9: FF 00 00001EBA: FF 04 00001EBB: FF 60 00001EBC: FF 9E 00001EBD: FF CA 00001EBE: FF 02 00001EBF: FF 01 00001EC0: FF F6 00001EC1: FF 00 00001EC2: FF 04 00001EC3: FF 60 00001EC4: FF 9E 00001EC5: FF CA 00001EC6: FF 02 00001EC7: FF 01 00001EC8: FF 0D 00001EC9: FF 00 00001ECA: FF D8 00001ECB: FF 01 00001ECC: FF F0 00001ECD: FF E9 00001ECE: FF 04 00001ECF: FF 5B 00001ED0: FF 80 00001ED1: FF 00 00001ED2: FF 40 00001ED3: FF 00 00001ED4: FF 20 00001ED5: FF 00 00001ED6: FF 10 00001ED7: FF 00 00001ED8: FF 08 00001ED9: FF 00 00001EDA: FF 04 00001EDB: FF 00 00001EDC: FF 02 00001EDD: FF 00 00001EDE: FF 01 00001EDF: FF 00 00001EE0: FF 00 00001EE1: FF 80 00001EE2: FF 00 00001EE3: FF 40 00001EE4: FF 00 00001EE5: FF 20 00001EE6: FF 00 00001EE7: FF 10 00001EE8: FF 00 00001EE9: FF 08 00001EEA: FF 00 00001EEB: FF 04 00001EEC: FF 00 00001EED: FF 02 00001EEE: FF 00 00001EEF: FF 01 00001EF0: FF 00 00001EF1: FF 00 00001EF2: FF 00 00001EF3: FF 00 00001EF4: FF 00 00001EF5: FF 00 00001EF6: FF 00 00001EF7: FF 00 00001EF8: FF 00 00001EF9: FF 00 00001EFA: FF 00 00001EFB: FF 00 00001EFC: FF 00 00001EFD: FF 00 00001EFE: FF 00 00001EFF: FF 00 00001F00: FF 04 00001F01: FF E0 00001F02: FF F0 00001F03: FF EA 00001F04: FF 04 00001F05: FF E0 00001F06: FF F0 00001F07: FF EB 00001F08: FF 02 00001F09: FF 00 00001F0A: FF 00 00001F0B: FF 00 00001F0C: FF D0 00001F0D: FF 20 00001F0E: FF 00 00001F0F: FF 02 00001F10: FF 24 00001F11: FF 20 00001F12: FF 9E 00001F13: FF DA 00001F14: FF 16 00001F15: FF 05 00001F16: FF 02 00001F17: FF 0C 00001F18: FF EC 00001F19: FF 40 00001F1A: FF 36 00001F1B: FF 02 00001F1C: FF 04 00001F1D: FF 60 00001F1E: FF 9F 00001F1F: FF 24 00001F20: FF D0 00001F21: FF A0 00001F22: FF E8 00001F23: FF 00 00001F24: FF 20 00001F25: FF A0 00001F26: FF 9E 00001F27: FF DA 00001F28: FF 16 00001F29: FF 04 00001F2A: FF 02 00001F2B: FF 01 00001F2C: FF 20 00001F2D: FF 00 00001F2E: FF D8 00001F2F: FF 01 00001F30: FF F0 00001F31: FF EA 00001F32: FF 20 00001F33: FF A0 00001F34: FF 9E 00001F35: FF D4 00001F36: FF 16 00001F37: FF 04 00001F38: FF 02 00001F39: FF 01 00001F3A: FF 04 00001F3B: FF 00 00001F3C: FF D8 00001F3D: FF 01 00001F3E: FF F0 00001F3F: FF EA 00001F40: FF 20 00001F41: FF A0 00001F42: FF 9E 00001F43: FF D0 00001F44: FF 16 00001F45: FF 04 00001F46: FF 02 00001F47: FF 01 00001F48: FF 01 00001F49: FF 00 00001F4A: FF D8 00001F4B: FF 01 00001F4C: FF F0 00001F4D: FF EA 00001F4E: FF 20 00001F4F: FF A0 00001F50: FF 9E 00001F51: FF D6 00001F52: FF 16 00001F53: FF 04 00001F54: FF 02 00001F55: FF 01 00001F56: FF 08 00001F57: FF 00 00001F58: FF D8 00001F59: FF 01 00001F5A: FF F0 00001F5B: FF EA 00001F5C: FF 20 00001F5D: FF A0 00001F5E: FF 9E 00001F5F: FF D2 00001F60: FF 16 00001F61: FF 04 00001F62: FF 02 00001F63: FF 01 00001F64: FF 02 00001F65: FF 00 00001F66: FF D8 00001F67: FF 01 00001F68: FF F0 00001F69: FF EA 00001F6A: FF 20 00001F6B: FF A0 00001F6C: FF 9E 00001F6D: FF D8 00001F6E: FF 16 00001F6F: FF 04 00001F70: FF 02 00001F71: FF 01 00001F72: FF 10 00001F73: FF 00 00001F74: FF D8 00001F75: FF 01 00001F76: FF F0 00001F77: FF EA 00001F78: FF 02 00001F79: FF 00 00001F7A: FF 00 00001F7B: FF 00 00001F7C: FF D0 00001F7D: FF 20 00001F7E: FF 00 00001F7F: FF 02 00001F80: FF 24 00001F81: FF 20 00001F82: FF 9E 00001F83: FF DA 00001F84: FF 16 00001F85: FF 05 00001F86: FF 02 00001F87: FF 0C 00001F88: FF EC 00001F89: FF 50 00001F8A: FF 36 00001F8B: FF 02 00001F8C: FF 04 00001F8D: FF 60 00001F8E: FF 9F 00001F8F: FF 94 00001F90: FF D0 00001F91: FF A0 00001F92: FF EE 00001F93: FF 00 00001F94: FF 20 00001F95: FF A0 00001F96: FF 9E 00001F97: FF DA 00001F98: FF 16 00001F99: FF 04 00001F9A: FF 02 00001F9B: FF 01 00001F9C: FF 20 00001F9D: FF 00 00001F9E: FF D8 00001F9F: FF 01 00001FA0: FF F0 00001FA1: FF EB 00001FA2: FF 20 00001FA3: FF A0 00001FA4: FF 9E 00001FA5: FF D4 00001FA6: FF 16 00001FA7: FF 04 00001FA8: FF 02 00001FA9: FF 01 00001FAA: FF 04 00001FAB: FF 00 00001FAC: FF D8 00001FAD: FF 01 00001FAE: FF F0 00001FAF: FF EB 00001FB0: FF 20 00001FB1: FF A0 00001FB2: FF 9E 00001FB3: FF D0 00001FB4: FF 16 00001FB5: FF 04 00001FB6: FF 02 00001FB7: FF 01 00001FB8: FF 01 00001FB9: FF 00 00001FBA: FF D8 00001FBB: FF 01 00001FBC: FF F0 00001FBD: FF EB 00001FBE: FF 20 00001FBF: FF A0 00001FC0: FF 9E 00001FC1: FF D6 00001FC2: FF 16 00001FC3: FF 04 00001FC4: FF 02 00001FC5: FF 01 00001FC6: FF 08 00001FC7: FF 00 00001FC8: FF D8 00001FC9: FF 01 00001FCA: FF F0 00001FCB: FF EB 00001FCC: FF 20 00001FCD: FF A0 00001FCE: FF 9E 00001FCF: FF D2 00001FD0: FF 16 00001FD1: FF 04 00001FD2: FF 02 00001FD3: FF 01 00001FD4: FF 02 00001FD5: FF 00 00001FD6: FF D8 00001FD7: FF 01 00001FD8: FF F0 00001FD9: FF EB 00001FDA: FF 20 00001FDB: FF A0 00001FDC: FF 9E 00001FDD: FF D8 00001FDE: FF 16 00001FDF: FF 04 00001FE0: FF 02 00001FE1: FF 01 00001FE2: FF 10 00001FE3: FF 00 00001FE4: FF D8 00001FE5: FF 01 00001FE6: FF F0 00001FE7: FF EB 00001FE8: FF 04 00001FE9: FF 5B 00001FEA: FF 00 00001FEB: FF 00 00001FEC: FF 00 00001FED: FF 00 00001FEE: FF 00 00001FEF: FF 00 00001FF0: FF 00 00001FF1: FF 00 00001FF2: FF 00 00001FF3: FF 00 00001FF4: FF 00 00001FF5: FF 00 00001FF6: FF 00 00001FF7: FF 00 00001FF8: FF 00 00001FF9: FF 00 00001FFA: FF 00 00001FFB: FF 00 00001FFC: FF 00 00001FFD: FF 00 00001FFE: FF 00 00001FFF: FF 00