RE: A85: Question


[Prev][Next][Index][Thread]

RE: A85: Question




GET_KEY modifies HL, in case you didn't know.  It sets it to $8000, or 
rather 32768.  That is the problem.  I've run in to that before.  You 
should read through the inputs and outputs of any routine you use in your 
code when you have a problem.  It will help you figure stuff like this out 
on your own better.  You'll save yourself time that way.

----------
From: 	Justin M Bosch[SMTP:justin-b@juno.com]
Sent: 	Saturday, December 19, 1998 3:42 AM
To: 	assembly-85@lists.ticalc.org
Subject: 	A85: Question


Something in the following section of code is corrupting the value of HL.
 When it starts it is a value depending on where the program is in
memory.  The second time HL is displayed, it is ALWAYS 32,768 (2^15).
The display and pause routines are only in the code temporarily so that I
can find whatever bug is causing HL to be messed up.  I cannot figure it
out and would really like some help.  Also, if anyone could tell me the
differnece between TR_CHARPUT and TX_CHARPUT I would be grateful.

; B = $CF
; DE = (x -1, y) for displaying arrow

        ...
        pop    hl                  ; HL = Game_Speed + 1
        call   &D_HL       ; Look at current value of HL
        call   &PAUSE         ; Pause to read it before moving ahead

Menu:

        inc    d                   ; X is now correct value
        ld     ($800C), de         ; Save coords for displaying left
arrow
        ld     a, b                ; Load left arrow character into A
        call   TX_CHARPUT          ; Display left arrow
        inc    d                   ; Move over two characters
        inc    d
        ld     ($800C), de         ; Save coords for displaying right
arrow
        ld     a, c                ; Load right arrow character into A
        call   TX_CHARPUT          ; Display right arrow
        dec    d                   ; Restore original coordinates

Menu_Loop:

        call   &D_HL       ; Look at current value of HL
        ...

D_HL:

        push   de       ; Save coordinates
        ld     de, $0000      ; Display at (0,0)
        ld     ($800C), de       ; Save new coordinates
        call   D_HL_DECI        ;Display HL
        pop    de          ; Restore HL
        ret

PAUSE:

        call   GET_KEY
        or     a
        jr     z, PAUSE         ; Loop until a key is pressed
        ret

___________________________________________________________________
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/getjuno.html
or call Juno at (800) 654-JUNO [654-5866]




begin 600 WINMAIL.DAT
M>)\^(@0&`0:0" `$```````!``$``0>0!@`(````Y 0```````#H``$-@ 0`
M`@````(``@`!!) &`$@!```!````# ````,``# #````"P`/#@`````"`?\/
M`0```%<`````````@2L?I+ZC$!F=;@#=`0]4`@````!A<W-E;6)L>2TX-4!L
M:7-T<RYT:6-A;&,N;W)G`%--5% `87-S96UB;'DM.#5 ;&ES=',N=&EC86QC
M+F]R9P``'@`", $````%````4TU44 `````>``,P`0```!T```!A<W-E;6)L
M>2TX-4!L:7-T<RYT:6-A;&,N;W)G``````,`%0P!`````P#^#P8````>``$P
M`0```!\````G87-S96UB;'DM.#5 ;&ES=',N=&EC86QC+F]R9R<```(!"S !
M````(@```%--5% Z05-314U"3%DM.#5 3$E35%,N5$E#04Q#+D]21P````,`
M`#D`````"P! .@$````"`?8/`0````0````````#PD$!"( '`!@```!)4$TN
M36EC<F]S;V9T($UA:6PN3F]T90`Q" $$@ $`$@```%)%.B!!.#4Z(%%U97-T
M:6]N`%$%`06 `P`.````S@<,`!D`%P`,`#<`!0!9`0$@@ ,`#@```,X'# `9
M`!<`"0`C``4`0@$!"8 !`"$````T.$$Y-C8X-S1%.4-$,C$Q044R-C0T-#4U
M,S4T,# P, #>!@$#D 8`- @``!(````+`",```````,`)@``````"P`I````
M```#`#8``````$ `.0`@E+?&EC"^`1X`< `!````$@```%)%.B!!.#4Z(%%U
M97-T:6]N`````@%Q``$````6`````;XPEL:OAV:I29Q.$=*N)D1%4U0`````
M'@`># $````%````4TU44 `````>`!\,`0```!L```!R:6-H87)D;&5W:7- 
M8V5D87)C:71Y+FYE= ```P`&$$81Q,(#``<0,@8``!X`"! !````90```$=%
M5$M%64U/1$E&24532$PL24Y#05-%64]51$E$3E1+3D]72513151325143R0X
M,# P+$]24D%42$52,S(W-CA42$%425-42$504D]"3$5-259%4E5.24Y43U1(
M051"149/4D4``````@$)$ $```"V!@``L@8``/4-``!,6D9U&D4P%?\`"@$/
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
&`````*O'
`
end



Follow-Ups: