A82: Re: This challenge is over
[Prev][Next][Index][Thread]
A82: Re: This challenge is over
The problem is that the routine at $6602 in ROM version 19 is placed at
65FC in ROM version 16. So to make sure that the function would work with
all ROM version this had to be handled. The code look like this:
ROM version 19:
JR $6665 ; 6600
DI ; 6602
LD C,$20 ; 6603
LD A,$80 ; 6605
CALL $7F3 ; 6607
ROM version 16:
DI ; 65FC
LD C,$20 ; 65FD
LD A,$80 ; 65FF
CALL $7F3 ; 6601
IT is not possible to call an addr before 6601 (ROM version 19) because of
the jr, and if you chose a addr after 6601 you have to include more code
in your program. Calling 6601 in ROM version 19 means that you end up in
the middle of the jr, but the bytre you call is $63 which is LD H,E so it
does not matter. IN ROM version 16 you skip the first 3 instructions of
the function, but DI is not nessacary, so I just included the other two.
Dines
-----Original Message-----
From: Kouri Rosenberg <kouri@juno.com>
To: assembly-82@lists.ticalc.org <assembly-82@lists.ticalc.org>
Date: 14. august 1998 03:10
Subject: A82: This challenge is over
>
>Dines, I'm fairly sure, has won. I ended the "challenge" a little early,
>but hey, nobody else was gonna enter right? BTW, Dines could you explain
>yours a little?
>
> LD DE,$FFFF
> LD C,$20 ;Why do you need this?
> LD A,$80 ;Why do you need this?
> JP $6601
>
>I also did this:
>
> ld de,$FFFF
> jp $6602
>
>and it worked fine (the ROM page was still set to 5).
>
>_____________________________________________________________________
>You don't need to buy Internet access to use free Internet e-mail.
>Get completely free e-mail from Juno at http://www.juno.com
>Or call Juno at (800) 654-JUNO [654-5866]
>
__________________________________________
Dines Justesen
Email: c958362@student.dtu.dk
WWW : http://www.student.dtu.dk/~c958362/
__________________________________________