• Welcome to Schneider / Amstrad CPC Forum.
Welcome to Schneider / Amstrad CPC Forum. Please login.

09. December 2024, 16:42:37

Login with username, password and session length

Shoutbox

TFM

2024-04-08, 20:42:44
Happy Sonnenfinsternis!  :)

TFM

2024-01-15, 17:06:57
Momentan billige Farbbänder auf Ebay für PCW

Devilmarkus

2023-07-09, 10:37:40
Zweiter 👋😂🤣

TFM

2023-06-13, 14:21:49
Sommerloch!

Recent

Members
  • Total Members: 222
  • Latest: giomba
Stats
  • Total Posts: 12,070
  • Total Topics: 1,383
  • Online today: 47
  • Online ever: 1,724
  • (16. January 2020, 00:18:45)
Users Online
Users: 1
Guests: 38
Total: 39

38 Guests, 1 User
TFM

Vielfarben

Started by oobdoo, 18. April 2015, 18:28:55

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

oobdoo

Kann mir mal einer Erklären warum das funktioniert???  :gruebel:

http://k1.spdns.de/Vintage/Schneider%20CPC/Das%20Schneider%20CPC%20Systembuch/z114.htm#N

Modus 2, also 80 Zeichen und dann mehr als eine Farbe.  :gruebel:
Ich dachte da gibts nur eine Farbe in der höchsten Auflösung.  :gruebel:
CPC 464/6128, 464/6128+, GX4000 | Atari 2600, 600XL, 800XL/XE, Portfolio | C64/II/G/R/SX, VC20, TC64 | LC 80, MPF-I | ZX81, AX81, ZX Spectrum 48k, ZX Spectrum+2 | Amiga 500/600/2000, A2630, A2088

Devilmarkus

Ich hab mal ein Beispiel fix für Dich zusammengeschrieben, wie das gemeint ist:


10 DIM a(10):MODE 1:SYMBOL AFTER 32:FOR t=33 TO 255:PRINT CHR$(t);:NEXT:y=398:PRINT:sy=33
20 FOR n=1 TO 6:FOR p=2 TO 640 STEP 16
30 FOR k=1 TO 8
40 b$="":FOR x=1 TO 16 STEP 4:IF TEST(p+x,y)=0 THEN b$=b$+"0" ELSE b$=b$+"1"
50 NEXT
60 y=y-2:b$=b$+b$:a(k)=VAL("&x"+b$):NEXT:y=y+16
70 SYMBOL sy,a(1),a(2),a(3),a(4),a(5),a(6),a(7),a(8)
80 POKE &B7C3,2:PRINT CHR$(sy);:POKE &B7C3,1:sy=sy+1:IF sy>255 THEN GOTO 110
90 NEXT
100 y=y-16:NEXT
110 MODE 1:PEN 1:POKE &B7C3,2:PRINT"SMALL FONT PEN 1"
120 POKE &B7C3,1:PEN 2:POKE &B7C3,2:PRINT"SMALL FONT PEN 2"
130 POKE &B7C3,1:PEN 3:POKE &B7C3,2:PRINT"SMALL FONT PEN 3"


Was ich nicht weiss: Wie bekomme ich nun 80 Zeichen pro Zeile hin? (Bleiben trotz allem 40!)

Das Font ist nicht perfekt, weil es direkt vom System-Font generiert wird, aber es soll das Ganze ja nur veranschaulichen...

Achtung! 664 oder 6128 ROMs verwenden, oder die POKE's anpassen!!!!
https://cpcwiki.de
Dein Deutsches CPCWiki!

Devilmarkus

#2
Und hier mit 80 Zeichen, wieso bin ich da nicht gleich drauf gekommen?

1 KEY 1,"MODE 1:POKE &b7c3,1"+CHR$(13)
2 KEY 2,"MODE 1:POKE &b7c3,2:WINDOW 1,80,1,25"+CHR$(13)
10 DIM a(10):MODE 1:SYMBOL AFTER 32:FOR t=33 TO 255:PRINT CHR$(t);:NEXT:y=398:PRINT:sy=33
20 FOR n=1 TO 6:FOR p=2 TO 640 STEP 16
30 FOR k=1 TO 8
40 b$="":FOR x=1 TO 16 STEP 4:IF TEST(p+x,y)=0 THEN b$=b$+"0" ELSE b$=b$+"1"
50 NEXT
60 y=y-2:b$=b$+b$:a(k)=VAL("&x"+b$):NEXT:y=y+16
70 SYMBOL sy,a(1),a(2),a(3),a(4),a(5),a(6),a(7),a(8)
80 POKE &B7C3,2:PRINT CHR$(sy);:POKE &B7C3,1:sy=sy+1:IF sy>255 THEN GOTO 110
90 NEXT
100 y=y-16:NEXT
110 MODE 1:PEN 1:POKE &B7C3,2:PRINT"SMALL FONT PEN 1"
120 POKE &B7C3,1:PEN 2:POKE &B7C3,2:PRINT"SMALL FONT PEN 2"
130 POKE &B7C3,1:PEN 3:POKE &B7C3,2:PRINT"SMALL FONT PEN 3"
200 POKE &B7C3,1:PEN 1:POKE &B7C3,2:WINDOW 1,80,1,25:LOCATE 1,4
https://cpcwiki.de
Dein Deutsches CPCWiki!

TFM

#3
Quote from: oobdoo on 18. April 2015, 18:28:55Kann mir mal einer Erklären warum das funktioniert???  :gruebel:

http://k1.spdns.de/Vintage/Schneider%20CPC/Das%20Schneider%20CPC%20Systembuch/z114.htm#N

Modus 2, also 80 Zeichen und dann mehr als eine Farbe.  :gruebel:
Ich dachte da gibts nur eine Farbe in der höchsten Auflösung.  :gruebel:

Im Prinzip kann man die Farben während der Darstellung des Bildes umstellen. Das geht auch mit dem MODE.

Dabei muss man genau bestimmen, wenn die Umstellung erfolgt. Dazu eigenen sich z.B. die Interrupts oder man arbeitet mit Warteschleifen.

Hier ein Beispiel-Bild, dabei wird der Border umgestellt (jeweils, wenn ein anderer Task aktiv wird).
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 27.10.2024)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)