Re: A86: Asm Questions that have been building up :)


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

Re: A86: Asm Questions that have been building up :)




>I guess it would be possible to make a TSR program to break out
>of an ASM program by pressing ON.


...is that what rascall uses?

>>Fairly Intelligent Questions
>>-------------------------------------
>>
>>For example, what is the APD? Does this involve the calc going into low
>>power mode? Does this also involve get_key or whatever, where a keypress
is
>>received in low power mode?
>
>APD = Auto Power Down = the calc turns off if no key has been pressed
>for some time. Low power mode is something different I think.
>To activate APD, you have to set some flag in IY land (I believe).
>
>>How are you guys so successful with disassembly? Are
>>there any tricks to this skill of reverse engineering? I am still amazed
>>Zshell was even made! and even the menus look fairly complicated, yet
>>someone out there managed to figure them out.. Damn
>
>To be good at disassembly is to figure out what some asm code is
>supposed to do.
>
>ZShell was more than just disassembling though...


how so?

>>What exactly is a token?
>
>I'm not sure if we're talking about the same thing, but every basic
>command is represented as a one-byte token when the program is
>"compiled". It takes some time to convert a program from pure ASCII
>to tokenized form.


Hmm.. I dont think so. I am thinking of the tokens like where a number
represents a command interpreter instruction, like

01 (convert to) Rec
02 (convert to) Pol
03 (convert to) Cyl
04 (convert to) Sph
05 (convert to) DMS
06 (convert to) Bin
07 (convert to) Hex
08 (convert to) Oct
09 (convert to) Dec
0A (convert to) Frac
0B (store arrow)
.
.

what is the purpose of this and how is it useful?

>Grayscales uses interrupts yes. You create an interrupt routine which
>changes the address to the LCD screen using port 0. Interrupts occurs
>very fast (200 times/sec) and when to pictures are flashing at 200hz,
>your eyes are fooled.


too bad the LCD screen has a slow refresh rate, especially when the
batteries are low


>Other uses are decreasing counters in games. In Sqrxz for instance,
>each frame is at a fixed speed. This is done by setting a timer
>to a number (3, 4 or 5 in Sqrxz depending on the speed you choose).
>The interrupt routine decrease this number if it's bigger than zero.
>At the end of the frame, the game waits until the timer reaches zero.
>That way, each frame takes at least 3 (4, 5)/200 sec. And since
>interrupts doesn't occur faster on turboed calcs, it's a good way
>to make games equally fast on both kind of calcs.


cool

>The HALT instruction can also be used, but it's not good sometimes
>because the delay part is always fixed. Using the above method,
>the delay part may change, depending on how much work is required
>to do the "gaming".


I don't understand. What generates the interrupt in the first place on the
grayscale pic, why is HALT useful? The grayscale program uses multiple
halts.. too.. so why would they do that?

>Andreas doesn't have a TI-86, and it doesn't seem he intends
>to get one either. Daedulus is being ported to the 86
>by Bill N. - right Bill? Daedulus could maybe be faster
>on the 86 - I think - because it has more RAM memory,
>and big lookup tables could be used. By using the memory
>area $4000-$BFFF as a 32k lookup table (for fast multiplication
>maybe), it could hopefully be fast enough to be enjoyable
>as well as just impressing :-)


That would be incredibly cool. The TI-86 has 4x the memory, they can
actually make a 3d game with enough room for a level or two :)



Follow-Ups: