####MEM
ip30_mem_peek -a 0x1000000:0x100000C -l 1 -s 0
ip30_mem_peek -a 0x7FFFFF0:0x7FFFFFC -l 1 -s 1
ip30_mem_peek -a 0x1000000:0x100000C -l 1 -s 2
ip30_mem_peek -a 0x1000000:0x100000C -l 1 -s 3
ip30_mem_peek -a 0x1000000:0x100000C -l 1 -s 3
ip30_mem_peek -a 0x7FFFFFC:0x8000004 -l 1 -s 1 #error

ip30_mem_poke -a 0x1000000:0x100000C -l 1 -s 0 -d 0xFF
ip30_mem_poke -a 0x1000000:0x100000C -l 1 -s 1 -d 0xFFFF
ip30_mem_poke -a 0x1000000:0x100000C -l 1 -s 2 -d 0xFFFFFFFF
ip30_mem_poke -a 0x1000000:0x100000C -l 1 -s 3 -d 0xFFFFFFFFFFFFFFFF
ip30_mem_poke -a 0x1000000:0x100000C -l 1 -s 3 -d 0xFFFFFFFFFFFFFFFF
ip30_mem_poke -a 0x7FFFFFC:0x8000000 -l 1 -s 1 -d 0xFFFF

###VALID ADDRESSES
Heart Register Read
0x18000000
0x18000008
0x18000010
0x18000018
0x18000028
0x18000040
0x18000048
0x18000060
0x18000068
0xff00000
0x18000070
0x18000078
0x18000090
0xff00008
0xff00010
0xff00018
0xff00040
0xff00048
0xff00050
0xff00058
0xff00060
0xff00068
0xff00070
0xff00078
0xff00080
0xff00088
0xff00090
0xff00098
0xff000a0
0xff000a8
0xff000b0
0xff000b8
0xff10000
0xff10008
0xff10010
0xff10018
0xff10040
0xff30000

Bridge Register Read
0x4
0xc
0x24
0x2c
0x4c
0x64
0x6c
0x74
0x84
0xa4
0xb4
0xc4
0xcc
0xd4
0xdc
0x104
0x10c
0x11c
0x124
0x134
0x13c
0x144
0x14c
0x154
0x15c
0x164
0x16c
0x204
0x20c
0x21c
0x22c
0x234
0x23c
0x244
0x24c
0x254
0x25c
0x264
0x26c
0x274
0x27c

Xbow Register Read
0x4
0xc
0x14
0x1c
0x24
0x2c
0x34
0x3c
0x44
0x4c
0x5c
0x64
0x6c
0x74
0x104
0x10c
0x114
0x13c
0x11c
0x124
0x144
0x14c
0x154
0x17c
0x15c
0x164
0x2c4
0x2cc
0x2d4
0x2fc
0x2dc
0x2e4

###VALID REGISTER WRITE OPTIONS
Heart Register Write
0x18000028
0x18000068
0xff00050
0xff00058
0xff000b0
0xff10000
0xff10008
0xff10010
0xff10018
0xff30000

Bridge Register Write
0x2c
0x4c
0x74
0x84
0xc4
0xcc
0x10c
0x11c
0x124
0x134
0x13c
0x144
0x14c
0x154
0x15c
0x164
0x16c
0x204
0x20c
0x21c
0x22c
0x234
0x23c

Xbow Register Write
0x24
0x2c
0x34
0x3c
0x4c
0x5c
0x10c
0x11c
0x124
0x14c
0x15c
0x164
0x2cc
0x2dc
0x2e4

#ioc3 Register Read
0x1f022000
0x1f022004
0x1f022008
0x1f02200c
0x1f022010
0x1f022040
0x1f022044
0x1f60001c
0x1f600020
0x1f600024 
0x1f600028 
0x1f60002c 
0x1f600030
0x1f600034 
0x1f600038 
0x1f60003c 
0x1f600040
0x1f600080 
0x1f600084 
0x1f600088 
0x1f60008c 
0x1f600090 
0x1f600094 
0x1f600098
0x1f60009c 
0x1f6000a0 
0x1f6000a4 
0x1f6000a8 
0x1f6000ac 
0x1f6000b0 
0x1f6000b4 
0x1f6000b8
0x1f6000bc 
0x1f6000c0 
0x1f6000c4 
0x1f6000c8 
0x1f6000cc 
0x1f6000d0
0x1f6000d4 
0x1f6000d8
0x1f6000dc 
0x1f6000e0 
0x1f6000e4 
0x1f6000e8 
0x1f6000ec 
0x1f6000f0 
0x1f640000 
0x1f6000f0 
0x1f6000f4 
0x1f6000f8 
0x1f6000fc 
0x1f600100 
0x1f600104 
0x1f600108 
0x1f60010c 
0x1f600110 
0x1f600114 
0x1f600118 
0x1f60011c 
0x1f600120 
0x1f600128 
0x1f60012c
0x1f600130 
0x1f600134 
0x1f600124 
0x1f600138 
0x1f60013c 
0x1f600140 
0x1f600144 
0x1f600148 
0x1f60014c 
0x1f604000
0x1f608000 
0x1f608004 
0x1f608008 
0x1f60800c 
0x1f608010 
0x1f608014 
0x1f608018
0x1f60c000 
0x1f60c004
0x1f60c008 
0x1f60c00c
0x1f60c010
0x1f60c014
0x1f60c018 

#ioc3 Register Write
0x1f600080
0x1f600090
0x1f600084
0x1f600094
0x1f600088
0x1f600098
0x1f6000b0
0x1f6000b4
0x1f6000c8
0x1f6000e4
0x1f6000c0
0x1f6000dc
0x1f6000c4
0x1f6000e0
0x1f6000bc
0x1f6000d8
0x1f6000cc
0x1f6000e8
0x1f600124
0x1f600120
0x1f600100
0x1f600104
0x1f600108
0x1f60010c
0x1f600108
0x1f600128
0x1f60012c
0x1f600134
0x1f600130
0x1f600114
0x1f600138
0x1f60013c
0x1f600140
0x1f600144

#duart read
0x1f620152
0x1f620177
0x1f62017f
0x1f620141
0x1f620142
0x1f620150
0x1f620151
0x1f620158
0x1f620159
0x1f62015a
0x1f620168
0x1f620169
0x1f620170
0x1f620170
0x1f620170
0x1f620171
0x1f620171
0x1f620172
0x1f620172
0x1f620173
0x1f620174
0x1f620175
0x1f620176
0x1f620178
0x1f620178
0x1f620178
0x1f620179
0x1f620179
0x1f62017a
0x1f62017a
0x1f62017b
0x1f62017c
0x1f62017d
0x1f62017e

#duart write
0x1f620152
0x1f620177
0x1f62017f

#scsi read
0x1f020000
0x1f020002
0x1f020004
0x1f020006
0x1f020008
0x1f020009
0x1f02000c
0x1f02000d
0x1f02000e
0x1f020010
0x1f020014
0x1f020030
0x1f02003c
0x1f02003d
0x1f02003e
0x1f02003f
0x1f20000c
0x1f40000c

#scsi write
0x1f20000c
0x1f40000c

