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 #2b0             (19)// as call                    +out_ff_a_xor_08   0x0aff
1e3a (07738): out (#3f),a       @1e3a: out_3f a; ret                       (15)                              +out_3f_a          0x0928
1fdd (08157): in (#1f),a        @1fdd: in_1f a; and 4; jp #1fd1            (25)// as call                    +in_1f_a_and_04    0x0892
1ff3 (08179): out (#ff),a       @1ff3: out_ff a; ret                       (15)// as call                    +out_ff_a          0x0b01
2000 (08192): out (#1f),a       @1ffc: out_1f 244; jp #2002                (17)// as call                    +out_1f_f4         0x0844
2076 (08310): in (#1f),a        @2076: in_1f a; and 64; jp #207a           (25)// as call                    +in_1f_a_and_40    0x08ab
2085 (08325): out (#3f),a       @2084: ld a,e; out_3f a; jp #2087          (16)// as call                    +out_3f_e          
208d (08333): out (#5f),a       @208c: ld a,(hl); out_5f a; jp #208f	   (16)// as call                    +out_5f_hl
2093 (08339): out (#1f),a       @2091: out_1f 128; jp #2095                (17)// as call                    +out_1f_80
2099 (08345): in (#1f),a        @2099: in_1f a; and 127; jp #209b          (25)// as call                    +in_1f_a_and_7f
20b1 (08369): in (#ff),a        @20b1: in_ff a; and 192; jp #20b5          (25)// as call                    +in_ff_a_and_c0
20b9 (08377): out  (c),d        @20b8: ret m; out_c d; jp #20bb            (20)                              +out_c_d_retm
2740 (10048): in (#1f),a        @2740: in_1f a; ld (#5ccd),a; jp #2745     (30)// as call                    +in_1f_a_st_5ccd
2748 (10056): out (#7f),a       @2747: ld a,e; out_7f a; jp #274a          (17)// as call                    +out_7f_e
2a54 (10836): out  (c),a        @2a54: out_c a; ret                        (19)                              +out_c_a
2a71 (10865): out (#ff),a       @2a6f: out_ff 60; jp #2a73                     // as call                    +out_ff_3c
2a77 (10871): in (#1f),a        @2a77: in_1f a; and 128; jp #2a7b              // as call                    +in_1f_a_and_80
2ad9 (10969): out (#ff),a       @2ad7: out_ff 60; jp #2adb      // like @2a6f  // no code                    +out_ff_3c
2b25 (11045): in (#5f),a        @2b25: in_5f a; dec a; jp #2b28                // as call                    +in_5f_a_dec_a                    
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
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
2d75 (11637): out (#5f),a       @2d74: ld a,e; inc a; out_5f,a; jp #2d77       // as call                    +out_5f_e_1
2d80 (11648): out (#1f),a       @2d7e: out_1f 160; jp #2d82                    // as call                    +out_1f_a0
2d87 (11655): in (#1f),a        @2d87: in_1f a; and 127; jp @2d8b // like @2099 // no code                   +in_1f_a_and_7f
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
2f1d (12061): out (#5f),a       @2f1b: ld a,e; inc a; out_5f a; jp #2f1f;              // no code            +out_5f_e_1
2f28 (12072): out (#1f),a       @2f26: ld a,128; out_1f a; jp #2f2a // like @2091 // no code                 +out_1f_80
2f2f (12079): in (#1f),a        @2f2f: in_1f a; and 127; jp #2f33 // like @2099   // no code                 +in_1f_a_and_7f
2f3c (12092): out (#ff),a       @2f3a: out_ff 60; jp #2f3e // like @2a6f          // no code                 +out_ff_3c
2f4d (12109): out (#ff),a       @2f4b: out_ff 44; jp #2f4f                                                   +out_ff_2c
2f50 (12112): out (#7f),a       @2f50: out_7f a; jp #3d49                                                    +out_7f_a
--------------------------
2f57 (12119): out (#1f),a       ?????????????????????????????????????????
2f59 (12121): in (#ff),a        ?????????????????????????????????????????
                                JR +3                       18 03
                                JP proc_2f59_emu            C3 .. ..
                                CALL out_1f_a               CD .. ..
                                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
2fc3 (12227): out (#1f),a       @2fc3: out_1f a; ret                                                         +out_1f_a
3d4d (15693): out (#ff),a       @3d4c: out ff 0; jp #3d4f                         // as call                 +out_ff_0
--------------------------
3d9a (15770): out (#1f),a       ?????????????????????????????????????????

15770:
CALL out_1f_a CD .. ..
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 .. ..
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_02
3dba (15802): in (#1f),a        @3dba: in_1f a; and 2; jp #3dbe // like @3db5     // no code                 +in_1f_a_and_02
3dd5 (15829): out (#ff),a       @3dd5: out_ff a; ld (hl),a; jp #3dd8              // as call                 +out_ff_a_st_hl
3e30 (15920): in (#1f),a        @3e30: in_1f a; and 4; jp #3e34 // like @1fdd     // no code                 +in_1f_a_and_04
3e3a (15930): in (#1f),a        @3e3a: in_1f a; and 4; jp #3e3e // like @1fdd     // no code                 +in_1f_a_and_04
3e44 (15940): out (#7f),a       @3e44: out_7f a; ld a,b; jp #3e47                 // as call                 +out_7f_a_ld_a_b
3e4c (15948): out (#7f),a       @3e4c: out_7f a; push bc; jp #3e4f                                           +out_7f_a_push_bc
3e50 (15952): in (#3f),a        @3e49: ld b,a; in_3f a; jp #3e52                  // as call                 +ld_b_a_in_3f_a
3e78 (15992): in (#3f),a        @3e77: in_3f a; cp c; jp #3e7b                    // as call                 +in_3f_a_cp_c
3e7e (15998): out (#3f),a       @3e7e: out_3f a; ld a,c; jp #3e81                 // as call                 +out_3f_a_ld_a_c
3e87 (16007): in (#3f),a        @3e86: ld b,a; in_3f a; jp #3e89 // like @3e49    // no code                 +ld_b_a_in_3f_a
3e95 (16021): out (#3f),a       @3e94: ld a,c; out_3f a; jp #3e97                 // as call                 +ld_a_c_out_3f_a
3eb5 (16053): in (#1f),a        @3eb5: in_1f a; and 128; jp #3eb9 // like @2a77   // no code                 +in_1f_a_and_80
3ebc (16060): in (#3f),a        @3ebc: in_3f a; ld h,a; jp #3ebf                  // as call                 +in_3f_a_ld_h_a
3ec9 (16073): out (#1f),a       @3ec7: out_1f 192; jp #3ecb                       // as call                 +out_1f_c0
3ece (16078): in (#ff),a        @3ece: in_ff a; and 192; jp #3ed2                 // no code                 +in_ff_a_and_c0
3edf (16095): out (#1f),a       @3edd: out_1f 208; jp #3ee1                       // as call                 +out_1f_d0 
3ef4 (16116): in  h,(c)         @3ef2: pop bc; in_h_c; jp #3ef6                                              +pop_bc_in_h_c
3ef5 (16117): in (#ff),a        @3ef5: in_ff a; and 192; jp #3ef9 // like @3ece   // no code                 +in_ff_a_and_c0
3efe (16126): in (#7f),a        @3efe: in_7f a; jp #3ef5                                                     +in_7f_a_jp
3f1b (16155): out (#5f),a       @3f1a: inc a; out_7f a; jp #3f1d                  // as call                 +inc_a_out_7f_a           
3f25 (16165): out (#1f),a       @3f25: out_1f a; cp 160; jp #3f29                 // as call                 +out_1f_a_cp_a0
3f33 (16179): in (#1f),a        @3f33: in_1f; ld b,a; jp #3f36                    // as call                 +in_1f_a_ld_b_a
3f4d (16205): out (#1f),a       @3f4c: out_1f 208; jp #3f4f       // like @3edd   // no code                 +out_1f_d0
3f55 (16213): in (#3f),a        @3f55: in_3f a; or a; jp #3f58                    // as call                 +in_3f_a_or_a
3f5a (16218): in (#5f),a        @3f5a: in_5f a; cp 10; jp #3f5e                   // as call                 +in_5f_a_cp_0a
3f69 (16233): in (#3f),a        @3f69: in_3f a; jp #1da3                          // as call                 +in_3f_a
3f72 (16242): in (#5f),a        @3f72: in_5f a; jp #1da3                          // as call                 +in_5f_a
3fbc (16316): in (#ff),a        @3fbc: in_ff a; and 192; jp #3fc0 // like @3ece   // no code                 +in_ff_a_and_c0
3fca (16330): in (#ff),a        @3fca: in_ff a; and 192; jp #3fce // like @3ece   // no code                 +in_ff_a_and_c0
3fd2 (16338): outi              @3fd1: ld a,(hl); inc hl; out_c a; dec b; jp #3fca                           +outi_jp
3fd7 (16343): in (#ff),a        @3fd7: in_ff a; and 192; jp #3fdb // like @3ece   // no code                 +in_ff_a_and_c0
3fe5 (16357): in (#ff),a        @3fe5: in_ff a; and 192; jp #3fe9 // like @3ece   // no code                 +in_ff_a_and_c0
3fed (16365): ini               @3fec: in_a c; ld (hl),a; inc hl; dec b; jp #3fe5                            +ini_jp_1
