# HG changeset patch # User Michael Spacefalcon # Date 1366848531 0 # Node ID 2e3cecd6716cb841cabc61a3c737e6adc237dfc7 # Parent 3443b1b08af499607000f7a8accd7680c85a0253 boot ROM re: unraveling the response message routine diff -r 3443b1b08af4 -r 2e3cecd6716c bootrom.disasm --- a/bootrom.disasm Wed Apr 24 23:49:39 2013 +0000 +++ b/bootrom.disasm Thu Apr 25 00:08:51 2013 +0000 @@ -126,7 +126,7 @@ 17c: 000001c0 180: 000001a4 184: 00000188 -; case 9: +case 9: 188: e3a0c042 mov r12, #66 ; 0x42 'B' 18c: e5c0c001 strb r12, [r0, #1] 190: e3a01002 mov r1, #2 ; 0x2 @@ -134,85 +134,85 @@ 198: e5dc2000 ldrb r2, [r12] 19c: eb000458 bl 0x1304 1a0: e8bd8000 ldmia sp!, {pc} - - 1a4: e3a0c062 mov r12, #98 ; 0x62 +case 8: + 1a4: e3a0c062 mov r12, #98 ; 0x62 'b' 1a8: e5c0c001 strb r12, [r0, #1] 1ac: e3a01002 mov r1, #2 ; 0x2 - 1b0: e59fcc58 ldr r12, [pc, #3160] ; 0xe10 + 1b0: e59fcc58 ldr r12, =0x800520 ; via 0xe10 1b4: e5dc2000 ldrb r2, [r12] 1b8: eb000451 bl 0x1304 1bc: e8bd8000 ldmia sp!, {pc} - - 1c0: e3a0c061 mov r12, #97 ; 0x61 +case 7: + 1c0: e3a0c061 mov r12, #97 ; 0x61 'a' 1c4: e5c0c001 strb r12, [r0, #1] 1c8: e3a01002 mov r1, #2 ; 0x2 - 1cc: e59fcc3c ldr r12, [pc, #3132] ; 0xe10 + 1cc: e59fcc3c ldr r12, =0x800520 ; via 0xe10 1d0: e5dc2000 ldrb r2, [r12] 1d4: eb00044a bl 0x1304 1d8: e8bd8000 ldmia sp!, {pc} - - 1dc: e3a0c043 mov r12, #67 ; 0x43 +case 6: + 1dc: e3a0c043 mov r12, #67 ; 0x43 'C' 1e0: e5c0c001 strb r12, [r0, #1] - 1e4: e59fcc18 ldr r12, [pc, #3096] ; 0xe04 + 1e4: e59fcc18 ldr r12, =0x800518 ; via 0xe04 1e8: e5dc1010 ldrb r1, [r12, #16] 1ec: e5c01002 strb r1, [r0, #2] 1f0: e5dc2008 ldrb r2, [r12, #8] 1f4: e3a01003 mov r1, #3 ; 0x3 1f8: eb000441 bl 0x1304 1fc: e8bd8000 ldmia sp!, {pc} - - 200: e3a0c063 mov r12, #99 ; 0x63 +case 5: + 200: e3a0c063 mov r12, #99 ; 0x63 'c' 204: e5c0c001 strb r12, [r0, #1] - 208: e59fcbf4 ldr r12, [pc, #3060] ; 0xe04 + 208: e59fcbf4 ldr r12, =0x800518 ; via 0xe04 20c: e5dc1010 ldrb r1, [r12, #16] 210: e5c01002 strb r1, [r0, #2] 214: e5dc2008 ldrb r2, [r12, #8] 218: e3a01003 mov r1, #3 ; 0x3 21c: eb000438 bl 0x1304 220: e8bd8000 ldmia sp!, {pc} - - 224: e3a0c057 mov r12, #87 ; 0x57 +case 4: + 224: e3a0c057 mov r12, #87 ; 0x57 'W' 228: e5c0c001 strb r12, [r0, #1] - 22c: e59fcbd0 ldr r12, [pc, #3024] ; 0xe04 - 230: e5dc1019 ldrb r1, [r12, #25] + 22c: e59fcbd0 ldr r12, =0x800518 ; via 0xe04 + 230: e5dc1019 ldrb r1, [r12, #25] ; read 800531 234: e5c01002 strb r1, [r0, #2] 238: e5dc2008 ldrb r2, [r12, #8] 23c: e3a01003 mov r1, #3 ; 0x3 240: eb00042f bl 0x1304 244: e8bd8000 ldmia sp!, {pc} - - 248: e3a0c077 mov r12, #119 ; 0x77 +case 3: + 248: e3a0c077 mov r12, #119 ; 0x77 'w' 24c: e5c0c001 strb r12, [r0, #1] 250: e3a01002 mov r1, #2 ; 0x2 - 254: e59fcbb4 ldr r12, [pc, #2996] ; 0xe10 + 254: e59fcbb4 ldr r12, =0x800520 ; via 0xe10 258: e5dc2000 ldrb r2, [r12] 25c: eb000428 bl 0x1304 260: e8bd8000 ldmia sp!, {pc} - - 264: e3a0c050 mov r12, #80 ; 0x50 +case 2: + 264: e3a0c050 mov r12, #80 ; 0x50 'P' 268: e5c0c001 strb r12, [r0, #1] 26c: e3a01002 mov r1, #2 ; 0x2 - 270: e59fcb98 ldr r12, [pc, #2968] ; 0xe10 + 270: e59fcb98 ldr r12, =0x800520 ; via 0xe10 274: e5dc2000 ldrb r2, [r12] 278: eb000421 bl 0x1304 27c: e8bd8000 ldmia sp!, {pc} - - 280: e3a0c070 mov r12, #112 ; 0x70 +case 1: + 280: e3a0c070 mov r12, #112 ; 0x70 'p' 284: e5c0c001 strb r12, [r0, #1] 288: e3a0c000 mov r12, #0 ; 0x0 28c: e5c0c002 strb r12, [r0, #2] 290: e3a0c004 mov r12, #4 ; 0x4 294: e5c0c003 strb r12, [r0, #3] 298: e3a01004 mov r1, #4 ; 0x4 - 29c: e59fcb6c ldr r12, [pc, #2924] ; 0xe10 + 29c: e59fcb6c ldr r12, =0x800520 ; via 0xe10 2a0: e5dc2000 ldrb r2, [r12] 2a4: eb000416 bl 0x1304 2a8: e8bd8000 ldmia sp!, {pc} - - 2ac: e3a0c069 mov r12, #105 ; 0x69 +case 0: + 2ac: e3a0c069 mov r12, #105 ; 0x69 'i' 2b0: e5c0c001 strb r12, [r0, #1] 2b4: e3a01002 mov r1, #2 ; 0x2 - 2b8: e59fcb50 ldr r12, [pc, #2896] ; 0xe10 + 2b8: e59fcb50 ldr r12, =0x800520 ; via 0xe10 2bc: e5dc2000 ldrb r2, [r12] 2c0: eb00040f bl 0x1304 2c4: e8bd8000 ldmia sp!, {pc}