[A83] Re: something to talk about


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

[A83] Re: something to talk about




> ; b   = msb of map sprites for row
> ; hl  = tile map start
> ; b'  = msb of left shift table for map
> ; de' = video buffer
> ; h'  = msb of right shift table for map
> 
>  ld c,(hl)  ; load map tile
>  inc hl     ; next map tile
>  ld a,(bc)  ; load map sprite
>  exx
>  ld l,a     ; point to right shifted byte
>  ld a,(bc)  ; load left shifted byte from previous tile
>  ld c,l     ; point to this byte in left shift table for next time
>  or (hl)    ; combine with right shifted byte
>  ld (de),a  ; write left byte to video buffer
>  inc e      ; next video buffer position
>  exx

Okay. Let's say I want to implement this in Death Rally. However, I have
16 16x16 tiles, which adds up to 512 bytes (or 64 small tiles, if you
want to put it that way). That's twice as much as this routine can handle
in its present form. It seems that I would run out of registers quite
fast... :(

> Imho, it is much more enjoyable to program for the 86 than the 83.
But programming the 83 means a greater challenge, which is really
inspiring. :)

PG
--
http://fastmail.fm - Same, same, but different...



Follow-Ups: