[A83] Re: Official H**s Replacement Commands (OT)


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

[A83] Re: Official H**s Replacement Commands (OT)




Amazing.... if I programmed Nifty this way, I already had to make it a 
multipage app. Hm imagine 2k -> 32 k.

BTW, what assembler do you use?

> The hays site has been down for a week or so actually.
Weird I haven't seen it on ticalc.org's news ;-)

HRC 5a:
call/ret replacement:
call(xxxx) = 

ld hl,label
ld iy,0000 ;the hays push routine
add iy,sp
ld (iy+0),h
dec iy
ld (iy+0),l

ld hl,xxxx
jp (hl)
:label

ret =

ld iy,0000 ;the hays pop routine
add iy,sp
inc iy
ld (iy+0),l
inc iy
ld (iy+0),h
jp (hl)



> 
> Hmm, I was thinking more along the lines of recursion to clear the screen.
> Maybe something like this. I got a bit lazy in the clear loop though.
> 
> 	ld	a,plotsscreen >> 8
> 	call	SetHtoA
> 	ld	a,plotsscreen & 255
> 	call	SetLtoA
> 	ld	a,3
> 	call	SetBtoA
> 	call	SetAto0
> 	ld	a,0
> 	call	SetCtoA
> 	call	SetIXtoHL
> @clr	res	7,[ix]
> 	res	6,[ix]
> 	res	5,[ix]
> 	res	4,[ix]
> 	res	3,[ix]
> 	res	2,[ix]
> 	res	1,[ix]
> 	res	0,[ix]
> 	ld	a,ixl
> 	add	a,1
> 	ld	ixl,a
> 	ld	a,ixh
> 	adc	a,0
> 	ld	ixh,a
> 	ld	a,c
> 	sub	1
> 	ld	c,a
> 	ld	a,b
> 	sbc	a,0
> 	ld	b,a
> 	bit	7,b
> 	jr	nz,@skip
> 	bit	6,b
> 	jr	nz,@skip
> 	bit	5,b
> 	jr	nz,@skip
> 	bit	4,b
> 	jr	nz,@skip
> 	bit	3,b
> 	jr	nz,@skip
> 	bit	2,b
> 	jr	nz,@skip
> 	bit	1,b
> 	jr	nz,@skip
> 	bit	0,b
> 	jr	nz,@skip
> 	bit	7,c
> 	jr	nz,@skip
> 	bit	6,c
> 	jr	nz,@skip
> 	bit	5,c
> 	jr	nz,@skip
> 	bit	4,c
> 	jr	nz,@skip
> 	bit	3,c
> 	jr	nz,@skip
> 	bit	2,c
> 	jr	nz,@skip
> 	bit	1,c
> 	jr	nz,@skip
> 	bit	0,c
> 	jr	nz,@skip
> 	pop	ix
> 	jp	[ix]
> @skip	call	@clr
> 	jp	[ix]
> 
> SetIXtoHL:
> 	call	SetAto0
> 	ld	ixh,a
> 	ld	ixl,a
> @loop	add	ix,ix
> 	add	hl,hl
> 	jp	c,@skip
> 	inc	ix
> 	inc	a
> @skip	bit	7,a
> 	jp	nz,@loop
> 	bit	6,a
> 	jp	nz,@loop
> 	bit	5,a
> 	jp	nz,@loop
> 	bit	4,a
> 	jp	z,@loop
> 	bit	3,a
> 	jp	nz,@loop
> 	bit	2,a
> 	jp	nz,@loop
> 	bit	1,a
> 	jp	nz,@loop
> 	bit	0,a
> 	jp	nz,@loop
> 	pop	hl
> 	jp	[hl]
> 
> SetAto0:
> 	res	7,a
> 	res	6,a
> 	res	5,a
> 	res	4,a
> 	res	3,a
> 	res	2,a
> 	res	1,a
> 	res	0,a
> 	pop	ix
> 	jp	[ix]
> 
> SetBtoA:
> 	res	7,b
> 	res	6,b
> 	res	5,b
> 	res	4,b
> 	res	3,b
> 	res	2,b
> 	res	1,b
> 	res	0,b
> @loop	inc	b
> 	dec	a
> 	jp	nz,@skip
> 	pop	ix
> 	jp	[ix]
> @skip	call	@loop
> 	pop	ix
> 	jp	[ix]
> 
> SetCtoA:
> 	res	7,c
> 	res	6,c
> 	res	5,c
> 	res	4,c
> 	res	3,c
> 	res	2,c
> 	res	1,c
> 	res	0,c
> @loop	inc	c
> 	dec	a
> 	jp	nz,@skip
> 	pop	ix
> 	jp	[ix]
> @skip	call	@loop
> 	pop	ix
> 	jp	[ix]
> 
> SetHtoA:
> 	res	7,h
> 	res	6,h
> 	res	5,h
> 	res	4,h
> 	res	3,h
> 	res	2,h
> 	res	1,h
> 	res	0,h
> @loop	inc	h
> 	dec	a
> 	jp	nz,@skip
> 	pop	ix
> 	jp	[ix]
> @skip	call	@loop
> 	pop	ix
> 	jp	[ix]
> 
> SetLtoA:
> 	res	7,l
> 	res	6,l
> 	res	5,l
> 	res	4,l
> 	res	3,l
> 	res	2,l
> 	res	1,l
> 	res	0,l
> @loop	inc	l
> 	dec	a
> 	jp	nz,@skip
> 	pop	ix
> 	jp	[ix]
> @skip	call	@loop
> 	pop	ix
> 	jp	[ix]
> 
> -----Original Message-----
> From: assembly-83-bounce@lists.ticalc.org
> [mailto:assembly-83-bounce@lists.ticalc.org]On Behalf Of Hyperbyte
> Sent: Tuesday, July 03, 2001 10:05 AM
> To: assembly-83@lists.ticalc.org
> Subject: [A83] Re: Official H**s Replacement Commands & Questions &
> PulseWidthModulation
> 
> 
> 




References: