Re: A86: Help (was "See you guys!")


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

Re: A86: Help (was "See you guys!")




> This should be a fairly simple question...
>
> How do you do name strings for A-shell in 86 Assembly.. You know how the
> name can be dispalyed along the bottom bar.  Mario86 does this but I
> haven't seen many others that do...

Explained in both the ASE and Rascall docs.  Start your program like this:

 nop
 jp Start
 .dw 0      ; version 0 of the table
 .dw Title  ; pointer to null-terminated title string

Title:
 .db "My program!",0

YAS includes icons, and you do it like this (explained in the YAS docs):

 nop
 jp Start
 .dw 1      ; version 1
 .dw Title  ; ...
 .dw Icon   ; pointer to icon data

Icon:
 .db 8,1         ; height, width (bytes, not bits)
 .db %000000001
 ...

> Also how do you go about writing _vput strings to video memory without
> having them print to the LCD automatically..

You can have small font write to either $fc00 or _plotSScreen (graph
screen).  To have _vputs (actually _vputmap, _vputs calls _vputmap to do the
work) write to _plotSScreen, set the flag like this:

 set textwrite,(iy+new_grf_flgs)

Once you're ready to display your text, just copy it to video ram ($fc00):

 ld hl,_plotSScreen
 ld de,$fc00
 ld bc,1024
 ldir

Make sure you reset the flag when before the program exits, or ALL the menus
will appear blank!  (this is a cool trick to make people think the calc is
empty or broken)

 res textwrite,(iy+new_grf_flgs)

And because I'm sure you'll ask, you should clear the graph screen before
drawing any small text, because it probably has junk on it:

 ld hl,_plotSScreen
 ld de,_plotSScreen+1
 ld bc,1023
 ld (hl),0
 ldir

--
David Phillips <david@acz.org>
http://www.acz.org/




References: