[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Mix LGR and Text?
Jorge Chamorro Bieling wrote:
Linards Ticmanis <ticmanis@gmx.de> wrote:
AFAIK, you store certain values in the last few bytes of the visible
screen and make sure those values are nowhere else in your screen. Then
you keep reading some unconnected I/O location. Since nothing is driving
the data bus when you read those, the data that the video display
circuitry put on the bus will still be there for the CPU to see. As soon
as you see your data, you're locked in and then you only have to keep
your cycle counts.
I thought the ram's output would be tri-stated on the data bus if the
cpu's read was not addressing it... so this must have to do with the
capacitance of a data bus that has just been released (tri-stated) and
is being driven by nobody, you mean ? Though the data must remain there
for 500 nSec more for this to work...
What a wonderful trick !!!. Who managed to discover this ?
Bob Bishop (and team?) and Don Lancaster, independently.
There may have been others, as well, who did not publish.
The secret emerges as a result of trying to understand the apparently
random results of reading a location not driven by any circuit, such
as a softswitch.
If you enter the Monitor and display the values of some softswitches
(that do not return "useful" values) or some non-existent memory (on
a less than 48K machine), you will see a lot of $A0 values, with some
exceptions. $A0 is the hex value of a blank on the (currently visible)
text screen. Understanding why this is so leads you to the "vapor
lock" insight.
-michael
Music synthesis for 8-bit Apple II's!
Home page: http://members.aol.com/MJMahon/
"The wastebasket is our most important design
tool--and it is seriously underused."