Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - ralphdspam

Pages: 1 ... 34 35 [36] 37 38 ... 63
526
TI Z80 / Re: zStart - an app that runs on ram clears
« on: May 05, 2011, 09:58:41 pm »
Yeah, whenever I use one of the [ON] key combinations, it destroys DCS's homerun hook.  Also, this version's [ON] + [VARS] seems to be a bit unstable (cause a ram clear sometimes). 

527
Yeah, I couldn't get that glitch to work.  It's kind of similar to the weird fraction glitch nobody could replicate.  :\

IIRC, Wabbit does not emulate BSOD.

528
Introduce Yourself! / Re: Introduction!
« on: May 05, 2011, 09:35:43 pm »
* ralphdspam waves to Waave
Good luck with the BASIC and Axe coding.  :)

Have some peanuts:

529
ASM / Re: 4*4 Sprite Routine Optimization/Help
« on: May 05, 2011, 09:07:07 pm »
Zeda, I moved your routine to its own dedicated TypeWith.me page.  ;)
http://typewith.me/V0lEvy11lc

I also updated my first post with your link and the updated code.

530
ASM / Re: 4*4 Sprite Routine Optimization/Help
« on: May 05, 2011, 08:24:23 pm »
Thanks!  I will try this later.  :D

EDIT: I found out that AND can take imm8 values!  Saved myself a couple of bytes.  :)

531
TI Z80 / Re: zStart - an app that runs on ram clears
« on: May 05, 2011, 08:19:13 pm »
Can you add a key combination to run an app/pgrm of choice?  (like DCS's ON + App)

532
Miscellaneous / Re: I'm back
« on: May 05, 2011, 08:11:21 pm »
Welcome back!  I'm glad to see that this has been all sorted out.  :)

533
ASM / Re: What assembly languages do you know?
« on: May 04, 2011, 11:09:59 pm »
It can be cumbersome to store all of your 16 bit pointers to ram, though. 
On the other hand, the 6502 takes less T-States per instruction.  (Then again, you have to make more ram stores/reads.)

I also should learn x86.  I don't really know what to do with the extra 24 bits, though. :P

534
TI Z80 / Re: ThePenguin77's Game of Life
« on: May 04, 2011, 11:03:37 pm »
Wow!  Looks great! :)

Stop making epic programs. Give someone else a chance >:(

535
ASM / Re: 4*4 Sprite Routine Optimization/Help
« on: May 04, 2011, 10:46:34 pm »
Hmm... It's been 6 hours, right?  (This can also probably count as an update too.)

Here is the current routine:
EDIT: See above.  ;)

536
TI Z80 / Re: Online Z80 tables
« on: May 04, 2011, 09:28:31 pm »
Ah, I like the hi-lighting and searching.  :)

Can you, by any chance add T-states?

537
Humour and Jokes / Re: iNetham45
« on: May 04, 2011, 09:23:35 pm »
mmm lobsters. P:

538
Art / Re: Me + MS Paint = ?
« on: May 04, 2011, 09:14:02 pm »
That looks really nice!  :)

539
Computer Programming / Re: So I just got a C64.
« on: May 04, 2011, 09:10:11 pm »
Nice! :D
Fore some reason, I like to mess around with old computers. 

540
ASM / 4*4 Sprite Routine Optimization/Help
« on: May 04, 2011, 01:42:35 am »
Hi, I just made this 4*4 sprite routine aligned to a 16*24 (half pixel) grid.
Can anyone help with optimizations or suggestions?

http://typewith.me/BSgvbUFXDh

Code: [Select]
;==========
;XOR 4*4
;==========
;Inputs:
;ix = sprite address
;c = X Position
;b = Y Position
;Outputs:
;a = last line of sprite displayed
;b = 0
;c = X position (undestroyed ^^)
;de = 12
;hl = buffer location of sprite + 12 (next line)
;ix = sprite address + 2 (next sprite?)
;==========
;This was made to be a standalone program.
#ifdef bcall(xxxx)
;THE GAME
#else
#include "ti83plus.inc"
.org $9d93
.db t2ByteTok, tAsmCmp
#endif
;==========
;Just for testing purposes:
        bcall(_clrlcdfull)
        bcall(_runindicoff)
        bcall(_grbufclr)
       
        ld ix, x4sprite ;ix holds sprite address
        ld c, 1 ;c holds X location
        ld b, 1 ;b holds Y location
;==========
       
FourXOR:
       
        ld a, b       
        add a, a ;\A * 3
        add a, b ;/
        add a, a ;\A * 4
        add a, a ;/
       
        ld h, 0 ;A*2 is too large to fit into 8 bits, so we must use a 16 bit register.
        ld l, a       
        add hl, hl ;\A * 4
        add hl, hl ;/Align Y pos to the X4 grid.
       
        ld d, 0
        ld e, c       
        srl e ;Now, we are only concerned on the X8 alignment.  We will fine tune it to X4 later.
        add hl, de ;add X pos to Y pos

        ld de, plotsscreen ;Finally, we add the Buffer location.
        add hl, de
       
       
        ld b, 2 ;B*2 Pixels tall sprite       
        ld e, 12 ;Width of Screen
       
_FourDispByte:
        ld a, (ix) ;loads sprite at ix
        and %11110000 ;use left side of byte
       
        bit 0, c ;If X pos is an odd number, we have to shift to the right.
        jr z, _FourDispN1 ;if D is aligned to the byte, branch.  Else, shift sprite by 4.
       
        srl a ;shift sprite to the right 4 pixels.
        srl a
        srl a
        srl a
       
_FourDispN1:
        ld d, (hl)
        xor d ;xor sprite onto current buffer contents
        ld (hl), a
       
        ld d, 0 ;DE = 12
        add hl, de ;shift pen down one row
       
        ld a, (ix)
        and %00001111 ;It is on the right side of the byte.
       
        bit 0, c
        jr nz, _FourDispN2 ;if d is not aligned to the byte, branch.
       
        add a, a ;shift sprite to the left 4 pixels
        add a, a
        add a, a
        add a, a
       
_FourDispN2:
        ld d, (hl)
        xor d ;xor sprite onto current buffer contents
        ld (hl), a
       
        inc ix
        ld d, 0
        add hl, de
        djnz _FourDispByte
       
;==========
;More pseudo random stuff just for testing
        bcall(_grbufcpy)
        bcall(_getkey)
;==========
        ret
       
X4Sprite:
.db %10010110
.db %01101001

Also, Zeda's routines can be found here:
http://typewith.me/V0lEvy11lc

Runer112's routine:
http://typewith.me/Zv15SUf9Ve

Thanks.  :)

Pages: 1 ... 34 35 [36] 37 38 ... 63