Die Suche ergab 35 Treffer

von ein Thüringer
24.11.2021, 12:31
Forum: Hardware
Thema: Befestigung 3.5" Laufwerk
Antworten: 10
Zugriffe: 63291

Re: Befestigung 3.5" Laufwerk

kurt hat geschrieben: 24.11.2021, 11:59(...) Insgeheim hatte ich gehofft, hier noch weitere Einblicke zum Anschluß des 3.5" Laufwerks zu finden. Um von den 34 Pins am 3.5" Laufwerk auf die 26 Pins des Joyce Floppy-Kabels zu kommen (...)
Da frag doch mal den Dieter selbst, eMail steht sicher im Impressum von 8-bit-wiki. Oder es finden sich Hinweise auf fvempel.nl .

Hier sind schon ein paar Hinweise:

joyce.de/hardware/basteln.htm
fvempel.nl/drive.html
von ein Thüringer
23.11.2021, 10:40
Forum: Hardware
Thema: Befestigung 3.5" Laufwerk
Antworten: 10
Zugriffe: 63291

Re: Befestigung 3.5" Laufwerk

kurt hat geschrieben: 21.11.2021, 17:26(...)Da ich die #87 nicht habe, als scan ist sie noch nicht dran wie es scheint, daher meine Bitte das Archiv einmal neu zu erstellen. Habe einfach mal das ".zip" abgeklemmt und als pdf, aber das hilft auch nicht (hätte ja sein können).
Hallo Kurt, wenn es um den Einbau geht, hilft Dir wohl dieses Foto.
von ein Thüringer
18.10.2021, 17:12
Forum: Programmierung
Thema: Wann habt ihr zuletzt ein Apfelmännchen programmiert?
Antworten: 21
Zugriffe: 86082

eine Spirale

Hier sind noch zwei Bilder von einer attraktiven Stelle in der Apfelmännchen-Figur.
Einmal von der JOYCE
JOYCE.png
JOYCE.png (15.96 KiB) 11837 mal betrachtet
mit den Parametern
XU=.7464
XO=.745
YU =-0.1142
YO=-0.11165 und
KX 123, dazu die fertige .DAT-Datei
SPIRAL03.ZIP
in .DAT umbenennen
(24 KiB) 536-mal heruntergeladen
Außerdem vom Amstrad CPC im 40-Zeichen-Modus (damit etwas weniger fein auflösend)
CPCMODE1.png
CPCMODE1.png (8.82 KiB) 11809 mal betrachtet
mit den Parametern
XU=0.7437
XO=0.7457
YU=-0.1135
YO=-0.11185 und
KX=123
von ein Thüringer
10.09.2021, 21:46
Forum: Programmierung
Thema: Wann habt ihr zuletzt ein Apfelmännchen programmiert?
Antworten: 21
Zugriffe: 86082

Apfelmännchen-Ausschnitt

Mit dem Rahmen von Bernds Programm als Grundlage habe ich mal ein Programm gebastelt, das einen Ausschnitt der Apfelmännchen-Grafik zeichnen und abspeichern kann:

Code: Alles auswählen

10 REM Apfelmaennchen
20 GOSUB 50000:REM Load graphics machine code
25 GOSUB 54000:REM Load SCRNSAVE & SCRNLOAD mc
30 GOSUB 50280:REM Init graphics
1000 HG%=720:VG%=256:GOTO 1010:REM   APFELMAENNCHEN  ANDREA UND ULF KINDERMANN  PRACTIC 2/88
1002 YC=YU+(M%+M1%+M2%+M3%)*DY:XC=XU+(N%+N1%+N2%+N3%)*DX:K=0:XZ=0:YZ=0:
1003 K=K+1:XX=XZ*XZ:YY=YZ*YZ:YZ=2*XZ*YZ-YC:XZ=XX-YY-XC:IF K=KX THEN GOTO 1005
1004 IF XX+YY<100 THEN GOTO 1003
1005 f%=CINT(K-INT(K/2)*2)
1006 IF f%<>0 THEN GOSUB 2500
1007 RETURN
1010 GOSUB 50430:REM Clear screen
2020 XU=1.43349:XO=1.43354
2030 YU=-0.00004:YO=0
2040 KX=70:REM Iterationstiefe
2050 DX=(XO-XU)/HG%:DY=(YO-YU)/VG%
2060 FOR N3%=0 TO 1 STEP 1:FOR M3%=0 TO 1 STEP 1:FOR N2%=0 TO 2 STEP 2:FOR M2%=0 TO 2 STEP 2
2070 FOR N1%=0 TO 4 STEP 4:FOR M1%=0 TO 4 STEP 4:FOR N%=0 TO HG%-1 STEP 8:FOR M%=0 TO VG%-1 STEP 8
2080 GOSUB 1002
2180 NEXT M%:NEXT N%:NEXT M1%:NEXT N1%
2190 NEXT M2%:NEXT N2%:NEXT M3%:NEXT N3%
2200 GOTO 49995
2500 REM UP-PSET(N,M)
2502 x%=N%+N1%+N2%+N3%:y%=M%+M1%+M2%+M3%:CC(0)=F:CALL plot(x%,y%,f%):RETURN
49994 REM Save screenshot
49995 a$="M:APFELM03.DAT" + CHR$(0)
49996 CALL SCRNSAVE(a$,e%)
49997 IF e%<>0 THEN PRINT "screen save error"
49998 IF INKEY$="" THEN 49998
49999 STOP
50000 MEMORY &HBFFF:PLOT=&HC000:A%=PLOT:E%=0
50010 RESTORE 50120
50020 FOR F%=0 TO 14
50030 S%=0
50040 FOR G%=0 TO 7
50050 READ X$:X%=VAL("&H"+X$)
50060 S%=S%+X%:POKE A%,X%:A%=A%+1:NEXT
50070 READ X$:IF S%<>VAL("&H"+X$) THEN E%=E%+1:PRINT "ERROR IN LINE ";10*(F%+5012)
50080 NEXT
50090 IF E%=0 THEN RETURN
50100 PRIMT E%; "ERROR";:IF E%=1 THEN PRINT ELSE PRINT "S"
50110 STOP
50120 DATA 0A,32,7C,C0,4E,23,46,21,250
50130 DATA CF,02,A7,ED,42,D8,ED,43,4AF
50140 DATA 78,C0,EB,5E,23,56,7A,A7,41B
50150 DATA C0,93,3D,5F,ED,53,7A,C0,469
50160 DATA F3,ED,73,7D,C0,31,9D,C0,51E
50170 DATA 01,36,C0,CD,5A,FC,E9,00,403
50180 DATA ED,7B,7D,C0,FB,C9,2A,7A,50D
50190 DATA C0,29,11,00,B6,19,5E,23,24A
50200 DATA 56,7B,E6,F8,CB,27,CB,12,47E
50210 DATA 47,7B,E6,07,B0,5F,2A,78,360
50220 DATA C0,45,7D,E6,F8,6F,EB,19,4D3
50230 DATA 78,E6,07,3C,47,AF,37,1F,2ED
50240 DATA 10,FD,47,3A,7C,C0,A7,20,391
50250 DATA 05,78,2F,A6,77,C9,3D,78,347
50260 DATA 20,03,B6,77,C9,AE,77,C9,407
50270 REM Init Graphics
50280 aspectRatio=0.45
50290 RETURN
50300 REM Screen On
50310 OUT 248,8
50320 RETURN
50330 REM Screen Off
50340 OUT 248,8
50350 RETURN
50360 REM Hide Cursor
50370 PRINT CHR$(27);"f";
50380 RETURN
50390 REM Show Cursor
50400 PRINT CHR$(27);"e";
50410 RETURN
50420 REM Clear Screen
50430 PRINT CHR$(27)+"H";CHR$(27)+"E";CHR$(27)+"f"
50440 RETURN
52999 REM Load Machine Code
53000 RESTORE 53090
53010 A=PLOT
53020 READ X$
53030 IF X$="XX" THEN 53080
53040 X=VAL("&H"+X$)
53050 POKE A,X
53060 A=A+1
53070 GOTO 53020
53080 RETURN
54000 REM Set up SCRNSAVE & SCRNLOAD machine-code routines
54010 MEMORY &HBFFF
54020 SCRNSAVE=&HC400:SCRNLOAD=&HC46D:A=SCRNSAVE:E%=0
54030 RESTORE 54150
54040 FOR F%=0 TO 100
54050 S%=0
54060 FOR G%=0 TO 15
54070 READ X$
54073 IF X$="$$" THEN GOTO 54120
54078 X%=VAL("&H"+X$)
54080 S%=S%+X%:POKE A,X%:A=A+1
54090 NEXT G%
54110 NEXT F%
54120 RETURN
54140 END
54150 DATA ED,73,4D,C5,31,6D,C5,D5,CD,DF,C4,CD,2C,C4,CD,04
54160 DATA C5,AF,F5,01,5C,C4,CD,5A,FC,E9,00,CD,3C,C4,F1,3C
54170 DATA FE,20,38,EE,CD,4C,C4,11,00,00,18,6A,0E,16,11,5C
54180 DATA 00,CD,05,00,3C,C0,D1,11,02,00,18,5A,0E,15,11,5C
54190 DATA 00,CD,05,00,A7,C8,D1,11,03,00,18,4A,0E,10,11,5C
54200 DATA 00,CD,05,00,3C,C0,D1,11,04,00,18,3A,CD,29,C5,EB
54210 DATA 11,6D,C5,01,D0,02,ED,B0,C9,3C,00,4A,00,ED,73,4D
54220 DATA C5,31,6D,C5,D5,CD,DF,C4,CD,B3,C4,CD,04,C5,AF,F5
54230 DATA CD,C3,C4,F1,F5,01,D3,C4,CD,5A,FC,E9,00,F1,3C,FE
54240 DATA 20,38,EC,11,00,00,D5,0E,1A,ED,5B,49,C5,CD,05,00
54250 DATA 0E,2C,3A,4B,C5,5F,CD,05,00,D1,E1,73,23,72,ED,7B
54260 DATA 4D,C5,C9,0E,0F,11,5C,00,CD,05,00,3C,C0,D1,11,02
54270 DATA 00,18,D3,0E,14,11,5C,00,CD,05,00,A7,C8,D1,11,03
54280 DATA 00,18,C3,CD,29,C5,21,6D,C5,01,D0,02,ED,B0,C9,7E
54290 DATA A7,28,1B,23,5E,23,56,21,45,C5,73,23,72,23,36,5C
54300 DATA 23,36,00,0E,98,11,45,C5,CD,05,00,7C,B5,C8,D1,11
54310 DATA 01,00,18,A6,0E,31,11,69,C4,CD,05,00,22,49,C5,0E
54320 DATA 1A,11,6D,C5,CD,05,00,0E,31,11,6B,C4,CD,05,00,32
54330 DATA 4B,C5,0E,2C,1E,06,C3,05,00,6F,26,00,29,29,29,29
54340 DATA 11,00,B6,19,5E,23,56,7B,E6,F8,CB,27,CB,12,47,7B
54350 DATA E6,07,B0,5F,C9,00,00,00,00,$$
00,6F,26,00,29,29,29,29
54340 DATA 11,00,B6,19,5E,23,56,7B,E6,F8,CB,27,CB,12,47,7B
54350 DATA E6,07,B0,5F,C9,00,
Die Grenzen des gewünschten Bereichs können in den Zeilen 2020 und 2030 eingestellt werden. allerdings dauert es um so länger, je tiefer man "hineinzoomt", auch mit dem Habisoft-Emulator und F11 Stunden.

Um schneller abschätzen zu können, ob der Bereich "ergiebig" ist, ist die Reihenfolge der Pixel so gestaffelt, dass man erst einmal einen groben Überblick bekommt. Besser ist, dieses Programm:

Code: Alles auswählen

 1000 A=200:GOTO 20:REM   APFELMAENNCHEN  ANDREA UND ULF KINDERMANN  PRACTIC 2/88
 1002 YC=YU+(M+M1+M2+M3)*DY:XC=XU+(N+N1+N2+N3)*DX:K=0:XZ=0:YZ=0:
 1003 K=K+1:XX=XZ*XZ:YY=YZ*YZ:YZ=2*XZ*YZ-YC:XZ=XX-YY-XC:IF K=KX THEN GOTO 1005
 1004 IF XX+YY<100 THEN GOTO 1003
 1005 F=K-INT(K/8)*8
 1006 IF F<>7 THEN GOSUB 2500
 1007 RETURN
 1010 CN=0:CC(1)=7:CC(0)=4:GOSUB 600
 2010 REM GOSUB 100:REM Def. der Randwerte
 2020 XU=1.43349:XO=1.43354
 2030 YU=-0.00004:YO=0
 2040 KX=63:REM Iterationstiefe
 2050 DX=(XO-XU)/HG:DY=(YO-YU)/VG
 2060 FOR N3=1 TO 0 STEP -1:FOR M3=1 TO 0 STEP -1:FOR N2=2 TO 0 STEP -2:FOR M2=2 TO 0 STEP -2
 2070         FOR N1=4 TO 0 STEP -4:FOR M1=4 TO 0 STEP -4:FOR N=HG-1 TO 0 STEP -8:FOR M=VG-1 TO 0 STEP -8
 2080                 GOSUB 1002
 2180               NEXT M:NEXT N:NEXT M1:NEXT N1
 2190       NEXT M2:NEXT N2:NEXT M3:NEXT N3
 2200 GOSUB 210:STOP
 2500 REM UP-PSET(N,M)
 2502 HO=(N+N1+N2+N3)/HG:VE=(VG-1-(M+M1+M2+M3))/VG:CC(0)=F:GOSUB 620:RETURN