#rad read
0x1f023000 
0x1f023004 
0x1f023008  
0x1f02300c 
0x1f023010  
0x1f700000  
0x1f700004  
0x1f700008  
0x1f70000c  
0x1f700010  
0x1f700014  
0x1f700018  
0x1f70001c  
0x1f700020  
0x1f700024  
0x1f700028  
0x1f70002c  
0x1f700030  
0x1f700034  
0x1f700038  
0x1f70003c  
0x1f700040  
0x1f700044  
0x1f700048  
0x1f70004c  
0x1f700050  
0x1f700054  
0x1f700058  
0x1f70005c  
0x1f700400  
0x1f700404  
0x1f700408  
0x1f70040c  
0x1f700410  
0x1f700414  
0x1f700418  
0x1f70041c  
0x1f700420  
0x1f700424  
0x1f700428  
0x1f70042c  
0x1f700430  
0x1f700434  
0x1f700438  
0x1f70043c  
0x1f700440  
0x1f700444  
0x1f700448  
0x1f70044c  
0x1f700450  
0x1f700454  
0x1f700458  
0x1f70045c  
0x1f700460  
0x1f700464  
0x1f700468  
0x1f70046c  
0x1f700470  
0x1f700474  
0x1f700478  
0x1f70047c  
0x1f700480  
0x1f700484  
0x1f700488  
0x1f70048c  
0x1f700490  
0x1f700494  
0x1f700498  
0x1f70049c  
0x1f7004a0  
0x1f7004a4  
0x1f7004a8  
0x1f7004ac  
0x1f7004b0  
0x1f7004b4  
0x1f7004b8  
0x1f7004bc  
0x1f7004c0  
0x1f7004c4  
0x1f7004c8  
0x1f7004cc  
0x1f7004d0  
0x1f7004d4  
0x1f7004d8  
0x1f7004dc  
0x1f7004e0  
0x1f7004e4  
0x1f7004e8  
0x1f7004ec  
0x1f7004f0  
0x1f7004f4  
0x1f7004f8  
0x1f7004fc  
0x1f700500  
0x1f700504  
0x1f700508  
0x1f70050c  
0x1f700510  
0x1f700514  
0x1f700518  
0x1f70051c  
0x1f700520  
0x1f700524  
0x1f700528

rad write
0x1f700400
0x1f700404
0x1f700408
0x1f70040c
0x1f700410
0x1f700414
0x1f700418
0x1f70041c
0x1f700420
0x1f700424
0x1f700428
0x1f70042c
0x1f700430
0x1f700434
0x1f700438
0x1f70043c
0x1f700440
0x1f700444
0x1f700448
0x1f70044c
0x1f700450
0x1f700454
0x1f700458
0x1f70045c
0x1f700460
0x1f700464
0x1f700468
0x1f70046c
0x1f700470
0x1f700474
0x1f700478
0x1f70047c
0x1f700480
0x1f700484
0x1f700488
0x1f70048c
0x1f700490
0x1f700494
0x1f700498
0x1f70049c
0x1f7004a0
0x1f7004a4
0x1f7004a8
0x1f7004ac
0x1f7004b0
0x1f7004b4
0x1f7004b8
0x1f7004bc
0x1f7004c0
0x1f7004c4
0x1f7004c8
0x1f7004cc
0x1f7004d0
0x1f7004d4
0x1f7004d8
0x1f7004dc
0x1f7004e0
0x1f7004e4
0x1f7004e8
0x1f7004ec
0x1f7004f0
0x1f7004f8
0x1f7004f8
0x1f7004fc
0x1f700500
0x1f700504
0x1f700508
0x1f70050c
0x1f700510
0x1f700514
0x1f700518
0x1f70051c
0x1f700520
0x1f700524
0x1f700528

#phy read
0x0
0x1
0x2
0x3
0x4
0x5
0x6
0x16
0x17
0x18
0x19

#phy write
0x18

##Group 
ip30_bridge_poke -d 0xFFFFFFFF -l 2
ip30_bridge_peek -l 2
ip30_xbow_poke -d 0xFFFFFFFF -l 2
ip30_xbow_peek  -l 2
ip30_heart_poke -d 0xFFFFFFFFFFFFFFFF -l 2
ip30_heart_peek -l 2
ip30_ioc3_poke -d 0xFFFFFFFF -l 2
ip30_ioc3_peek -l 2
ip30_duart_poke -d 0xFF -l 2
ip30_duart_peek -l 2
ip30_scsi_poke -d 0xFFFFFFFF -l 2
ip30_scsi_peek -l 2
ip30_rad_poke -d 0xFFFFFFFF -l 2
ip30_rad_peek -l 2
ip30_phy_poke -d 0xFFFFFFFF -l 2
ip30_phy_peek -l 2

### REG PEEK
ip30_reg_peek -a h -o 0x18000000 #first addr
ip30_reg_peek -a h -o 0x18000070 -l 2 #middle
ip30_reg_peek -a h -o 0xFF30000 #last addr
ip30_reg_peek -a h -o 0xAAA0000 #error

