Re: A82: How to use _GRBUFCPY_V with ash ?


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

Re: A82: How to use _GRBUFCPY_V with ash ?



At 01:55 AM 8/12/97 +0200, you wrote:
>Tell me if I'm wrong,
>I think that _GRBUFCPY_V can be use by:
>	1-putting some bits into the graph_mem memory
>	2-make a ROM_CALL to put the graph_mem to screen
>Can Someone give me an example of how to use _GRBUFCPY_V with ash ?
>What is the address in rom to call ?
>I have a ROM v18.
>(I'd like to make some black rectangles on the screen very fast,I've
>tried Point_on but it is very slow)

There are a few examples of how to do this with Ash.  This bit of code came
from ShowPic, included in the ash zip.

CopyGraph:              ; Copies graph mem, $88B8, to the LCD very quickly!
        DI
        LD HL,$88B8     ; The address of graph memory
        LD A,7
        CALL $7F3
        OUT ($10),A
        LD A,$80
LineLoop:
        LD D,A          ; Save currect coloum
        CALL $7F3
        OUT ($10),A
        LD A,$20        ; Goto top
        CALL $7F3
        OUT ($10),A
        LD BC,$0C11     ; 40 bytes to port 10
WriteLoop:              ; Write them
        NEG
        NEG
        NEG
        NEG
        OUTI
        JR NZ,WriteLoop
        LD A,D
        INC A
        CP $C0
        JR NZ,LineLoop
        EI
        RET

If you want to put graphics more than one or two pixels in width or height
onto the screen, you should probably investigate one of the sprite routines
available in the source already released for Ash or OShell. Alien.asm
(although it is for OShell, the sprite routine can be used with no or
extremely minor changes) contains a nice one originally written by Jimmy
Mardell for ZShell (It is called PutSprite).

	-Andrew


Follow-Ups: References: