| Dynamite Dan | Routines |
| Prev: FEFA | Up: Map | Next: FF4E |
| FF2A | EX AF,AF' | Save the flags | ||
| FF2B | LD (IX+$00),L | Store the byte | ||
| FF2E | JR $FF30 | |||
| FF30 | DEC IX | Point to the previous byte | ||
| FF32 | DEC DE | Decrease the length | ||
| FF33 | EX AF,AF' | Restore flags | ||
| FF34 | LD B,$E3 | Set timing constant | ||
| FF36 | LD L,$01 | Clear bits in byte to collect | ||
| FF38 | CALL $FF4E | Get a tape edge | ||
| FF3B | RET NC | Return if it took too long | ||
| FF3C | LD A,$ED | See how quickly an edge was found. If less than ED, a 0 was found, otherwise a 1 | ||
| FF3E | CP B | |||
| FF3F | RL L | Store the relevant bit | ||
| FF41 | LD B,$E1 | Set timing constant for the next bit | ||
| FF43 | JP NC,$FF38 | Jump back while there are still bits to retrieve | ||
| FF46 | LD A,H | Update "parity matching" byte in H | ||
| FF47 | XOR L | |||
| FF48 | LD H,A | |||
| FF49 | LD A,D | Any more bytes to load? | ||
| FF4A | OR E | |||
| FF4B | JR NZ,$FF2A | Loop back if there are | ||
| FF4D | RET | All done | ||
| Prev: FEFA | Up: Map | Next: FF4E |