| Paradise Café | Routines |
| Prev: 8800 | Up: Map |
|
Used by the routine at the_end.
|
|||||||
| compara_score_com_highscore | 8900 | LD HL,($C346) | Le primeiros dois valores (yyXX) do score em HL | ||||
| 8903 | LD DE,($C342) | Le primeiros dois valores (yyXX) do highscore em DE | |||||
| 8907 | LD A,H | Le o primeiro valor (yXXX) do score em A | |||||
| 8908 | SUB D | Subtrai com D - primeiro valor (XyXX) do highscore | |||||
| 8909 | RET C | Se der a volta (D > A - Carry = 1) sai | |||||
| 890A | LD A,H | A = (yXXX) do score | |||||
| 890B | CP D | Compara com D (yXXX) do highscore | |||||
| 890C | JP NZ,compara_score_com_highscore_0 | Se for diferente salta para compara_score_com_highscore_0 | |||||
| 890F | LD A,L | A = (XyXX) do score | |||||
| 8910 | SUB E | Subtrai E - (XyXX) do highscore | |||||
| 8911 | RET C | Se der a volta (E > A - Carry = 1) sai | |||||
| 8912 | LD A,L | A = (XyXX) do score | |||||
| 8913 | CP E | Compara com E (XyXX) do highscore | |||||
| 8914 | JP NZ,compara_score_com_highscore_0 | Se for diferente salta para compara_score_com_highscore_0 | |||||
| 8917 | LD HL,($C348) | Le os segundos dois valores (XXyy) do score em HL | |||||
| 891A | LD DE,($C344) | Le os segundos dois valores (XXyy) do highscore em DE | |||||
| 891E | LD A,H | Le o terceiro valor (XXyX) do score em A | |||||
| 891F | SUB D | Subtrai com D - terceiro valor (XXyX) do highscore | |||||
| 8920 | RET C | Se der a volta (D > A - Carry = 1) sai | |||||
| 8921 | LD A,H | A = (XXyX) do score | |||||
| 8922 | CP D | Compara com D (XXyX) do highscore | |||||
| 8923 | JP NZ,compara_score_com_highscore_0 | Se for diferente salta para compara_score_com_highscore_0 | |||||
| 8926 | LD A,L | A = (XXXy) do score | |||||
| 8927 | SUB E | Subtrai com E - (XXXy) do highscore | |||||
| 8928 | RET C | Se der a volta (E > A - Carry = 1) sai | |||||
| 8929 | LD A,L | A = (XXXy) do score | |||||
| 892A | CP E | Compara com E (XXXy) do highscore | |||||
| 892B | JP NZ,compara_score_com_highscore_0 | Se for diferente salta para compara_score_com_highscore_0 | |||||
| 892E | RET | Sai | |||||
| compara_score_com_highscore_0 | 892F | LD DE,$3C00 | Define CHARS em $3C00 | ||||
| 8932 | CALL de_to_chars | ||||||
| 8935 | LD HL,$89D2 | Desenha frame_record_introduza_nome | |||||
| 8938 | CALL desenhaFrameHL | ||||||
| compara_score_com_highscore_1 | 893B | LD HL,$89A6 | Endereço do recordista em HL | ||||
| 893E | LD A,$16 | (PRINT AT) | |||||
| 8940 | RST $10 | ||||||
| 8941 | LD A,$0C | Y = 12 | |||||
| 8943 | RST $10 | ||||||
| 8944 | LD A,$00 | X = 0 | |||||
| 8946 | RST $10 | ||||||
| 8947 | LD A,$10 | INK | |||||
| 8949 | RST $10 | ||||||
| 894A | LD A,$06 | Amarelo | |||||
| 894C | RST $10 | ||||||
| 894D | LD B,$20 | Mete B = $20 (32) - Numero de letras permitidas | |||||
| compara_score_com_highscore_2 | 894F | PUSH BC | Guarda BC e HL na Stack | ||||
| 8950 | PUSH HL | ||||||
| 8951 | CALL espera_por_keypress | ||||||
| 8954 | POP HL | Tira HL e BC da Stack | |||||
| 8955 | POP BC | ||||||
| 8956 | LD A,($C34C) | Carrega ultima tecla pressionada em A | |||||
| 8959 | CP $0D | Se pressionou ENTER salta para compara_score_com_highscore_3 | |||||
| 895B | JP Z,compara_score_com_highscore_3 | ||||||
| 895E | PUSH BC | ||||||
| 895F | LD (HL),A | Escreve o valor de A na posicao de memoria de HL | |||||
| 8960 | RST $10 | Printa a letra pressionada | |||||
| 8961 | NOP | ||||||
| 8962 | NOP | ||||||
| 8963 | INC HL | Incrementa HL | |||||
| 8964 | POP BC | ||||||
| 8965 | DJNZ compara_score_com_highscore_2 | Decrementa B se for diferente de 0 salta para compara_score_com_highscore_2 | |||||
| compara_score_com_highscore_3 | 8967 | PUSH BC | |||||
| 8968 | PUSH HL | ||||||
| 8969 | LD HL,$8A09 | Desenha frame_esta_correcto_o_seu_nome | |||||
| 896C | CALL desenhaFrameHL | ||||||
| compara_score_com_highscore_4 | 896F | CALL espera_por_keypress | |||||
| 8972 | LD A,($C34C) | Carrega ultima tecla pressionada em A | |||||
| 8975 | CP $6E | Compara com $6E - "n" em ASCII | |||||
| 8977 | POP HL | ||||||
| 8978 | POP BC | ||||||
| 8979 | JP Z,compara_score_com_highscore_6 | Se for igual salta para compara_score_com_highscore_6 | |||||
| 897C | CP $73 | Compara com $73 - "s" em ASCII | |||||
| 897E | JP Z,compara_score_com_highscore_5 | Se for igual salta para compara_score_com_highscore_5 | |||||
| 8981 | PUSH BC | ||||||
| 8982 | PUSH HL | ||||||
| 8983 | JR compara_score_com_highscore_4 | Se carregar noutra qualquer salta para compara_score_com_highscore_4 | |||||
| compara_score_com_highscore_5 | 8985 | LD A,$20 | Define com $20 - um espaço, o que faltar da recordista ate que B seja 0 | ||||
| 8987 | LD (HL),A | ||||||
| 8988 | INC HL | ||||||
| 8989 | DJNZ compara_score_com_highscore_5 | ||||||
| 898B | LD HL,($C346) | Mete o highscore com o valor de score | |||||
| 898E | LD ($C342),HL | ||||||
| 8991 | LD HL,($C348) | ||||||
| 8994 | LD ($C344),HL | ||||||
| 8997 | LD A,$05 | Delay de 5 | |||||
| 8999 | CALL delay_em_A | ||||||
| 899C | RET | ||||||
| compara_score_com_highscore_6 | 899D | LD HL,$8A29 | Desenha frame_duas_linhas | ||||
| 89A0 | CALL desenhaFrameHL | ||||||
| 89A3 | JP compara_score_com_highscore_1 | ||||||
| Prev: 8800 | Up: Map |