Longscreen VC 20
Diese kleine Utility wird sicher bei alien Anwendern Freude finden, die das unproportionale Breitschriftformat des VC 20 stört.

Die Routine dreht den kompletten Zeichen, Farb- und Bildschirmspeicher um 90 °. Das Ergebnis ist eine hervorragend lesbare Bildschirmmatrix mit herrlich schlanken Zeichen (siehe Bild). Natürlich sind nach wie vor beide Zeichensätze vorhanden.
Für das Programm benötigt man mindestens eine 8-KByte-RAM-Erweiterung. Nach dem Start wird folgende Speicheraufteilung vorgenommen:
| Basic-RAM | |
| $1d18 (7448) | |
| Maschinenprogramm | |
| $1c00 (7168) | |
| Grafik-RAM (2K) | |
| $1400 (5120) | |
| Video-RAM | |
| $1200 (4608) | |
| Print-RAM | |
| $1000 (4096) |
Die Position des Speichers für Print-Operationen bleibt also. Falls in diesen Bereich gePOKEt wird, werden solche Zeichen auch übertragen. Der VIC zeigt jetzt allerdings nicht mehr das Print-RAM, sondern das Video-RAM, wo der Inhalt des Print-RAM um 90 Grad gedreht dargestellt wird. Die Routine wird über das IRQ-Signal gesteuert. Das Bild wird 12mal pro Sekunde aufgebaut.
Folgende RAM-Adressen werden benutzt:
| $00/01 | Zeiger in Video-RAM |
| $02/03 | Zeiger in Print-RAM |
| $06/07 | Zeiger in Video-Farb-RAM |
| $08/09 | Zeiger in Print-Farb-RAM |
| $04 | Y-Hilfsregister für Print-RAM |
| $05 | Y-Zeiger in Video-RAM |
Sollte die RESTORE-Taste betätigt worden sein, so befindet sich der Rechner wieder im Normalmodus. Durch Eingabe des Befehls »SYS 7410« kann die Routine ohne Programm-Verlust wieder gestartet werden. Die Umschaltung in den Grafik-/Großschrift-Modus erfolgt über »PRINT CHR$ (142)«, in den Textmodus zurück gelangt man über »PRINT CHR$ (14)«.
(Wolfgang W. Wirth/ev)100 rem--------------
105 rem! longscreen !
110 rem! version 2 !
115 rem--------------
120 rem
125 rem--------------
130 rem! by !
135 rem! w.wirth !
140 rem--------------
145 rem! 06703/868 !
150 rem--------------
155 rem
160 poke56,27:clr
165 poke36879,12
170 print"{clr}{down}{rght}{wht}{swlc}Ladeprg. fuer :"
175 print"{down}{rght}{rvon}LONGSCREEN Version 2{down}{down}{down}"
180 fori=7168to7489
185 readj:pokei,j:s=s+j
190 printi;j"{up}":next
195 ifs=37513then210
200 print"{down}{down}{rght}Checksummenfehler !"
205 print"{down}{rght}DATA-Zeile pruefen !{down}":stop
210 print"{rght}RESTORE-Taste noch"
215 print"{down}{rght}intakt!"
220 print"{down}{rght}Falls betaetigt, mit"
225 print"{down}{rght}{rvon}SYS 7410{rvof} neu starten"
230 print"{down}{down}{rght}Zum Start bitte"
235 print"{down}{rght}f1-Taste druecken"
240 poke198,0:wait198,1:sys7448
245 data206,255,017,016,106,169,004,141
250 data255,017,162,010,181,255,072,202
255 data208,250,160,016,134,002,132,003
260 data160,148,134,008,132,009,160,022
265 data132,005,056,162,227,160,019,134
270 data000,132,001,160,151,134,006,132
275 data007,160,021,177,002,170,177,008
280 data132,004,164,005,145,006,138,145
285 data000,164,004,165,000,233,023,133
290 data000,133,006,176,005,198,001,198
295 data007,056,136,016,222,165,002,233
300 data234,133,002,133,008,144,004,230
305 data003,230,009,198,005,016,187,162
310 data246,104,149,010,232,208,250,076
315 data191,234,072,165,154,201,003,240
320 data003,076,133,242,104,072,133,215
325 data138,072,152,072,165,212,240,003
330 data076,073,231,165,215,201,014,240
335 data007,201,142,208,243,162,128,172
340 data162,136,160,000,132,096,134,097
345 data162,020,132,098,134,099,162,008
350 data177,096,145,098,200,208,249,230
355 data097,230,099,202,208,242,160,008
360 data132,099,160,020,134,096,132,097
365 data162,007,160,007,169,000,133,098
370 data177,096,010,145,096,038,098,136
375 data016,246,165,098,072,202,016,234
380 data160,007,104,145,096,136,016,250
385 data165,096,024,105,008,133,096,144
390 data215,230,097,198,099,208,209,076
395 data220,230,120,162,000,160,028,142
400 data020,003,140,021,003,162,114,142
405 data038,003,140,039,003,088,162,005
410 data189,018,029,157,000,144,202,016
415 data247,096,012,038,151,044,097,205
420 data120,032,141,253,032,082,253,032
425 data249,253,032,024,229,032,091,228
430 data162,024,160,029,032,138,254,032
435 data242,028,169,014,032,210,255,141
440 data015,144,169,001,141,134,002,076
445 data123,227
100 REM -------------- 105 REM ! LONGSCREEN ! 110 REM ! VERSION 2 ! 115 REM -------------- 120 REM 125 REM -------------- 130 REM ! BY ! 135 REM ! W.WIRTH ! 140 REM -------------- 145 REM ! 06703/868 ! 150 REM -------------- 155 REM 160 POKE 56,27:CLR 165 POKE 36879,12 170 PRINT"{CLR,DOWN,RIGHT,WHITE,CTRL-N}LADEPRG. FUER :" 175 PRINT"{DOWN,RIGHT,RVSON}LONGSCREEN VERSION 2{3DOWN}" 180 FOR I=7168 TO7489 185 READ J:POKE I,J:S=S+J 190 PRINTI;J"{UP}":NEXT 195 IF S=37513 THEN210 200 PRINT"{2DOWN,RIGHT}CHECKSUMMENFEHLER !" 205 PRINT"{DOWN,RIGHT}DATA-ZEILE PRUEFEN !{DOWN}":STOP 210 PRINT"{RIGHT}RESTORE-TASTE NOCH" 215 PRINT"{DOWN,RIGHT}INTAKT!" 220 PRINT"{DOWN,RIGHT}FALLS BETAETIGT, MIT" 225 PRINT"{DOWN,RIGHT,RVSON}SYS 7410{RVOFF,SPACE}NEU STARTEN" 230 PRINT"{2DOWN,RIGHT}ZUM START BITTE" 235 PRINT"{DOWN,RIGHT}F1-TASTE DRUECKEN" 240 POKE 198,0:WAIT 198,1:SYS 7448 245 DATA 206,255,017,016,106,169,004,141 250 DATA 255,017,162,010,181,255,072,202 255 DATA 208,250,160,016,134,002,132,003 260 DATA 160,148,134,008,132,009,160,022 265 DATA 132,005,056,162,227,160,019,134 270 DATA 000,132,001,160,151,134,006,132 275 DATA 007,160,021,177,002,170,177,008 280 DATA 132,004,164,005,145,006,138,145 285 DATA 000,164,004,165,000,233,023,133 290 DATA 000,133,006,176,005,198,001,198 295 DATA 007,056,136,016,222,165,002,233 300 DATA 234,133,002,133,008,144,004,230 305 DATA 003,230,009,198,005,016,187,162 310 DATA 246,104,149,010,232,208,250,076 315 DATA 191,234,072,165,154,201,003,240 320 DATA 003,076,133,242,104,072,133,215 325 DATA 138,072,152,072,165,212,240,003 330 DATA 076,073,231,165,215,201,014,240 335 DATA 007,201,142,208,243,162,128,172 340 DATA 162,136,160,000,132,096,134,097 345 DATA 162,020,132,098,134,099,162,008 350 DATA 177,096,145,098,200,208,249,230 355 DATA 097,230,099,202,208,242,160,008 360 DATA 132,099,160,020,134,096,132,097 365 DATA 162,007,160,007,169,000,133,098 370 DATA 177,096,010,145,096,038,098,136 375 DATA 016,246,165,098,072,202,016,234 380 DATA 160,007,104,145,096,136,016,250 385 DATA 165,096,024,105,008,133,096,144 390 DATA 215,230,097,198,099,208,209,076 395 DATA 220,230,120,162,000,160,028,142 400 DATA 020,003,140,021,003,162,114,142 405 DATA 038,003,140,039,003,088,162,005 410 DATA 189,018,029,157,000,144,202,016 415 DATA 247,096,012,038,151,044,097,205 420 DATA 120,032,141,253,032,082,253,032 425 DATA 249,253,032,024,229,032,091,228 430 DATA 162,024,160,029,032,138,254,032 435 DATA 242,028,169,014,032,210,255,141 440 DATA 015,144,169,001,141,134,002,076 445 DATA 123,227