Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Flash the whole screen?

93 views
Skip to first unread message

Brandon Taylor

unread,
Jul 13, 2021, 12:13:11 PM7/13/21
to
I'm familiar with three commands in Applesoft BASIC which let you manipulate the way text gets displayed on the screen. There's INVERSE, which prints black text on a white background; FLASH, which basically just does what it says on the tin; and finally NORMAL, which cancels both of the above commands. But my question is, how do you set the entire SCREEN to INVERSE, FLASH or NORMAL? I know it will go to INVERSE at the end of a game of "The Match Machine" which can be found on "The Shell Games" disk; but I don't know is how that little effect was accomplished. The reason I'm asking is I'm in the process of writing a game in Applesoft BASIC which, ideally, will set the entire screen to FLASH, or at least INVERSE if FLASH is not possible.

In case you need a refresher, I have the entire program listing of "The Match Machine" game here. https://mega.nz/file/woMUwJDT#LhO4jjSpjJ3Ei5z-0__HBeLHvMpGcZAGpPdv2iyrJII

qkumba

unread,
Jul 13, 2021, 12:39:25 PM7/13/21
to
If the alternative character set is active, then full-screen INVERSE can be achieved by POKE 50,0 and then HOME.
Otherwise, you're left to printing the characters yourself, for both FLASH and INVERSE.
Here's one way:
HOME
POKE 48,mode (where mode=96 for FLASH, 32 for INVERSE)
FOR Y = 1 TO 47 STEP 2: HLIN 0,39 AT Y: NEXT

Scott Alfter

unread,
Jul 13, 2021, 6:42:37 PM7/13/21
to
In article <6cf25169-929e-4363...@googlegroups.com>,
Brandon Taylor <br.ta...@gmail.com> wrote:
>I'm familiar with three commands in Applesoft BASIC which let you
>manipulate the way text gets displayed on the screen. There's INVERSE,
>which prints black text on a white background; FLASH, which basically
>just does what it says on the tin; and finally NORMAL, which cancels
>both of the above commands. But my question is, how do you set the
>entire SCREEN to INVERSE, FLASH or NORMAL? I know it will go to INVERSE
>at the end of a game of "The Match Machine" which can be found on "The
>Shell Games" disk; but I don't know is how that little effect was
>accomplished. The reason I'm asking is I'm in the process of writing a
>game in Applesoft BASIC which, ideally, will set the entire screen to
>FLASH, or at least INVERSE if FLASH is not possible.

A possibly naive approach to setting the whole screen flashing:

10 FLASH: HOME: FOR I=1 TO 23: PRINT " ";: NEXT I: PRINT " ";: POKE 2039,96
20 VTAB 1: HTAB 1: PRINT "THIS IS A TEST"

The first block of spaces has 40; the second has 39. Printing the very last
space would scroll a normal line into view, so it's POKEd to the framebuffer
instead. Speedwise, it's not half bad.

_/_
/ v \ Scott Alfter (remove the obvious to send mail)
(IIGS( https://alfter.us/ Top-posting!
\_^_/ >What's the most annoying thing on Usenet?

Michael 'AppleWin Debugger Dev'

unread,
Aug 17, 2021, 10:33:11 PM8/17/21
to
On Tuesday, July 13, 2021 at 9:13:11 AM UTC-7,
> But my question is, how do you set the entire SCREEN to INVERSE, FLASH or NORMAL?

Here is a small machine language program that will **non-destructively** change set a 40-column screen to normal, inverse, or flash depending on the current mode. Included is a small demo to demonstrate usage.

CALL-151
300:A5 32 29 C0 4A 4A 4A A8 A2 00 BD 00 04 20 57 03
310:9D 00 04 BD 80 04 20 57 03 9D 80 04 BD 00 05 20
320:57 03 9D 00 05 BD 80 05 20 57 03 9D 80 05 BD 00
330:06 20 57 03 9D 00 06 BD 80 06 20 57 03 9D 80 06
340:BD 00 07 20 57 03 9D 00 07 BD 80 07 20 57 03 9D
350:80 07 E8 E0 78 D0 B3 84 FF 48 4A 4A 4A 4A 4A 18
360:65 FF A8 68 59 6A 03 A4 FF 60 00 00 40 40 80 80
370:C0 00 40 40 00 00 C0 C0 80 00 00 00 00 00 00 00
380:00 00 C0 80 80 C0 00 00 00 00
E000G
1 TEXT:HOME:VTAB 10:GOTO 10
2 FOR Y=0 TO 7:FOR C=0 TO 31:POKE 1024 + 128*Y+C,C + 32*Y:NEXT:NEXT:RETURN:REM ASCII TABLE
3 GET A$:CALL 768:? "PRESS RETURN TO CONT":GET A$:NORMAL:CALL 768:RETURN
10 GOSUB 2:INVERSE:? "PRESS RETURN FOR INVERSE":GOSUB 3
20 GOSUB 2:FLASH:? "PRESS RETURN FOR FLASH":GOSUB 3
30 GOSUB 2:NORMAL:? "PRESS RETURN FOR NORMAL":GOSUB 3
RUN

I can post the source if anyone is interested.

m.

0 new messages