Screen Modes 0-7 Demo

discussion of beeb/electron applications, languages, utils and educational s/w
Post Reply
User avatar
The Lavian
Posts: 4
Joined: Fri Jun 28, 2019 4:50 am
Contact:

Screen Modes 0-7 Demo

Post by The Lavian » Tue Dec 03, 2019 11:02 am

Hi All,

Some time ago, I wrote the following quick demo for a YouTube channel as the channel owner liked to demonstrate character sets on each of his machines, yet I saw he hadn't done so for his Beeb, possibly due to the many screen modes. I thought you guys might find the demo interesting (and perhaps useful) as well.

It starts in mode 0 and displays as many of the visible characters as possible, then waits for a keypress before moving on to the next mode and doing the same, all the way up to (and including) mode 7.

As can be seen from the code, the screen mode number is assigned to an incremental variable within the main program loop. This loop is defined in lines 40-100 (read REMark). There are two FOR/NEXT loops: "M" to set each screen mode, and "C" to display each character value.

The main grunt work is done in line 110 which first prints the character code, an equals sign then the corresponding character. These values are then incremented for the next character to be shown and are defined by the "C" loop as mentioned above.

Code: Select all

10 FOR M=0 TO 7
20 MODE M
30 PRINT "Screen mode "TAB(0,-1);(M):PRINT
40 FOR C=33 TO 255
50 REM *****************************
60 REM Following line prevents the
70 REM output of non-visible control
80 REM codes in modes 0 to 6
90 REM *****************************
100 IF M<>7 FOR C=33 TO 128
110 PRINT TAB(0,-1);(C)"=";CHR$(C);" ";
120 NEXT C
130 IF M=7 GOTO 170
140 PRINT:PRINT:PRINT "Press any key . . ."
150 KEY% = GET
160 NEXT M
170 IF M<>7 MODE 7
180 PRINT:PRINT:PRINT "All modes have now been displayed."
190 END
Cheers,
The Lavian
Last edited by The Lavian on Wed Dec 04, 2019 8:55 am, edited 1 time in total.
Image

User avatar
tricky
Posts: 3815
Joined: Tue Jun 21, 2011 8:25 am
Contact:

Re: Screen Modes 0-7 Demo

Post by tricky » Tue Dec 03, 2019 1:20 pm

It might be nice to add the unofficial MODE 8.

User avatar
jgharston
Posts: 3755
Joined: Thu Sep 24, 2009 11:22 am
Location: Whitby/Sheffield
Contact:

Re: Screen Modes 0-7 Demo

Post by jgharston » Tue Dec 03, 2019 8:24 pm

I did this to demo the standard screen MODEs, software extended screen MODEs and hardware extended screen MODEs:

https://www.youtube.com/watch?v=1ZcvE2WL_bk

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.25
(C) Copyright J.G.Harston 1989,2005-2015
>_

User avatar
The Lavian
Posts: 4
Joined: Fri Jun 28, 2019 4:50 am
Contact:

Re: Screen Modes 0-7 Demo

Post by The Lavian » Wed Dec 04, 2019 8:46 am

tricky wrote:
Tue Dec 03, 2019 1:20 pm
It might be nice to add the unofficial MODE 8.
Interesting: I can't say I'm familiar with that - do tell!
Image

User avatar
The Lavian
Posts: 4
Joined: Fri Jun 28, 2019 4:50 am
Contact:

Re: Screen Modes 0-7 Demo

Post by The Lavian » Wed Dec 04, 2019 8:51 am

jgharston wrote:
Tue Dec 03, 2019 8:24 pm
I did this to demo the standard screen MODEs, software extended screen MODEs and hardware extended screen MODEs:

https://www.youtube.com/watch?v=1ZcvE2WL_bk
Looks fantastic - unfortunately, I don't have access to actual hardware, so I doubt I'd be able to use a nuLA ROM. :(
Image

User avatar
tricky
Posts: 3815
Joined: Tue Jun 21, 2011 8:25 am
Contact:

Re: Screen Modes 0-7 Demo

Post by tricky » Wed Dec 04, 2019 6:11 pm

B-em (and maybe beebem now) has some nULA support, maybe the extra modes, but maybe not the scrolling.

User avatar
The Lavian
Posts: 4
Joined: Fri Jun 28, 2019 4:50 am
Contact:

Re: Screen Modes 0-7 Demo

Post by The Lavian » Mon Dec 09, 2019 12:14 am

tricky wrote:
Wed Dec 04, 2019 6:11 pm
B-em (and maybe beebem now) has some nULA support, maybe the extra modes, but maybe not the scrolling.
Thanks for that - I'll check it out! :)
Image

Post Reply