Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!rutgers!uwvax!puff!schumann From: schumann@puff.UUCP Newsgroups: comp.sys.apple Subject: Re: IIe split screen query. Message-ID: <487@puff.WISC.EDU> Date: Thu, 12-Feb-87 23:02:57 EST Article-I.D.: puff.487 Posted: Thu Feb 12 23:02:57 1987 Date-Received: Fri, 13-Feb-87 23:11:48 EST References: <630004@ui3.UUCP> <21600001@silver> <888@ihlpm.UUCP> Organization: U of Wisconsin CS Dept Lines: 46 jmdavis@ihlpm.UUCP (Davis) writes: > Just so the old folklore of the Apple doesn't die I thought I would > mention a program by {{Bob}} Bishop where a living room with TV > is drawn and a man appears on the tiny TV screen and dances. This > program used a special timing loop to flip back to the text page > from the graphic page so that SINGLE CHARACTERS on the text page > could be displayed on the graphic page. > Mike Davis Wrogo, Mike! I have studied that program in depth, and (with a little help from Apple's book about this and other PD programs they used to give away), I have determined that he uses a Hi Res Character generator. I have even taken out the HRCG, and made it work with other programs. It does not scroll the screen, which limits it, but that is a very slow process in hi res. The program is in Integer BASIC, with parts in machine language (disguised in the program). If you look at the program after it runs, you will see a POKE 54, {something}:POKE 55,{something else}. This makes all characters printed go through his HRCG routine. It is not possible to access the page switches fast enough to display the width of a single character. The minimum width is 1/4 (maybe 1/6) of the screen. On the //c and maybe //e, you can get an interrupt every screen refresh. So you can wait a while then flip pages, therby making the border between graphic and text (or lores and hires) anywhere VERTICALLY on the screen you like. (But disk accesses disable interrupts). This may absorb quite a bit of cpu time... Interrupt, wait 1/200 second, flip switch, RTI. This could be as much as 3% of clock cycles if there is a lot of overhead, such as a //c with ProDOS (both have interrupt handlers). An HRCG would slow down throughput, but not computation time, and the screen flipper is tricky to write, anyway. I hope this starts some discussion...... --------------- "It... It's your hand Buckaroo." -- Akita Chris Schumann schumann@puff.wisc.edu