Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!usc!jarthur!nntp-server.caltech.edu!toddpw From: toddpw@nntp-server.caltech.edu (Todd P. Whitesel) Newsgroups: comp.sys.apple2 Subject: Re: Bug contest Message-ID: <1991Feb5.044339.25263@nntp-server.caltech.edu> Date: 5 Feb 91 04:43:39 GMT References: <9102050238.AA18080@anaconda.cis.ohio-state.edu> Organization: California Institute of Technology, Pasadena Lines: 49 meekins@CIS.OHIO-STATE.EDU (timothy lee meekins) writes: >Anyways, about a half hour ago, I was working on Z3D. To make things short, >the entire screen began scroll, almost like a screwed-up vertical hold on a >TV. very strange. I think the electron beam location is getting screwed >big time. If anyone has the foggiest notion of how this could happen, let >me know, it would be neat to take advantage of. The entire screen was >scrolling, border and all. This is what happens if you set PAL video mode (50 hz vertical sync). When you do a control-option-reset, one of the options is to set system standards and 50 Hz -- this is for european/australian PAL video equipment. In the hardware it is activated by bit 4 (mask $10) of $c02b, which is described in the firmware reference (page 281 of the hardcover). >Oh yeah, how did ACS italicize the text in >their "HAM mode" demo? They switch from graphics to text mode, so the >text is hardware text, not graphics, so, how was it italicized? Makes >me wonder if their are ways to fool the hardware to perform strange effects. What they are doing is switching from graphics to text mode at the same place on the screen consistently. SHR is controlled by the VGC chip, and all other graphics modes are controlled by the Mega II chip -- the two are not perfectly in sync, the VGC tracks the Mega II and lags it by about 5/4 of a microsecond. (I had hoped that Apple would combine the Mega II and VGC into a single chip driving VRAMs when they made the ROM 3, but they didn't :( .) As a result, when you switch in and out of SHR mode, the sync signal 'slips' by that 5/4 of a micro second. The monitor hasn't totally lost the signal, but it has been knocked away from stable synchronization, and as it re-stabilizes itself the displayed image appears to warp for ten lines or so, and this creates the italic effect. (Actually, I think the ACS demo does something a bit trickier to obtain a better italic effect, but I buried the disk somwhere so I can't go check.) The following code will demonstrate what I'm talking about: lda #$80 ldx #$90 ldy #$c0 lp1 cpx $c02e bne lp1 tsb $c029 lp2 cpy $c02e bne lp2 trb $c029 bit $c000 bpl lp1 bit $c010 rts Todd Whitesel toddpw @ tybalt.caltech.edu