out_port

push af; ld a,#79; out 31,a; ld a,port; out 31,a; pop af; out 31,a out 31,a; jp  = 17 + 2 = 19

20 * 80 

in_port

ld a,#80; out 31,a; ld a,port; out 31,a; out 31,a; out 31,a; in a,31; in a,31; in a,31; in a,31; jp  = 23 + 2 = 25


02be (00702): out (#ff),a       @2bc: xor 8; out_ff a; jp #2c0             (19)// as call                    +out_ff_a_xor_08	0aff
cd ff 0a 00
1e3a (07738): out (#3f),a       @1e3a: out_3f a; ret                       (15)                              +out_3f_a	        0928
c3 28 09
1fdd (08157): in (#1f),a        @1fdd: in_1f a; and 4; jp #1fe1            (25)// as call                    +in_1f_a_and_04	0892
cd 92 08 00
1ff3 (08179): out (#ff),a       @1ff3: out_ff a; ret                       (15)//                            +out_ff_a	        0b01
c3 01 0b
2000 (08192): out (#1f),a       @1ffe: out_1f 244; jp #2002                (17)// as call                    +out_1f_f4	        0844
cd 44 08 00
2076 (08310): in (#1f),a        @2076: in_1f a; and 64; jp #207a           (25)// as call                    +in_1f_a_and_40 	08ab
cd ab 08 00
2085 (08325): out (#3f),a       @2084: ld a,e; out_3f a; jp #2087          (16)// as call                    +out_3f_e          0939
cd 39 09
208d (08333): out (#5f),a       @208c: ld a,(hl); out_5f a; jp #208f	   (16)// as call                    +out_5f_hl	        09e2
cd e2 09
2093 (08339): out (#1f),a       @2091: out_1f 128; jp #2095                (17)// as call                    +out_1f_80	        0800
cd 00 08 00
2099 (08345): in (#1f),a        @2099: in_1f a; and 127; jp #209b          (25)// as call                    +in_1f_a_and_7f	08c4
cd c4 08 00
20b1 (08369): in (#ff),a        @20b1: in_ff a; and 192; jp #20b5          (25)// as call                    +in_ff_a_and_c0	0b3c
cd 3c 0b 00
20b9 (08377): out  (c),d        @20b7: ret m; out_c d; jp #20ba            (20)                              +out_c_d_retm	0b55
c3 55 0b
2740 (10048): in (#1f),a        @2740: in_1f a; ld (#5ccd),a; jp #2745     (30)// as call                    +in_1f_a_st_5ccd	08f6
cd f6 08 00 00
2748 (10056): out (#7f),a       @2747: ld a,e; out_7f a; jp #274a          (17)// as call                    +out_7f_e	        0a4a
cd 4a 0a
2a53 (10835): out  (c),a        @2a53: out_c a; ret                        (19)                              +out_c_a	        0b68
c3 68 0b
2a71 (10865): out (#ff),a       @2a6f: out_ff 60; jp #2a73                     // as call                    +out_ff_3c	        0add
cd dd 0a 00
2a77 (10871): in (#1f),a        @2a77: in_1f a; and 128; jp #2a7b              // as call                    +in_1f_a_and_80	08dd
cd dd 08 00
2ad9 (10969): out (#ff),a       @2ad7: out_ff 60; jp #2adb      // like @2a6f  // no code                    +out_ff_3c	        0add
cd dd 0a 00
2b25 (11045): in (#5f),a        @2b25: in_5f a; dec a; jp #2b28                // as call                    +in_5f_a_dec_a     0a19
cd 19 0a
2b69 (11113): out  (c),d        skip                                                                         --------------
2b7b (11131): out  (c),d        skip                                                                         --------------
2c07 (11271): in (#5f),a        @2c07: in_5f a; dec a; jp #2c0a // like @2b25  // no code                    +in_5f_a_dec_a	0a19
cd 19 0a
2c1a (11290): out  (c),a        skip                                                                         --------------
2c6b (11371): out  (c),a        skip                                                                         --------------
2cd8 (11480): in (#5f),a        @2c07: in_5f a; dec a; jp #2cda                // no code                    +in_5f_a_dec_a	0a19
cd 19 0a
2d75 (11637): out (#5f),a       @2d74: ld a,e; inc a; out_5f,a; jp #2d77       // as call                    +out_5f_e_1        09f2
cd f2 09
2d80 (11648): out (#1f),a       @2d7e: out_1f 160; jp #2d82                    // as call                    +out_1f_a0	        0811
cd 11 08 00
2d87 (11655): in (#1f),a        @2d87: in_1f a; and 127; jp @2d8b // like @2099 // no code                   +in_1f_a_and_7f	08c4
cd c4 08 00
2ded (11757): out  (c),a        skip                                                                         --------------
2e22 (11810): out  (c),a        skip                                                                         --------------
2ef5 (12021): out  (c),a        skip                                                                         --------------
2f0c (12044): out (#ff),a       @2f0c: out_ff a; ret // like @1ff3              // no code                   +out_ff_a	        0b01
c3 01 0b
2f1d (12061): out (#5f),a       @2f1b: ld a,e; out_5f a; jp #2f1f;              // no code                   +out_5f_e_1        0BDF
cd df 0b 00
2f28 (12072): out (#1f),a       @2f26: ld a,128; out_1f a; jp #2f2a // like @2091 // no code                 +out_1f_80	        0800
cd 00 08 00
2f2f (12079): in (#1f),a        @2f2f: in_1f a; and 127; jp #2f33 // like @2099   // no code                 +in_1f_a_and_7f	08c4
cd c4 08 00
2f3c (12092): out (#ff),a       @2f3a: out_ff 60; jp #2f3e // like @2a6f          // no code                 +out_ff_3c		0add
cd dd 0a 00
2f4d (12109): out (#ff),a       @2f4b: out_ff 44; jp #2f4f                                                   +out_ff_2c		0acc
cd cc 0a 00
2f50 (12112): out (#7f),a       @2f50: out_7f a; jp #3d49                                                    +out_7f_a_jp_3dfd	0bf0
cd f0 0b
--------------------------
2f57 (12119): out (#1f),a       ?????????????????????????????????????????
2f59 (12121): in (#ff),a        ?????????????????????????????????????????
18 03 C3 BF 0B CD 55 08 18 F8 00 00 00 00
                                JR +3                       18 03
                                JP proc_2f59_emu            C3 BF 0B
                                CALL out_1f_a               CD 55 08
                                JR -6                       18 F8
                                NOP                         00
                                NOP                         00
                                NOP                         00
                                NOP                         00
--------------------------
2fb1 (12209): out (#ff),a       @2faf: out_ff #ff; jp #2fb3                       // as call                 +out_ff_ff		0aee
cd ee 0a 00
2fc3 (12227): out (#1f),a       @2fc3: out_1f a; ret                                                         +out_1f_a		0855
c3 55 08
3d4d (15693): out (#ff),a       @3d4c: out ff 0; jp #3d4f                         // as call                 +out_ff_0		0abc
cd bc 0a
--------------------------
3d9a (15770): out (#1f),a       ?????????????????????????????????????????
CD 55 08 E5 E7 54 1F 38 03 E7 7B 1B E1 CD 23 0B 28 F1 C9

15770:
CALL out_1f_a CD 55 08
q1: push hl   E5
rst 32        E7
defw #1f54    54 1F
jr c,q        38 03
rst 32        E7
defw #1b7b    7B 1B
q:pop hl      E1
call in_ff_a_and_80  CD 23 0B
jr z,q1       28 F1
ret           C9
--------------------------
3db5 (15797): in (#1f),a        @3db5: in_1f a; and 2; jp #3db9                   // as call                 +in_1f_a_and_04	0879
cd 79 08 00
3dba (15802): in (#1f),a        @3dba: in_1f a; and 2; jp #3dbe // like @3db5     // no code                 +in_1f_a_and_04	0879
cd 79 08 00
3dd5 (15829): out (#ff),a       @3dd5: out_ff a; ld (hl),a; jp #3dd8              // as call                 +out_ff_a_st_hl	0b12
cd 12 0b 
3e30 (15920): in (#1f),a        @3e30: in_1f a; and 4; jp #3e34 // like @1fdd     // no code                 +in_1f_a_and_04	0892
cd 92 08 00
3e3a (15930): in (#1f),a        @3e3a: in_1f a; and 4; jp #3e3e // like @1fdd     // no code                 +in_1f_a_and_04	0892
cd 92 08 00
3e44 (15940): out (#7f),a       @3e44: out_7f a; ld a,b; jp #3e47                 // as call                 +out_7f_a_ld_a_b	0a6b
cd 6b 0a
3e4c (15948): out (#7f),a       @3e4c: out_7f a; push bc; jp #3e4f ????? ld b,a                              +out_7f_a_push_bc	0a7d
c3 7d 0a
3e50 (15952): in (#3f),a        @3e4f: ld b,a; in_3f a; jp #3e52   ?????          // as call                 +ld_b_a_in_3f_a	0982
cd 82 09
3e78 (15992): in (#3f),a        @3e77: in_3f a; cp c; jp #3e7b                    // as call                 +in_3f_a_cp_c	099a
cd 9a 09
3e7e (15998): out (#3f),a       @3e7e: out_3f a; ld a,c; jp #3e81                 // as call                 +out_3f_a_ld_a_c	0949
cd 49 09
3e87 (16007): in (#3f),a        @3e86: ld b,a; in_3f a; jp #3e89 // like @3e49    // no code                 +ld_b_a_in_3f_a	0982
cd 82 09
3e95 (16021): out (#3f),a       @3e94: ld a,c; out_3f a; jp #3e97                 // as call                 +ld_a_c_out_3f_a	095b
cd 5b 09
3eb5 (16053): in (#1f),a        @3eb5: in_1f a; and 128; jp #3eb9 // like @2a77   // no code                 +in_1f_a_and_80	08dd
cd dd 08 00
3ebc (16060): in (#3f),a        @3ebc: in_3f a; ld h,a; jp #3ebf                  // as call                 +in_3f_a_ld_h_a	09b2
cd b2 09
3ec9 (16073): out (#1f),a       @3ec7: out_1f 192; jp #3ecb                       // as call                 +out_1f_c0		0822
cd 22 08 00
3ece (16078): in (#ff),a        @3ece: in_ff a; and 192; jp #3ed2                 // no code                 +in_ff_a_and_c0	0b3c
cd 3c 0b 00
3edf (16095): out (#1f),a       @3edd: out_1f 208; jp #3ee1                       // as call                 +out_1f_d0 	0833
cd 33 08 00
3ef4 (16116): in  h,(c)         @3ef2: pop bc; in_h_c; jp #3ef5                                              +pop_bc_in_h_c	0b77
c3 77 0b
3ef5 (16117): in (#ff),a        @3ef5: in_ff a; and 192; jp #3ef9 // like @3ece   // no code                 +in_ff_a_and_c0	0b3c
cd 3c 0b 00
3efe (16126): in (#7f),a        @3efe: in_7f a; jp #3ef5                                                     +in_7f_a_jp	0aa3
c3 a3 0a 00
3f1b (16155): out (#5f),a       @3f1a: inc a; out_5f a; jp #3f1d                  // as call                 +inc_a_out_5f_a    0a91
cd 91 0a
3f25 (16165): out (#1f),a       @3f25: out_1f a; cp 160; jp #3f29                 // as call                 +out_1f_a_cp_a0	0866
cd 66 08 00
3f33 (16179): in (#1f),a        @3f33: in_1f; ld b,a; jp #3f36                    // as call                 +in_1f_a_ld_b_a	0910
cd 10 09
3f4d (16205): out (#1f),a       @3f4b: out_1f 208; jp #3f4f       // like @3edd   // no code                 +out_1f_d0		0833
cd 33 08 00
3f55 (16213): in (#3f),a        @3f55: in_3f a; or a; jp #3f58                    // as call                 +in_3f_a_or_a	09ca
cd ca 09
3f5a (16218): in (#5f),a        @3f5a: in_5f a; cp 10; jp #3f5e                   // as call                 +in_5f_a_cp_0a	0a31
cd 31 0a 00
3f69 (16233): in (#3f),a        @3f69: in_3f a; jp #1da3                          // as call                 +in_3f_a_jp_1da3   0c03
cd 03 0c 00 00
3f72 (16242): in (#5f),a        @3f72: in_5f a; jp #1da3                          // as call                 +in_5f_a_jp_1da3	0c1C
cd 1c 0c 00 00
3fbc (16316): in (#ff),a        @3fbc: in_ff a; and 192; jp #3fc0 // like @3ece   // no code                 +in_ff_a_and_c0	0b3c
cd 3c 0b 00
3fca (16330): in (#ff),a        @3fca: in_ff a; and 192; jp #3fce // like @3ece   // no code                 +in_ff_a_and_c0	0b3c
cd 3c 0b 00
3fd2 (16338): outi              @3fd1: ld a,(hl); inc hl; out_c a; dec b; jp #3fca                           +outi_jp		0b92
c3 92 0b 00
3fd7 (16343): in (#ff),a        @3fd7: in_ff a; and 192; jp #3fdb // like @3ece   // no code                 +in_ff_a_and_c0	0b3c
cd 3c 0b 00
3fe5 (16357): in (#ff),a        @3fe5: in_ff a; and 192; jp #3fe9 // like @3ece   // no code                 +in_ff_a_and_c0	0b3c
cd 3c 0b 00
3fed (16365): ini               @3fec: in_a c; ld (hl),a; inc hl; dec b; jp #3fe5                            +ini_jp_1		0c35
c3 35 0c 00