in das Listing-Fenster von http://robhagemans.github.io/basicode/ zu ziehen, anschließend zum Starten ins Monitor-Fenster klicken.
Hier läuft es wesentlich schneller (dafür im Fenster Settings den Regler Speed auf das Maximum ziehen) und man hat sogar acht statt zwei Farben. Als Website abgespeichert kann dieses Programm auch offline genutzt werden.

Hier ist das fertige Bild
APFELM03.ZIP
in APFELM03.SCR umbenennen!
(22.5 KiB) 512-mal heruntergeladen
als SCR-Datei zum Laden mit dem Programm aus dem vorigen Beitrag.
ein Ausschnitt unter Mallard Basic und unter BBC Basic for Windows
ein Ausschnitt unter Mallard Basic und unter BBC Basic for Windows
APFEL_03.png (114.55 KiB) 12709 mal betrachtet
von ein Thüringer
30.08.2021, 17:10
Forum: Programmierung
Thema: Wann habt ihr zuletzt ein Apfelmännchen programmiert?
Antworten: 21
Zugriffe: 86082

Dateiformat von APFELM01.DAT

Das Apfelmännchen-Programm ist cool, dauert leider nur recht lange... Dafür ist das Speichern und Laden der Bilder um so fixer.
Mich hat interessiert, wie so eine Bilddatei aufgebaut ist. Ich hatte versucht, mit dem Ladeprogramm eine SCR-Datei zu laden, das ergab ein Bild mit etwas verschobenen Zeilen. Die Untersuchung in einem Hex-Editor ergab, dass SCR im Prinzip schon die richtige Fährte ist, aber nach jeden 720 Bytes 48 Dummy-Bytes eingefügt werden. Das hat für den Programmierer des Maschinencodes den Aufwand verringert, weil im Dualsystem 768 eine "glattere" Zahl ist.
Als Probe meiner Erkenntnisse habe ich im Hex-Editor in eine SCR-Datei 00-Bytes eingefügt, erfolgreich.
MAGICEYE.png
MAGICEYE.png (65.66 KiB) 12830 mal betrachtet
Das Bild ist für die Betrachtung wie in den Magic-Eye-Büchern gedacht, die in den 90ern populär waren: mit leichtem Schielblick scheinen die Kegel aus dem Bildschirm herauszuragen.
MAGICEYE.ZIP
in MAGICEYE.DAT umbennen !
(24 KiB) 587-mal heruntergeladen
Umgekehrt kann man aus einer DAT-Datei auch die Dummy-Bytes entfernen und nach Abspeicherung als SCR-Datei das Bild mit diesem Programm
DIASHOW.ZIP
in DIASHOW.ASC umbenennen !
(2.65 KiB) 532-mal heruntergeladen
für Mallard Basic betrachten.