|
Subject: Re: [stella] Another kernel is rolling From: "Fred Quimby" <c9r@xxxxxxxxxxx> Date: Thu, 7 Apr 2005 04:36:41 -0400 |
I'm currently experimenting some dirty tricks in order to save space. If
the 9-byte VSYNC is giving trouble, you might be able to use this. Under
certain conditions (stack pointer = $FF, that is) you can do VSYNC in 8
bytes, provided you combine it with the overscan timer.
.1
LDX INTIM ; overscan timer
BNE .1
; x=0, Z flag = 0 here
; If stack pointer isn't initially $FF, this won't work!
TXS ; set stack pointer on top of VSYNC register ($00)
PHP ; pushes Z=1 (bit 1 set) to VSYNC then resets SP to $FF.
INC WSYNC ; INC does two writes to WSYNC, giving you two scanlines!
STA WSYNC
STX VSYNC ; x=0, ends VSYNC
I haven't actually tried this on real hardware, so use at your own risk!
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://stella.biglist.com
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [stella] Another kernel is roll, Aaron | Thread | RE: [stella] Another kernel is roll, Fred Quimby |
| RE: [stella] Another kernel is roll, Aaron | Date | RE: [stella] Another kernel is roll, Fred Quimby |
| Month |