| jetpac | Routines | 
| Prev: 7302 | Up: Map | Next: 733f | 
  | 
||||||||
| 7309 | ld a,($5cf3) | Game options | ||||||
| 730c | bit 1,a | Use Joystick? | ||||||
| 730e | jr nz,$7302 | Jump if so | ||||||
| 
 
Read bottom-left row of keys.
 
 | 
||||||||
| 7310 | ld a,$fe | Row: Shift,Z,X,C,V | ||||||
| 7312 | out ($fd),a | Set port for reading keyboard | ||||||
| 7314 | in a,($fe) | ...and read that row of keys | ||||||
| 7316 | and $1e | |||||||
| 7318 | cp $1e | Check if any keys on the row are pressed | ||||||
| 731a | jr z,$7324 | Jump if not - read inputs again | ||||||
| 731c | and $14 | Reset all bits except X and V keys (RIGHT keys) | ||||||
| 731e | cp $14 | Check if neither are pressed (reset) | ||||||
| 7320 | jr z,$7336 | If so, a LEFT key was pressed: Z and C | ||||||
| 7322 | jr $7339 | else RIGHT key was pressed: X and V | ||||||
| 
 
Read bottom-right row of keys.
 
 | 
||||||||
| 7324 | ld a,$7f | Row: B,N,M.Sym,Sp | ||||||
| 7326 | out ($fd),a | Set port for reading keyboard | ||||||
| 7328 | in a,($fe) | ...and read that row of keys | ||||||
| 732a | and $1e | |||||||
| 732c | cp $1e | Check if any keys on the row are pressed | ||||||
| 732e | jr z,$733c | Jump if not - no input detected. | ||||||
| 7330 | and $14 | Reset all bits except B and M keys (LEFT keys) | ||||||
| 7332 | cp $14 | Check if neither are pressed (reset) | ||||||
| 7334 | jr z,$7339 | If so, a RIGHT key was pressed: N and Sym | ||||||
| 7336 | ld a,$ef | A=LEFT_KEY : 1110 1111 | ||||||
| 7338 | ret | |||||||
| 7339 | ld a,$f7 | A=RIGHT_KEY : 1111 0111 | ||||||
| 733b | ret | |||||||
| 733c | ld a,$ff | A=No input detected | ||||||
| 733e | ret | |||||||
| Prev: 7302 | Up: Map | Next: 733f |