| Routines

01343: THE 'SA/LD-RET' SUBROUTINE

Used by the routines at SA_BYTES and LD_BYTES. This subroutine is common to both saving and loading. The border is set to its original colour and the BREAK key tested for a last time.
Input
F | Carry flag reset if there was a loading error
SA_LD_RET | 01343 | PUSH AF | Save the carry flag. (It is reset after a loading error.)
| 01344 | LD A,(23624) | Fetch the original border colour from its system variable (BORDCR).
| 01347 | AND 56
| 01349 | RRCA | Move the border colour to bits 2, 1 and 0.
| 01350 | RRCA
| 01351 | RRCA
| 01352 | OUT (254),A | Set the border to its original colour.
| 01354 | LD A,127 | Read the BREAK key for a last time.
| 01356 | IN A,(254)
| 01358 | RRA
| 01359 | EI | Enable the maskable interrupt.
| 01360 | JR C,SA_LD_END | Jump unless a break is to be made.
Report D - BREAK-CONT repeats.
| 01362 | RST 8 | Call the error handling routine.
| 01363 | DEFB 12
Continue here.
SA_LD_END | 01364 | POP AF | Retrieve the carry flag.
| 01365 | RET | Return to the calling routine.