Well althought i'm not from the Cemetech ellite i have one thing to purpose... Say that GraphicLib is not finish that's not new but i want it to be finished and if there is anyone that could help me here it will be grrat i'm forming a new group for this task... It will be compatible with MirageOS /ION DoorsCS and MacrodieOS1... If anyone wants to help me you can contack me under www.8xhost.com/fusionworks/forum
PS: In case you don't know this is an advanced 3D library for be used by 3d games and possible by other programs too....
regards rayden
Know any good applications tutorials for the ti83 plus? Possibly ones with a program running tutorial.
Know where to find appguru?
Appguru
xenonparadox wrote:
Know any good applications tutorials for the ti83 plus? Possibly ones with a program running tutorial.
Know where to find appguru?
GAHHHH HOLY EPIC OFFTOPIC THREE-YEAR NECROPOST. WTF MAN?!
I just noticed that. Wow. That has to be some kind of record.
DShiznit wrote:
I just noticed that. Wow. That has to be some kind of record.


It's not; I hold that record Very Happy
EmperorWiggy wrote:


Holy crap, someone uses my archives. XD
I'm not sure if I mentioned this before, but my dad's a drunk jerk and hates me getting on my mom's computer, which sucks because it's the only computer in our house with internet.Once every blue moon though she let's me get on while he's at work.So that's why I only reply once every 2 or 3 months.Anyway, since I've had so much time I took a few month's learning Asm and think I'm getting pretty good at it.But I'm still having some issues with these...

[code]
1)Running Programs - I might have learned this sooner if not for the fact that I can't find a single TI-83+ Tutorial on how to run programs and I haven't found a Romcall yet for one.
2)Compression - I'm not 100% sure how compression works however I do know it uses a sort of algarithm.Of course in a brainstorm I had trying to figure out how to go about this I thought...
"I'm not sure about hardware but, doesn't the OS convert the hexadecimal code to binary and send the bits to the processer?If so, would it be possible to write an OS the uses a base 256 coding? This would cut size of every program, picture, app, or any other data form in half."


The DCS source has been a great help in answering some of my questions.I actually used the stack routines (which surprisingly I found to be deal more with appvars and memory than stacks at all) in a oncalc game making app so as to have a games of varying sizes.The game maker is supposed to pair with a TI-Advance emulator I've been working on.It already includes a large text message displaying routine with character typing, selected typing speed, and wordwrap.A mapping routine that uses both tile coordinates and pixels coordinates as locations on a map.The routine is maybe 20 lines long and can display smooth scrolling map (and I mean pixel-by-pixel smooth scrolling!) it can display both animated and unanimated maps, and is 100% compatible with CalcGS.Well, just take a look at all the custom routines...

;-----> SetTileset
;input: hl=tileset
;desc: sets the tileset to be used by the map routines
SetTileset:
ld de,0

;-----> SetAnimTileset
;input: hl=tileset
; de=animdata
;desc: sets the animated tileset to be used by the map routines
SetAnimTileset:
ld (tiledata),hl
ld (animdata),de
ret

;-----> SetMap
;input: hl=map
; d=map width (in tiles)
; e=map height (in tiles)
SetMap:
ld (map),hl
ld a,d
ld (mapwidth),a
ld a,e
ld (mapheight),a
ret

;-----> TileCoord
;input: h=x l=y (tile coordinates)
;output:h=x l=y (pixel coordinates)
;desc: converts tile coordinates to pixel coordinates
TileCoord:
push af
ld a,h
add a,a
add a,a
add a,a
ld h,a
ld a,l
add a,a
add a,a
add a,a
ld l,a
pop af
ret

;-----> DrawTile
;input: (hl) = tile
; d=x e=y
;desc: clips and draws the tile in hl
DrawTile:
push de
ld a,(hl)
ld h,0 \ ld l,a
add hl,hl
add hl,hl
add hl,hl
ld bc,(tiledata)
add hl,bc
push hl \ pop ix
pop de

;-----> ClippedSprite
;input: ix=sprite
; d=x e=y
;desc: displays a clipped 8x8 sprite.
ClippedSprite:
ld b,8
ld a,%11111111
ld (clip_mask),a
ld a,e
or a
jp m,ClipTop
sub 64
ret nc
neg
cp b
jr nc,VertClipDone
ld b,a
jr VertClipDone
ClipTop:
ld a,b
neg
sub e
ret nc
push af
add a,b
ld e,0
ld b,e
ld c,a
add ix,bc
pop af
neg
ld b,a
VertClipDone:
ld c,0
ld a,d
cp -7
jr nc,ClipLeft
cp 96
ret nc
cp 89
jr c,HorizClipDone
ClipRight:
and 7
ld c,a
ld a,%11111111
FindRightMask:
add a,a
dec c
jr nz,FindRightMask
ld (clip_mask),a
ld a,d
jr HorizClipDone
ClipLeft:
and 7
ld c,a
ld a,%11111111
FindLeftMask:
add a,a
dec c
jr nz,FindLeftMask
cpl
ld (clip_mask),a
ld a,d
add a,96
ld c,12
HorizClipDone:
ld h,0
ld d,h
ld l,e
add hl,hl
add hl,de
add hl,hl
add hl,hl
ld e,a
srl e
srl e
srl e
add hl,de
ld de,gbuf
add hl,de
ld d,0
ld e,c
sbc hl,de
and 7
jr z,_Aligned
ld c,a
ld de,11
_RowLoop:
push bc
ld b,c
ld a,(clip_mask)
and (ix)
ld c,0
_ShiftLoop:
srl a
rr c
djnz _ShiftLoop
xor (hl)
ld (hl),a
inc hl
ld a,c
xor (hl)
ld (hl),a
add hl,de
inc ix
pop bc
djnz _RowLoop
ret
_Aligned:
ld de,12
_PutLoop:
ld a,(ix)
xor (hl)
ld (hl),a
inc ix
add hl,de
djnz _PutLoop
ret

;-----> DrawBG
;input: h=x l=y (top-left corner)
;desc: draws the map using tile coordinates
DrawBG:
call TileCoord

;-----> DrawTrueBG
;input: h=x l=y (top-left corner)
;desc: draws the map using the true pixel coordinates
DrawTrueBG:
ld a,h
ld (mapx),a
ld a,l
ld (mapy),a
ld de,0
ld a,(mapheight)
ld b,a
dm_yloop:
push bc
ld a,(mapwidth)
ld b,a
dm_xloop:
push bc \ push de
call GetTrueTile
ld a,(mapx)
ld b,a
ld a,d
sub b
ld d,a
ld a,(mapy)
ld b,a
ld a,e
sub b
ld e,a
call DrawTile
pop de
ld a,8
add a,d
ld d,a
pop bc
djnz dm_xloop
ld d,0
ld a,8
add a,e
ld e,a
pop bc
djnz dm_yloop
ld hl,(animdata)
ld a,h
or l
ret z
ld a,(mapwidth)
ld h,0 \ ld l,a
ld a,(mapheight)
ld d,0 \ ld e,a
call multhlde
push hl
pop bc
ld hl,(map)
ua_loop:
push hl
ld a,(hl)
ld h,0 \ ld l,a
ld de,(animdata)
add hl,de
ld a,(hl)
pop hl
ld (hl),a
inc hl
dec bc
ld a,b
or c
jr nz,ua_loop
ret

;-----> GetTile
;input: h=x l=y (tile coordinates)
;output:hl=tileloc
; a=tile
; d=x e=y (pixel coordinates)
GetTile:
call TileCoord

;-----> GetTrueTile
;input: h=x l=y (pixel coordinates)
;output:hl=tileloc
; a=tile
; d=x e=y (pixel coordinates)
GetTrueTile:
push de
ex de,hl
push hl
ld l,8
call divhl
ld b,h
pop hl
ld h,l \ ld l,8
call divhl
ld c,h
ld hl,(map)
ld a,(mapwidth)
ld d,0 \ ld e,a
or a
sbc hl,de
push bc
ld b,c
inc b
gt_yloop:
add hl,de
djnz gt_yloop
pop bc
ld c,b \ ld b,0
add hl,bc
ld a,(hl)
pop de
ret

;-----> Cinema
;input: hl=cinema data (in pixel coordinate format)
;desc: draws a cinematic sequence using coordinates in the cinema data
; cinema is set up as, #frames,delayamt,x,y,x,y,x,y,x,y,etc.
cinema:
ld a,(hl)
ld b,a
inc hl
ld a,(hl)
ld c,a
ex de,hl
cinloop:
push bc
inc de
ld a,(de)
ld h,a
inc de
ld a,(de)
ld l,a
push de
push hl
bcall(_cleargbuf)
pop hl
call DrawTrueBG
bcall(_grbufcpy)
pop de
pop bc
push bc
ld b,c
call delayb
pop bc
djnz cinloop
ret

;-----> Earthquake
;input: b=quake length
; c=magnitude
;desc: draws an earthquake effect
earthquake:
ld a,(mapx)
ld h,a
ld a,(mapy)
ld l,a
push hl
quake:
push bc
push hl
bcall(_cleargbuf)
pop hl
push hl
call DrawTrueBG
bcall(_copygbuf)
halt \ halt
bcall(_cleargbuf)
pop hl
pop bc
push bc
push hl
ld a,h
sub c
ld h,a
call DrawTrueBG
bcall(_copygbuf)
halt \ halt
bcall(_cleargbuf)
pop hl
push hl
call DrawTrueBG
bcall(_copygbuf)
halt \ halt
bcall(_cleargbuf)
pop hl
pop bc
push bc
push hl
ld a,h
add a,c
ld h,a
call DrawTrueBG
bcall(_copygbuf)
pop hl
pop bc
djnz quake
pop hl
ret

;-----> Rotate90R
;input: de=sprite
; hl=storing location
;desc: Rotates the 8x8 sprite 90 degress to the right (clockwise)
; and stores it elsewhere.
Rotate90R:
ld b,8
rotateRloop:
push bc
ld a,(de)
ld b,8
push hl
RRbitloop:
rla
rr (hl)
inc hl
djnz RRbitloop
pop hl
inc de
pop bc
djnz rotateRRloop
ret

;-----> Rotate90L
;input: de=sprite
; hl=storing location
;desc: Rotates the 8x8 sprite 90 degress to the left (counter-clockwise)
; and stores it elsewhere.
Rotate90L:
ld b,8
rotateLloop:
push bc
ld a,(de)
ld b,8
push hl
RLbitloop:
rra
rl (hl)
inc hl
djnz RLbitloop
pop hl
inc de
pop bc
djnz rotateLloop
ret

;-----> FlipHoriz
;input: de=sprite
; hl=storing location
;desc: flips an 8x8 sprite horizontally and stores it elsewhere
FlipHoriz:
ld b,8
FHshiftloop:
push bc
ld b,8
ld a,(de)
FHbitloop:
rra
rl (hl)
djnz FHbitloop
inc hl
inc de
pop bc
djnz FHshiftloop
ret

;-----> FlipVert
;input: de=sprite
; hl=storing location
;desc: flips an 8x8 tile vertically and stores it elsewhere.
FlipVert:
ld bc,7
add hl,bc
ld b,8
FVfliploop:
ld a,(de)
ld (hl),a
inc de
dec hl
djnz FVfliploop
ret


tell me your thoughts, hopefully I'll be able to read them soon.
how do you find program data in archive using a page number? Please only answers since my phone cant download
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement