summaryrefslogtreecommitdiff
path: root/ports.asm
diff options
context:
space:
mode:
authorAstrid Smith2011-10-21 01:07:19 -0700
committerAstrid Smith2011-10-21 01:07:19 -0700
commit541bce94a4d73e754ce522758dd25ecddb818f04 (patch)
tree6bca458ce09cc2b9470410bae62b74a747733165 /ports.asm
parentef89049eae1d7e2591bef44a3e8151131fb4bed2 (diff)
First stage of converting to be GAS-compliant
I (think I) have converted all the A68k directives to their GAS equivalents. Still remaining are all the inline expressions.
Diffstat (limited to 'ports.asm')
-rw-r--r--ports.asm1188
1 files changed, 0 insertions, 1188 deletions
diff --git a/ports.asm b/ports.asm
deleted file mode 100644
index 1a6b47e..0000000
--- a/ports.asm
+++ /dev/null
@@ -1,1188 +0,0 @@
- ;; Routines to process OUT and IN instructions. This is the
- ;; bit that's unique to TI calculators.
-
- ;; Port is in d0, byte is in d1
- ;; Destroys a0
-port_in:
- andi.w #$ff,d0
- add.w d0,d0
- add.w d0,d0
- movea.l lut_ports_in(pc,d0),a0
- jmp (a0)
- rts
-
-lut_ports_in:
- dc.l port_in_00
- dc.l port_in_01
- dc.l port_in_02
- dc.l port_in_03
- dc.l port_in_04
- dc.l port_in_05
- dc.l port_in_06
- dc.l port_in_07
- dc.l port_in_08
- dc.l port_in_09
- dc.l port_in_0a
- dc.l port_in_0b
- dc.l port_in_0c
- dc.l port_in_0d
- dc.l port_in_0e
- dc.l port_in_0f
- dc.l port_in_10
- dc.l port_in_11
- dc.l port_in_12
- dc.l port_in_13
- dc.l port_in_14
- dc.l port_in_15
- dc.l port_in_16
- dc.l port_in_17
- dc.l port_in_18
- dc.l port_in_19
- dc.l port_in_1a
- dc.l port_in_1b
- dc.l port_in_1c
- dc.l port_in_1d
- dc.l port_in_1e
- dc.l port_in_1f
- dc.l port_in_20
- dc.l port_in_21
- dc.l port_in_22
- dc.l port_in_23
- dc.l port_in_24
- dc.l port_in_25
- dc.l port_in_26
- dc.l port_in_27
- dc.l port_in_28
- dc.l port_in_29
- dc.l port_in_2a
- dc.l port_in_2b
- dc.l port_in_2c
- dc.l port_in_2d
- dc.l port_in_2e
- dc.l port_in_2f
- dc.l port_in_30
- dc.l port_in_31
- dc.l port_in_32
- dc.l port_in_33
- dc.l port_in_34
- dc.l port_in_35
- dc.l port_in_36
- dc.l port_in_37
- dc.l port_in_38
- dc.l port_in_39
- dc.l port_in_3a
- dc.l port_in_3b
- dc.l port_in_3c
- dc.l port_in_3d
- dc.l port_in_3e
- dc.l port_in_3f
- dc.l port_in_40
- dc.l port_in_41
- dc.l port_in_42
- dc.l port_in_43
- dc.l port_in_44
- dc.l port_in_45
- dc.l port_in_46
- dc.l port_in_47
- dc.l port_in_48
- dc.l port_in_49
- dc.l port_in_4a
- dc.l port_in_4b
- dc.l port_in_4c
- dc.l port_in_4d
- dc.l port_in_4e
- dc.l port_in_4f
- dc.l port_in_50
- dc.l port_in_51
- dc.l port_in_52
- dc.l port_in_53
- dc.l port_in_54
- dc.l port_in_55
- dc.l port_in_56
- dc.l port_in_57
- dc.l port_in_58
- dc.l port_in_59
- dc.l port_in_5a
- dc.l port_in_5b
- dc.l port_in_5c
- dc.l port_in_5d
- dc.l port_in_5e
- dc.l port_in_5f
- dc.l port_in_60
- dc.l port_in_61
- dc.l port_in_62
- dc.l port_in_63
- dc.l port_in_64
- dc.l port_in_65
- dc.l port_in_66
- dc.l port_in_67
- dc.l port_in_68
- dc.l port_in_69
- dc.l port_in_6a
- dc.l port_in_6b
- dc.l port_in_6c
- dc.l port_in_6d
- dc.l port_in_6e
- dc.l port_in_6f
- dc.l port_in_70
- dc.l port_in_71
- dc.l port_in_72
- dc.l port_in_73
- dc.l port_in_74
- dc.l port_in_75
- dc.l port_in_76
- dc.l port_in_77
- dc.l port_in_78
- dc.l port_in_79
- dc.l port_in_7a
- dc.l port_in_7b
- dc.l port_in_7c
- dc.l port_in_7d
- dc.l port_in_7e
- dc.l port_in_7f
- dc.l port_in_80
- dc.l port_in_81
- dc.l port_in_82
- dc.l port_in_83
- dc.l port_in_84
- dc.l port_in_85
- dc.l port_in_86
- dc.l port_in_87
- dc.l port_in_88
- dc.l port_in_89
- dc.l port_in_8a
- dc.l port_in_8b
- dc.l port_in_8c
- dc.l port_in_8d
- dc.l port_in_8e
- dc.l port_in_8f
- dc.l port_in_90
- dc.l port_in_91
- dc.l port_in_92
- dc.l port_in_93
- dc.l port_in_94
- dc.l port_in_95
- dc.l port_in_96
- dc.l port_in_97
- dc.l port_in_98
- dc.l port_in_99
- dc.l port_in_9a
- dc.l port_in_9b
- dc.l port_in_9c
- dc.l port_in_9d
- dc.l port_in_9e
- dc.l port_in_9f
- dc.l port_in_a0
- dc.l port_in_a1
- dc.l port_in_a2
- dc.l port_in_a3
- dc.l port_in_a4
- dc.l port_in_a5
- dc.l port_in_a6
- dc.l port_in_a7
- dc.l port_in_a8
- dc.l port_in_a9
- dc.l port_in_aa
- dc.l port_in_ab
- dc.l port_in_ac
- dc.l port_in_ad
- dc.l port_in_ae
- dc.l port_in_af
- dc.l port_in_b0
- dc.l port_in_b1
- dc.l port_in_b2
- dc.l port_in_b3
- dc.l port_in_b4
- dc.l port_in_b5
- dc.l port_in_b6
- dc.l port_in_b7
- dc.l port_in_b8
- dc.l port_in_b9
- dc.l port_in_ba
- dc.l port_in_bb
- dc.l port_in_bc
- dc.l port_in_bd
- dc.l port_in_be
- dc.l port_in_bf
- dc.l port_in_c0
- dc.l port_in_c1
- dc.l port_in_c2
- dc.l port_in_c3
- dc.l port_in_c4
- dc.l port_in_c5
- dc.l port_in_c6
- dc.l port_in_c7
- dc.l port_in_c8
- dc.l port_in_c9
- dc.l port_in_ca
- dc.l port_in_cb
- dc.l port_in_cc
- dc.l port_in_cd
- dc.l port_in_ce
- dc.l port_in_cf
- dc.l port_in_d0
- dc.l port_in_d1
- dc.l port_in_d2
- dc.l port_in_d3
- dc.l port_in_d4
- dc.l port_in_d5
- dc.l port_in_d6
- dc.l port_in_d7
- dc.l port_in_d8
- dc.l port_in_d9
- dc.l port_in_da
- dc.l port_in_db
- dc.l port_in_dc
- dc.l port_in_dd
- dc.l port_in_de
- dc.l port_in_df
- dc.l port_in_e0
- dc.l port_in_e1
- dc.l port_in_e2
- dc.l port_in_e3
- dc.l port_in_e4
- dc.l port_in_e5
- dc.l port_in_e6
- dc.l port_in_e7
- dc.l port_in_e8
- dc.l port_in_e9
- dc.l port_in_ea
- dc.l port_in_eb
- dc.l port_in_ec
- dc.l port_in_ed
- dc.l port_in_ee
- dc.l port_in_ef
- dc.l port_in_f0
- dc.l port_in_f1
- dc.l port_in_f2
- dc.l port_in_f3
- dc.l port_in_f4
- dc.l port_in_f5
- dc.l port_in_f6
- dc.l port_in_f7
- dc.l port_in_f8
- dc.l port_in_f9
- dc.l port_in_fa
- dc.l port_in_fb
- dc.l port_in_fc
- dc.l port_in_fd
- dc.l port_in_fe
- dc.l port_in_ff
-
-port_out:
- andi.w #$ff,d0
- ;; This is the fastest way to shift left 2 bits. :S
- add.w d0,d0
- add.w d0,d0
- movea.l lut_ports_out(pc,d0.w),a0
- jmp (a0)
-
-lut_ports_out:
- dc.l port_out_00
- dc.l port_out_01
- dc.l port_out_02
- dc.l port_out_03
- dc.l port_out_04
- dc.l port_out_05
- dc.l port_out_06
- dc.l port_out_07
- dc.l port_out_08
- dc.l port_out_09
- dc.l port_out_0a
- dc.l port_out_0b
- dc.l port_out_0c
- dc.l port_out_0d
- dc.l port_out_0e
- dc.l port_out_0f
- dc.l port_out_10
- dc.l port_out_11
- dc.l port_out_12
- dc.l port_out_13
- dc.l port_out_14
- dc.l port_out_15
- dc.l port_out_16
- dc.l port_out_17
- dc.l port_out_18
- dc.l port_out_19
- dc.l port_out_1a
- dc.l port_out_1b
- dc.l port_out_1c
- dc.l port_out_1d
- dc.l port_out_1e
- dc.l port_out_1f
- dc.l port_out_20
- dc.l port_out_21
- dc.l port_out_22
- dc.l port_out_23
- dc.l port_out_24
- dc.l port_out_25
- dc.l port_out_26
- dc.l port_out_27
- dc.l port_out_28
- dc.l port_out_29
- dc.l port_out_2a
- dc.l port_out_2b
- dc.l port_out_2c
- dc.l port_out_2d
- dc.l port_out_2e
- dc.l port_out_2f
- dc.l port_out_30
- dc.l port_out_31
- dc.l port_out_32
- dc.l port_out_33
- dc.l port_out_34
- dc.l port_out_35
- dc.l port_out_36
- dc.l port_out_37
- dc.l port_out_38
- dc.l port_out_39
- dc.l port_out_3a
- dc.l port_out_3b
- dc.l port_out_3c
- dc.l port_out_3d
- dc.l port_out_3e
- dc.l port_out_3f
- dc.l port_out_40
- dc.l port_out_41
- dc.l port_out_42
- dc.l port_out_43
- dc.l port_out_44
- dc.l port_out_45
- dc.l port_out_46
- dc.l port_out_47
- dc.l port_out_48
- dc.l port_out_49
- dc.l port_out_4a
- dc.l port_out_4b
- dc.l port_out_4c
- dc.l port_out_4d
- dc.l port_out_4e
- dc.l port_out_4f
- dc.l port_out_50
- dc.l port_out_51
- dc.l port_out_52
- dc.l port_out_53
- dc.l port_out_54
- dc.l port_out_55
- dc.l port_out_56
- dc.l port_out_57
- dc.l port_out_58
- dc.l port_out_59
- dc.l port_out_5a
- dc.l port_out_5b
- dc.l port_out_5c
- dc.l port_out_5d
- dc.l port_out_5e
- dc.l port_out_5f
- dc.l port_out_60
- dc.l port_out_61
- dc.l port_out_62
- dc.l port_out_63
- dc.l port_out_64
- dc.l port_out_65
- dc.l port_out_66
- dc.l port_out_67
- dc.l port_out_68
- dc.l port_out_69
- dc.l port_out_6a
- dc.l port_out_6b
- dc.l port_out_6c
- dc.l port_out_6d
- dc.l port_out_6e
- dc.l port_out_6f
- dc.l port_out_70
- dc.l port_out_71
- dc.l port_out_72
- dc.l port_out_73
- dc.l port_out_74
- dc.l port_out_75
- dc.l port_out_76
- dc.l port_out_77
- dc.l port_out_78
- dc.l port_out_79
- dc.l port_out_7a
- dc.l port_out_7b
- dc.l port_out_7c
- dc.l port_out_7d
- dc.l port_out_7e
- dc.l port_out_7f
- dc.l port_out_80
- dc.l port_out_81
- dc.l port_out_82
- dc.l port_out_83
- dc.l port_out_84
- dc.l port_out_85
- dc.l port_out_86
- dc.l port_out_87
- dc.l port_out_88
- dc.l port_out_89
- dc.l port_out_8a
- dc.l port_out_8b
- dc.l port_out_8c
- dc.l port_out_8d
- dc.l port_out_8e
- dc.l port_out_8f
- dc.l port_out_90
- dc.l port_out_91
- dc.l port_out_92
- dc.l port_out_93
- dc.l port_out_94
- dc.l port_out_95
- dc.l port_out_96
- dc.l port_out_97
- dc.l port_out_98
- dc.l port_out_99
- dc.l port_out_9a
- dc.l port_out_9b
- dc.l port_out_9c
- dc.l port_out_9d
- dc.l port_out_9e
- dc.l port_out_9f
- dc.l port_out_a0
- dc.l port_out_a1
- dc.l port_out_a2
- dc.l port_out_a3
- dc.l port_out_a4
- dc.l port_out_a5
- dc.l port_out_a6
- dc.l port_out_a7
- dc.l port_out_a8
- dc.l port_out_a9
- dc.l port_out_aa
- dc.l port_out_ab
- dc.l port_out_ac
- dc.l port_out_ad
- dc.l port_out_ae
- dc.l port_out_af
- dc.l port_out_b0
- dc.l port_out_b1
- dc.l port_out_b2
- dc.l port_out_b3
- dc.l port_out_b4
- dc.l port_out_b5
- dc.l port_out_b6
- dc.l port_out_b7
- dc.l port_out_b8
- dc.l port_out_b9
- dc.l port_out_ba
- dc.l port_out_bb
- dc.l port_out_bc
- dc.l port_out_bd
- dc.l port_out_be
- dc.l port_out_bf
- dc.l port_out_c0
- dc.l port_out_c1
- dc.l port_out_c2
- dc.l port_out_c3
- dc.l port_out_c4
- dc.l port_out_c5
- dc.l port_out_c6
- dc.l port_out_c7
- dc.l port_out_c8
- dc.l port_out_c9
- dc.l port_out_ca
- dc.l port_out_cb
- dc.l port_out_cc
- dc.l port_out_cd
- dc.l port_out_ce
- dc.l port_out_cf
- dc.l port_out_d0
- dc.l port_out_d1
- dc.l port_out_d2
- dc.l port_out_d3
- dc.l port_out_d4
- dc.l port_out_d5
- dc.l port_out_d6
- dc.l port_out_d7
- dc.l port_out_d8
- dc.l port_out_d9
- dc.l port_out_da
- dc.l port_out_db
- dc.l port_out_dc
- dc.l port_out_dd
- dc.l port_out_de
- dc.l port_out_df
- dc.l port_out_e0
- dc.l port_out_e1
- dc.l port_out_e2
- dc.l port_out_e3
- dc.l port_out_e4
- dc.l port_out_e5
- dc.l port_out_e6
- dc.l port_out_e7
- dc.l port_out_e8
- dc.l port_out_e9
- dc.l port_out_ea
- dc.l port_out_eb
- dc.l port_out_ec
- dc.l port_out_ed
- dc.l port_out_ee
- dc.l port_out_ef
- dc.l port_out_f0
- dc.l port_out_f1
- dc.l port_out_f2
- dc.l port_out_f3
- dc.l port_out_f4
- dc.l port_out_f5
- dc.l port_out_f6
- dc.l port_out_f7
- dc.l port_out_f8
- dc.l port_out_f9
- dc.l port_out_fa
- dc.l port_out_fb
- dc.l port_out_fc
- dc.l port_out_fd
- dc.l port_out_fe
- dc.l port_out_ff
-
-port_in_00:
-port_out_00:
- ;; Temporary test harness. Writing to this port writes a
- ;; character to the screen.
- SAVEREG
- andi.w #$ff,d1
- move.w d1,-(sp)
- jsr char_draw
- addq #2,sp
- RESTREG
- rts
-
-port_in_01:
-port_out_01:
-port_in_02:
-port_out_02:
-port_in_03:
-port_out_03:
-port_in_04:
-port_out_04:
- ;; Bank B paging, among other things
- SAVEREG
- move.b d1,-(a7)
- jsr bankswap_b_write
- addq #2,a7
- RESTREG
- rts
-
-port_in_05:
-port_out_05:
-port_in_06:
-port_out_06:
- ;; Bank A paging
- SAVEREG
- move.b d1,-(a7)
- jsr bankswap_a_write
- addq #2,a7
- RESTREG
- rts
-
-port_in_07:
-port_out_07:
-port_in_08:
-port_out_08:
-port_in_09:
-port_out_09:
-port_in_0a:
-port_out_0a:
-port_in_0b:
-port_out_0b:
-port_in_0c:
-port_out_0c:
-port_in_0d:
-port_out_0d:
-port_in_0e:
-port_out_0e:
-port_in_0f:
-port_out_0f:
-port_in_10:
- xref video_row
- xref video_increment
- xref video_enabled
- xref video_6bit
- xref video_busy
- xref video_cur_row
- xref video_cur_col
- xref video_write
- xref video_read
-
- ;; LCD status
- clr.b d1
- or.b video_increment,d1
- or.b video_row,d1
- or.b video_enabled,d1
- or.b video_6bit,d1
- or.b video_busy,d1
- rts
-
-port_out_10:
- ;; LCD command
- tst.b d1
- beq port_out_10_00
- subq.b #1,d1
- beq port_out_10_01
- subq.b #1,d1
- beq port_out_10_02
- subq.b #1,d1
- beq port_out_10_03
- subq.b #1,d1
- beq port_out_10_04
- subq.b #1,d1
- beq port_out_10_05
- subq.b #1,d1
- beq port_out_10_06
- subq.b #1,d1
- beq port_out_10_07
- addq.b #7,d1
- cmpi.b #$0b,d1 ; power supply enhancement
- ble port_out_10_undef
- cmpi.b #$13,d1 ; power supply level
- ble port_out_10_undef
- cmpi.b #$17,d1 ; undefined
- ble port_out_10_undef
- cmpi.b #$18,d1 ; cancel test mode
- beq port_out_10_undef
- cmpi.b #$1b,d1 ; undefined
- beq port_out_10_undef
- cmpi.b #$1f,d1 ; enter test mode
- ble port_out_10_undef
- cmpi.b #$3f,d1 ; set column
- ble port_out_10_set_col
- cmpi.b #$7f,d1 ; z-addressing
- ble port_out_10_undef ; XXX?
- cmpi.b #$df,d1 ; set row
- ble port_out_10_set_row
- ;; fallthrough: set contrast (unimplemented)
- rts
- ;; ...
-port_out_10_00: ; 6-bit mode
- move.b #$00,video_6bit
- rts
-port_out_10_01: ; 8-bit mode
- move.b #$40,video_6bit
- rts
-port_out_10_02: ; screen off
- move.b #$20,video_enabled
- rts
-port_out_10_03: ; screen on
- move.b #$00,video_enabled
- rts
-port_out_10_04: ; x--
- move.b #$01,video_row
- move.b #$00,video_increment
- rts
-port_out_10_05: ; x++
- move.b #$01,video_row
- move.b #$02,video_increment
- rts
-port_out_10_06: ; y--
- move.b #$00,video_row
- move.b #$00,video_increment
- rts
-port_out_10_07: ; y++
- move.b #$00,video_row
- move.b #$02,video_increment
- rts
-port_out_10_undef:
- rts
-port_out_10_set_col:
- sub.b #$20,d1
- move.b d1,video_cur_col
- rts
-port_out_10_set_row:
- sub.b #$80,d1
- move.b d1,video_cur_row
- rts
-
-
-port_in_11:
- ;; LCD data
- SAVEREG
- jsr video_read
- move.b d0,d1 ; return value
- RESTREG
- rts
-
-port_out_11:
- ;; LCD data
- SAVEREG
- move.b d1,-(a7)
- jsr video_write
- addq #2,a7
- RESTREG
- rts
-
-port_in_12:
-port_out_12:
-port_in_13:
-port_out_13:
-port_in_14:
-port_out_14:
-port_in_15:
-port_out_15:
-port_in_16:
-port_out_16:
-port_in_17:
-port_out_17:
-port_in_18:
-port_out_18:
-port_in_19:
-port_out_19:
-port_in_1a:
-port_out_1a:
-port_in_1b:
-port_out_1b:
-port_in_1c:
-port_out_1c:
-port_in_1d:
-port_out_1d:
-port_in_1e:
-port_out_1e:
-port_in_1f:
-port_out_1f:
-port_in_20:
-port_out_20:
-port_in_21:
-port_out_21:
-port_in_22:
-port_out_22:
-port_in_23:
-port_out_23:
-port_in_24:
-port_out_24:
-port_in_25:
-port_out_25:
-port_in_26:
-port_out_26:
-port_in_27:
-port_out_27:
-port_in_28:
-port_out_28:
-port_in_29:
-port_out_29:
-port_in_2a:
-port_out_2a:
-port_in_2b:
-port_out_2b:
-port_in_2c:
-port_out_2c:
-port_in_2d:
-port_out_2d:
-port_in_2e:
-port_out_2e:
-port_in_2f:
-port_out_2f:
-port_in_30:
-port_out_30:
-port_in_31:
-port_out_31:
-port_in_32:
-port_out_32:
-port_in_33:
-port_out_33:
-port_in_34:
-port_out_34:
-port_in_35:
-port_out_35:
-port_in_36:
-port_out_36:
-port_in_37:
-port_out_37:
-port_in_38:
-port_out_38:
-port_in_39:
-port_out_39:
-port_in_3a:
-port_out_3a:
-port_in_3b:
-port_out_3b:
-port_in_3c:
-port_out_3c:
-port_in_3d:
-port_out_3d:
-port_in_3e:
-port_out_3e:
-port_in_3f:
-port_out_3f:
-port_in_40:
-port_out_40:
-port_in_41:
-port_out_41:
-port_in_42:
-port_out_42:
-port_in_43:
-port_out_43:
-port_in_44:
-port_out_44:
-port_in_45:
-port_out_45:
-port_in_46:
-port_out_46:
-port_in_47:
-port_out_47:
-port_in_48:
-port_out_48:
-port_in_49:
-port_out_49:
-port_in_4a:
-port_out_4a:
-port_in_4b:
-port_out_4b:
-port_in_4c:
-port_out_4c:
-port_in_4d:
-port_out_4d:
-port_in_4e:
-port_out_4e:
-port_in_4f:
-port_out_4f:
-port_in_50:
-port_out_50:
-port_in_51:
-port_out_51:
-port_in_52:
-port_out_52:
-port_in_53:
-port_out_53:
-port_in_54:
-port_out_54:
-port_in_55:
-port_out_55:
-port_in_56:
-port_out_56:
-port_in_57:
-port_out_57:
-port_in_58:
-port_out_58:
-port_in_59:
-port_out_59:
-port_in_5a:
-port_out_5a:
-port_in_5b:
-port_out_5b:
-port_in_5c:
-port_out_5c:
-port_in_5d:
-port_out_5d:
-port_in_5e:
-port_out_5e:
-port_in_5f:
-port_out_5f:
-port_in_60:
-port_out_60:
-port_in_61:
-port_out_61:
-port_in_62:
-port_out_62:
-port_in_63:
-port_out_63:
-port_in_64:
-port_out_64:
-port_in_65:
-port_out_65:
-port_in_66:
-port_out_66:
-port_in_67:
-port_out_67:
-port_in_68:
-port_out_68:
-port_in_69:
-port_out_69:
-port_in_6a:
-port_out_6a:
-port_in_6b:
-port_out_6b:
-port_in_6c:
-port_out_6c:
-port_in_6d:
-port_out_6d:
-port_in_6e:
-port_out_6e:
-port_in_6f:
-port_out_6f:
-port_in_70:
-port_out_70:
-port_in_71:
-port_out_71:
-port_in_72:
-port_out_72:
-port_in_73:
-port_out_73:
-port_in_74:
-port_out_74:
-port_in_75:
-port_out_75:
-port_in_76:
-port_out_76:
-port_in_77:
-port_out_77:
-port_in_78:
-port_out_78:
-port_in_79:
-port_out_79:
-port_in_7a:
-port_out_7a:
-port_in_7b:
-port_out_7b:
-port_in_7c:
-port_out_7c:
-port_in_7d:
-port_out_7d:
-port_in_7e:
-port_out_7e:
-port_in_7f:
-port_out_7f:
-port_in_80:
-port_out_80:
-port_in_81:
-port_out_81:
-port_in_82:
-port_out_82:
-port_in_83:
-port_out_83:
-port_in_84:
-port_out_84:
-port_in_85:
-port_out_85:
-port_in_86:
-port_out_86:
-port_in_87:
-port_out_87:
-port_in_88:
-port_out_88:
-port_in_89:
-port_out_89:
-port_in_8a:
-port_out_8a:
-port_in_8b:
-port_out_8b:
-port_in_8c:
-port_out_8c:
-port_in_8d:
-port_out_8d:
-port_in_8e:
-port_out_8e:
-port_in_8f:
-port_out_8f:
-port_in_90:
-port_out_90:
-port_in_91:
-port_out_91:
-port_in_92:
-port_out_92:
-port_in_93:
-port_out_93:
-port_in_94:
-port_out_94:
-port_in_95:
-port_out_95:
-port_in_96:
-port_out_96:
-port_in_97:
-port_out_97:
-port_in_98:
-port_out_98:
-port_in_99:
-port_out_99:
-port_in_9a:
-port_out_9a:
-port_in_9b:
-port_out_9b:
-port_in_9c:
-port_out_9c:
-port_in_9d:
-port_out_9d:
-port_in_9e:
-port_out_9e:
-port_in_9f:
-port_out_9f:
-port_in_a0:
-port_out_a0:
-port_in_a1:
-port_out_a1:
-port_in_a2:
-port_out_a2:
-port_in_a3:
-port_out_a3:
-port_in_a4:
-port_out_a4:
-port_in_a5:
-port_out_a5:
-port_in_a6:
-port_out_a6:
-port_in_a7:
-port_out_a7:
-port_in_a8:
-port_out_a8:
-port_in_a9:
-port_out_a9:
-port_in_aa:
-port_out_aa:
-port_in_ab:
-port_out_ab:
-port_in_ac:
-port_out_ac:
-port_in_ad:
-port_out_ad:
-port_in_ae:
-port_out_ae:
-port_in_af:
-port_out_af:
-port_in_b0:
-port_out_b0:
-port_in_b1:
-port_out_b1:
-port_in_b2:
-port_out_b2:
-port_in_b3:
-port_out_b3:
-port_in_b4:
-port_out_b4:
-port_in_b5:
-port_out_b5:
-port_in_b6:
-port_out_b6:
-port_in_b7:
-port_out_b7:
-port_in_b8:
-port_out_b8:
-port_in_b9:
-port_out_b9:
-port_in_ba:
-port_out_ba:
-port_in_bb:
-port_out_bb:
-port_in_bc:
-port_out_bc:
-port_in_bd:
-port_out_bd:
-port_in_be:
-port_out_be:
-port_in_bf:
-port_out_bf:
-port_in_c0:
-port_out_c0:
-port_in_c1:
-port_out_c1:
-port_in_c2:
-port_out_c2:
-port_in_c3:
-port_out_c3:
-port_in_c4:
-port_out_c4:
-port_in_c5:
-port_out_c5:
-port_in_c6:
-port_out_c6:
-port_in_c7:
-port_out_c7:
-port_in_c8:
-port_out_c8:
-port_in_c9:
-port_out_c9:
-port_in_ca:
-port_out_ca:
-port_in_cb:
-port_out_cb:
-port_in_cc:
-port_out_cc:
-port_in_cd:
-port_out_cd:
-port_in_ce:
-port_out_ce:
-port_in_cf:
-port_out_cf:
-port_in_d0:
-port_out_d0:
-port_in_d1:
-port_out_d1:
-port_in_d2:
-port_out_d2:
-port_in_d3:
-port_out_d3:
-port_in_d4:
-port_out_d4:
-port_in_d5:
-port_out_d5:
-port_in_d6:
-port_out_d6:
-port_in_d7:
-port_out_d7:
-port_in_d8:
-port_out_d8:
-port_in_d9:
-port_out_d9:
-port_in_da:
-port_out_da:
-port_in_db:
-port_out_db:
-port_in_dc:
-port_out_dc:
-port_in_dd:
-port_out_dd:
-port_in_de:
-port_out_de:
-port_in_df:
-port_out_df:
-port_in_e0:
-port_out_e0:
-port_in_e1:
-port_out_e1:
-port_in_e2:
-port_out_e2:
-port_in_e3:
-port_out_e3:
-port_in_e4:
-port_out_e4:
-port_in_e5:
-port_out_e5:
-port_in_e6:
-port_out_e6:
-port_in_e7:
-port_out_e7:
-port_in_e8:
-port_out_e8:
-port_in_e9:
-port_out_e9:
-port_in_ea:
-port_out_ea:
-port_in_eb:
-port_out_eb:
-port_in_ec:
-port_out_ec:
-port_in_ed:
-port_out_ed:
-port_in_ee:
-port_out_ee:
-port_in_ef:
-port_out_ef:
-port_in_f0:
-port_out_f0:
-port_in_f1:
-port_out_f1:
-port_in_f2:
-port_out_f2:
-port_in_f3:
-port_out_f3:
-port_in_f4:
-port_out_f4:
-port_in_f5:
-port_out_f5:
-port_in_f6:
-port_out_f6:
-port_in_f7:
-port_out_f7:
-port_in_f8:
-port_out_f8:
-port_in_f9:
-port_out_f9:
-port_in_fa:
-port_out_fa:
-port_in_fb:
-port_out_fb:
-port_in_fc:
-port_out_fc:
-port_in_fd:
-port_out_fd:
-port_in_fe:
-port_out_fe:
-port_in_ff:
-port_out_ff: