Re: A83: TSE nearing completion


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

Re: A83: TSE nearing completion




Here is a good, fast screen copy routine:

;==========

ScreenCopy:

  LD HL, $8E29
  LD A, 7
  CALL LCDOut
  LD A,$80

SC_LineLoop:

  LD D,A
  CALL LCDOut
  LD A,$20
  CALL LCDOut
  LD BC,$0C11

SC_WriteLoop:

  NEG
  NEG
  NEG
  OUTI
  JR NZ,SC_WriteLoop
  LD A,D
  INC A
  CP $C0
  JR NZ,SC_LineLoop
  RET

LCDOut:

  PUSH AF
  POP AF
  OUT ($10), A
  RET

;==========

Hope that comes in useful!

>     We are aproaching the day of the apocalypse, someone is about to
>release a new 'incompatible' shell. Soon (translates 'eventually'), TSE
>is going to be brought forth from the depths of hell. For days and
>nights (havn't slept for 72 hrs exlcuding a few short naps) I have
>slaved over MS-DOS edit turning a dream (nightmare?) into code (about
>1.5kb of it). I have consulted the holy books (TI-83+ SDK, AsmGuru, and
>How to program the Z80) and predicted what is to come. But enough of the
>occult...
>     Since the first TSE thread came to this list the project has
>undergone 2 major redesigns and 1 total rewrite. I'd estimate it's now
>about 75% complete. Since I first posted my fanciful ideas on shell
>design I've cut back on the useless stuff (PDM, Libraries, Event
>Handlers), made if feasable (Relocation Tables), and added some useful
>features (Task preservation). I expect to release it in about a week
>(hopefully) and more info will appear (as if by magic) then.
>     But first, I need some help... I need the following four routines:-
>
>_tseSmallSprite - A routine to draw variable height, 8 pixel wide
>sprites. I could get this by modifying the movax routine, is the movax
>routine the most optomised?
>
>_tseLargeSprite - A routine to draw variable height and width sprites. I
>could also modify the movax one but I don't know how optomised the
>result would be. Has anyone already coded a suitable routine that I
>could 'borrow'?
>
>_tseRandom - Something like ionRandom. I could make this using rom calls
>to the system floating point rountines and the put it in a register with
>_convop1. However, that would be very slow and some games use this
>routine a lot! Does anyone know how ION does this?
>
>_tseFastcopy - This should be fairly easy to do. But ionFastcopy claims
>it's 'FAST!' (presumably in comparison to the equivilent rom call), so I
>was wondering if there was some kind of trick to it?
>
>Any help with these would be greatly appreciated... Particulaly with the
>Large Sprite and Random routines. If you can provide me with a routine
>and I use it then of course I'll give you credit for it in the docs,
>etc...
>
>Thanks in advance
>--Robin Kay--




James Vernon
jimbob_v@hotmail.com

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com