ip30_reg_peek -a b -o 0x4
ip30_reg_peek -a b -o 0x154 -l 3
ip30_reg_peek -a b -o 0x27C
ip30_reg_peek -a b -o 0x27D #error

ip30_reg_peek -a x -o 0x4
ip30_reg_peek -a x -o 0x154 -l 3
ip30_reg_peek -a x -o 0x2E4
ip30_reg_peek -a x -o 0x2E5 #error

ip30_reg_peek -a i -o 0x1f022000
ip30_reg_peek -a i -o 0x1f6000e0
ip30_reg_peek -a i -o 0x1f600144
ip30_reg_peek -a i -o 0x1f600148	#error

ip30_reg_peek -a d -o 0x1f620152
ip30_reg_peek -a d -o 0x1f620177
ip30_reg_peek -a d -o 0x1f62017f
ip30_reg_peek -a d -o 0x1f620180	#error

ip30_reg_peek -a s -o 0x1f020000
ip30_reg_peek -a s -o 0x1f020010
ip30_reg_peek -a s -o 0x1f40000c
ip30_reg_peek -a s -o 0x1f40000D 	#error

ip30_reg_peek -a r -o 0x1f023000
ip30_reg_peek -a r -o 0x1f700468
ip30_reg_peek -a r -o 0x1f700528
ip30_reg_peek -a r -o 0x1f70052A  #error

ip30_reg_peek -a p -o 0x0
ip30_reg_peek -a p -o 0x6
ip30_reg_peek -a p -o 0x19
ip30_reg_peek -a p -o 0x20  #error

### REG POKE
ip30_reg_poke -a h -o 0x18000028 -d 0x0    #exception
ip30_reg_poke -a h -o 0x18000028 -d 0xa5a5a5a5a5a5a5a5  #first addr
ip30_reg_poke -a h -o 0xFF10000 -l 2 -d 0xFFFFFFFFFFFFFFFF	#middle
ip30_reg_poke -a h -o 0xFF30000 -d 0xFFFFFFFFFFFFFFFF #last addr
ip30_reg_poke -a h -o 0xAAA0000 #error

ip30_reg_poke -a b -o 0x2C -d 0xa5a5a5a5a5a5a5a5
ip30_reg_poke -a b -o 0x14C  -d 0x0 -l 3
ip30_reg_poke -a b -o 0x23C  -d 0xFFFFFFFF
ip30_reg_poke -a b -o 0x27D #error

ip30_reg_poke -a x -o 0x24 -d 0xa5a5a5a5a5a5a5a5
ip30_reg_poke -a x -o 0x11C -d 0x0
ip30_reg_poke -a x -o 0x2E4 -d 0xFFFFFFFF
ip30_reg_poke -a x -o 0x2E5 #error

ip30_reg_poke -a i -o 0x1f600080 -d 0xa5a5a5a5
ip30_reg_poke -a i -o 0x1f6000c4 -d 0x0
ip30_reg_poke -a i -o 0x1f600144 -d 0xFFFFFFFF
ip30_reg_poke -a i -o 0x1f600148   #error

ip30_reg_poke -a d -o 0x1f620152 -d 0xa5
ip30_reg_poke -a d -o 0x1f620177 -d 0x0
ip30_reg_poke -a d -o 0x1f62017f -d 0xFF
ip30_reg_poke -a d -o 0x1f620180	#error

ip30_reg_poke -a s -o 0x1f20000C  -d 0xFF
ip30_reg_poke -a s -o 0x1f40000C  -d 0x0
ip30_reg_poke -a s -o 0x1f20000D	#error

ip30_reg_poke -a r -o 0x1f700400 -d 0xa5
ip30_reg_poke -a r -o 0x1f700468 -d 0xFFFFFFFF
ip30_reg_poke -a r -o 0x1f700528 -d 0x0
ip30_reg_poke -a r -o 0x1f70052A  #error

ip30_reg_poke -a p -o 0x18 -d 0xFFFFFFFF
ip30_reg_poke -a p -o 0x20  #error
