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 |