A89: faster LCD update on HW2 ?


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

A89: faster LCD update on HW2 ?




Hi!

I'd really appreciate if someone could run this on a HW2 calc and tell me
what happened:

Exec "13fc00250060001c207800c8206801444e9013fc00210060001c4e750000"
            ^^ (change here)

"Source code" corresponding to the hex codes above:

;-----------------------------------------
ngetchx = 324
	move.b	#$25,$60001c	; increase the LCD vertical speed
	move.l	200,a0
	move.l	ngetchx(a0),a0
	jsr	(a0)		; wait for a key
	move.b	#$21,$60001c	; restore speed
	rts
;-----------------------------------------

I'm interested in whether HW2 calcs support a higher vertical speed or not.
If they do, we could get nicer grayscale (like more than 4 shades). If 25
works, try 20, 22, 23, 61, A1, E1, 28, 30, 34 and (finally) 38.

The result on a HW1 calc is quite interesting (but not useful). The LCD
freaks out because the DMA doesn't have time to fetch all the pixel data!
Try "28"! (Sometimes the screen just goes blank, try it a few times.)

If the screen stays blank/in freak mode, simply turn off the calc and then
turn it on again. (This has never happened to me though while testing this.)

(Argh! Poor design! I just realized that the DMA most likely does *byte*
reads from RAM on HW1s AND that it reads 128 lines while only 100 lines are
visible! This would explain how it can use 10% of the bus bandwidth, slowing
down the CPU to ~9MHz when the memory needs to be accessed often, like most
of the time... :v( )


/Johan



Follow-Ups: