1

Już za chwileczkę, już za momencik.
Proponuję zacząć w tym roku w piątek 28 III 18:00 CET (GMT+1) wieczorem, a zakończyć we wtorek 1 IV 2025 0:00 CEST (czyli GMT+2). To razem 77 godzin.
Zasady jak zwykle.
Jeszcze trzy tygodnie. Myślcie Panowie co by tu w tym roku jeszcze...!

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

2

"Myślcie Panowie co by tu w tym roku jeszcze...!"
Ministra d/s równości Cię zaaresztuje  ... :D

.

3

Ja w swoich programach używam znaku równości tak często, jak to tyko możliwe :)

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

4

A jesteś też pop(p)ersem? :D
Chcesz wygonić z domu gości, puść im tylko znak równości ;)

<-- Kontakt przez "E-mail" gdyż albowiem moja skrzynka "PW" jest pełna i zaprawdę nie mam czego usunąć.

--== Kup Pan/i dyskietkę http://www.atari.org.pl/forum/viewtopic.php?id=18887 ==--

5 Ostatnio edytowany przez mono (2025-03-13 00:11:13)

Tylko jak piszę w BASIC-u :) A i to nie zawsze.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

6

Jeszcze tylko tydzień pozostał do rozpoczęcia tegorocznej edycji.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

7 Ostatnio edytowany przez mono (2025-03-29 00:22:16)

Z małym poślizgiem, ale startujemy:

32700 REM Prima Aprilis Compo 2025
32701 REM by Mono
hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

8

32700 REM Prima Aprilis Compo 2025
32701 REM by Mono
32702 REM atari jest lepsze od zx trumny
.

9 Ostatnio edytowany przez maw (2025-03-31 12:44:22)

0 GOSUB 32600
1 GOSUB 31100
2 GOSUB 31000
11111 END 
31000 REM ...
31099 RETURN
31100 REM 31000 - LOADING SCREEN, INTRODUCTION
31101 E=24:L=E-1:W=100:DIM BE$(E):BE$="BOOT ERROR              "
31102 DIM PA25$(E):PA25$="PRIMA APRILIS COMPO 2025":DIM X$(1)
31103 GRAPHICS 0:? BE$:FOR I=0 TO W:NEXT I
31104 ? CHR$(125);BE$:IF E=0 THEN W=W-1:IF W=0 THEN GOTO 31999
31105 LL=L*RND(0)+1:X$=PA25$(LL,LL):IF X$="*" THEN 31104
31106 BE$(LL,LL)=CHR$(128+ASC(PA25$(LL,LL)))
31107 PA25$(LL,LL)="*":E=E-1
31111 GOTO 31104
31999 RETURN 
32000 REM 32000 - BLOK LINII DATA
32600 REM 32600 - BLOKI INICJACYJNE
32601 GRAPHICS 8:POKE 106,128:GRAPHICS 8:GRAPHICS 0:POKE 82,0
32699 RETURN 
32700 REM ****************************
32701 REM * PRIMA APRILIS COMPO 2025 *
32702 REM ****************************
32703 REM BY MONO,PABLOZ,MAW
32704 REM ATARI JEST LEPSZE OD ZX TRUMNY
32705 REM JEDZIEMY OD KONCA BASICA PANOWIE(I PANIE)
32706 REM 32600 - REZERWACJA PAMIECI (WSPOLNA DLA WSZYSTKICH) - OBNIZ RAMTOP, ZAKLNIJ DUCHY
32707 REM 32000 - REZERWACJA BLOKU LINII DLA DATA
32708 REM 31100 - LOADING SCREEN, INTRODUCTION
32709 REM 31000 - ...
32766 REM NIE ZAPOMNIEC O POKE 82,0!!!
RUN

( prace nad intro w toku :D )

//EDIT: Załącznik z kodowaniem WINDOWS, otwarcie: emulator, dodaj urządzenie - dysk H:, zamapuj folder z plikiem (koniecznie z długimi nazwami!), załaduj:

E."H6:PA2025_1330.LST"
Post's attachments

PA2025_1330.LST 1.17 kb, liczba pobrań: 4 (od 2025-03-31) 

Tylko zalogowani mogą pobierać załączniki.
___
Press play on tape...

10 Ostatnio edytowany przez Bca (2025-03-31 20:55:32)

taka wstaweczka;)

Post's attachments

PA2025_2130.LST 1.24 kb, liczba pobrań: 7 (od 2025-03-31) 

Tylko zalogowani mogą pobierać załączniki.

11 Ostatnio edytowany przez maw (Wczoraj 09:33:43)

Kod główny:

0 GOSUB 32600
1 GOSUB 31100
2 GOSUB 31000
11111 END 
31000 E."H6:PA25_31000.LST"
31100 E."H6:PA25_31100.LST"
32000 E."H6:PA25_31200.LST":REM 32000 - BLOK LINII DATA
32600 REM 32600 - BLOKI INICJACYJNE
32601 GRAPHICS 8:POKE 106,128:GRAPHICS 8:GRAPHICS 0:POKE 82,0
32699 RETURN 
32700 REM ****************************
32701 REM * PRIMA APRILIS COMPO 2025 *
32702 REM ****************************
32703 REM BY MONO,PABLOZ,MAW,BCA
32704 REM ATARI JEST LEPSZE OD ZX TRUMNY
32705 REM JEDZIEMY OD KONCA BASICA PANOWIE(I PANIE)
32706 REM 32600 - REZERWACJA PAMIECI (WSPOLNA DLA WSZYSTKICH) - OBNIZ RAMTOP, ZAKLNIJ DUCHY
32707 REM 32000 - REZERWACJA BLOKU LINII DLA DATA
32708 REM 31100 - LOADING SCREEN, INTRODUCTION
32709 REM 31000 - ...
32766 REM NIE ZAPOMNIEC O POKE 82,0!!!
RUN

Linie 31000-31099:

31000 REM 31000 - LOADING SCREEN, INTRODUCTION
31001 REM pusto?
31099 RETURN 

Linie 31100-31999:

31100 REM 31100 - LOADING SCREEN, INTRODUCTION
31101 REM SOME INFO BEFORE DEMO MODE AND LOADING SCREEN BY MAW
31102 E=24:L=E-1:W=25:ED=52:DIM BE$(E):BE$="BOOT ERROR              ":DIM PA25$(E):PA25$="PRIMA APRILIS COMPO 2025":POKE 82,2
31103 FOR I=0 TO W:? CHR$(125):? BE$:? "be patient...":SOUND 0,8,ED,10:ED=ED+(ED=52)*8-(ED=60)*8:NEXT I
31104 SOUND 0,12,ED,10:ED=ED+8:IF ED=68 THEN ED=52:REM BCA #ORYGINAL MOGL ZABIC PIA/KOREKTA MAW
31105 ? CHR$(125);BE$:IF E=0 THEN W=W-1:IF W=0 THEN POKE 54018,60:GOTO 31110
31106 LL=L*RND(0)+1:IF PA25$(LL,LL)="*" THEN 31104
31107 BE$(LL,LL)=CHR$(128+ASC(PA25$(LL,LL))):PA25$(LL,LL)="*":E=E-1:GOTO 31104
31110 ? CHR$(125):POKE 559,0:POKE 82,0:POSITION 0,5:FOR N=20 TO 23:? 312;N;"POKE 656,0:POKE 657,0:? ";CHR$(34);
31111 FOR I=0 TO 39
31112 Z0=124*RND(0):IF (Z0>26 AND Z0<35) THEN 31112
31113 Z0=Z0+INT(RND(0)*2)*128:SOUND 0,Z0,10,10:? CHR$(Z0);:NEXT I
31114 ? CHR$(34);";:RETURN":? :NEXT N:SOUND 0,0,0,0:? :? "POKE 842,12:CONT":POSITION 2,0:POKE 842,13:STOP 
31115 GRAPHICS 12:POKE 559,0:DL=PEEK(560)+PEEK(561)*256:EKR=PEEK(88)+PEEK(89)*256:POKE DL+3,PEEK(DL+3)-2:POKE 710,0
31116 DL2L=PEEK(DL+26):DL2H=PEEK(DL+27):FOR I=DL+6 TO DL+24:POKE I,PEEK(I)-2:NEXT I:POKE DL+26,DL2L-71:POKE DL+27,DL2H-1
31117 RESTORE 32000:FNT=DL2L+DL2H*256+64:TRAP 31120
31118 READ A,B,C,D,E,F,G,H:POKE FNT+0,A:POKE FNT+1,B:POKE FNT+2,C:POKE FNT+3,D:POKE FNT+4,E:POKE FNT+5,F:POKE FNT+6,G
31119 POKE FNT+7,H:FNT=FNT+8:GOTO 31118
31120 X=0:Y=19:XD=0.9:YD=-0.33:C=0:POKE 559,34:POKE 756,DL2H-1
31121 GOSUB 31220+C:COLOR 108+C:PLOT 0,Y:DRAWTO X,19:C=C+1:IF C>3 THEN C=0
31130 X=X+XD:IF X>38 THEN X=39
31131 IF X>1 THEN GOTO (31140+C)
31132 GOTO 31150
31140 POSITION X-1,18:? #6;"ab";:POSITION X-1,19:? #6;"cd";:GOTO 31150
31141 POSITION X-1,18:? #6;"ef";:POSITION X-1,19:? #6;"gh";:GOTO 31150
31142 POSITION X-1,18:? #6;"ij";:POSITION X-1,19:? #6;"kl";:GOTO 31150
31143 REM 
31150 Y=Y+YD:IF Y>0 THEN 31121
31160 X=0:Y=18:C=0
31170 GOSUB 31220+C:COLOR 108+C:PLOT X,0:DRAWTO 39,Y:C=C+1:IF C>3 THEN C=0
31180 X=X+XD:IF X>38 THEN X=39
31190 Y=Y+YD:IF Y>0 THEN 31170
31200 FOR I=0 TO 1000:FOR N=0 TO 3:GOSUB (31220+N)
31210 NEXT N:NEXT I
31219 REM LINIE DYNAMICZNE
31220 POKE 656,0:POKE 657,0:? "¯Š3ÇÊQ0¶Þ@µõm‚ŽsØfŒÕƒD3ÏÆ4GY÷콶gK";:RETURN 
31221 POKE 656,0:POKE 657,0:? "–õPÌV{êÚ$‹¿¦èGŒð¾hJESJçñM©?|pÐá5–À";:RETURN 
31222 POKE 656,0:POKE 657,0:? "±Á½ù¦ƒ²Ï@z\t÷K©Mã\c81¥$8¯V.¯uLÕ†ñʏY";:RETURN 
31223 POKE 656,0:POKE 657,0:? "8h´—]ÑÄéA„µ«Kúå=còÁå_me”{À×s¼LãÆâ";:RETURN 
31230 GOTO 31200
31999 RETURN 

(zabójcę silnika magnetofonu/albo i PIA/ od BCA musiałem usunąć/zamieniłem na SOUNDa - nie chcielibyśmy mieć na sumieniu czyjejś atarynki)

Linie DATA

32000 DATA 0,0,0,0,16,16,16,38
32001 DATA 0,0,0,0,3,3,0,3
32002 DATA 0,0,0,0,0,0,0,112
32003 DATA 0,0,0,0,0,0,0,11
32004 DATA 0,0,0,0,24,22,63,254
32005 DATA 0,7,55,6,14,52,4,0
32006 DATA 63,253,248,126,5,4,2,0
32007 DATA 0,0,0,0,1,0,0,0
32008 DATA 19,127,63,231,64,128,128,0
32009 DATA 248,216,192,224,152,200,64,0
32010 DATA 31,11,3,1,0,0,0,0
32011 DATA 252,252,56,184,104,168,0,0,"TRAP"

Załącznik z PECETOWYM kodowaniem końca linii, otwarcie: emulator, dodaj urządzenie - dysk H:, zamapuj folder z plikiem (koniecznie z długimi nazwami!), załaduj:

E."H6:PA2025_START.LST"

Post's attachments

PA2025_START.LST 796 b, liczba pobrań: 2 (od 2025-04-01) 

PA25_31000.LST 81 b, liczba pobrań: 2 (od 2025-04-01) 

PA25_31100.LST 2.51 kb, liczba pobrań: 2 (od 2025-04-01) 

PA25_32000.LST 404 b, liczba pobrań: 2 (od 2025-04-01) 

Tylko zalogowani mogą pobierać załączniki.
___
Press play on tape...

12 Ostatnio edytowany przez Bca (Wczoraj 08:59:23)

Oczywiście MAW! dobrze że wywaliłeś POKE 54018 choć to prima aprilis
Nadmierne Pokowanie może wywoływać skutki uboczne.

TODO: skrócić nazwy plików. *.LST

13

Nie chodzi o nadmierne pokowanie, a o to, co kryje się za wielokrotnym użyciem 54018 - posiłkowałem się tym:

https://atarionline.pl/v01/index.php?start_from=20&ucat=7&archive=&subaction=showfull&id=1597400834&ct=poczatki napisał/a:

Rzeczywiste uruchomienie silnika nastąpi, gdy na bazie tranzystora Q2 pojawi się napięcie +5V doprowadzone tam z pinu 8 gniazda SIO. Pin 8 to MOTOR CONTROL. Linią tą steruje tranzystor Q7, znajdujący się na płycie Atari, z kolei tranzystor Q7 sterowany jest przez układ PIA 6520, poprzez jego pin 39 opisany jako CA2. Wydanie polecenia POKE 54018,52 otwiera tranzystor Q7, Q2 i Q1. Silnik kręci. Natomiast POKE 54018,60 blokuje całość i silnik nie kręci pomimo włączenia klawisza PLAY.

Lepiej dmuchać na zimne - jeszcze ktoś odpali PA'25 na real Atari i kto wie, co wywoła taki stresstest (200 przełączeń co mniej niż sekunda) na PIA i linię tranzystorową...

___
Press play on tape...

14

Z lekkim poślizgiem, ale chyba czas zamknąć. Prosiłbym, jeśli jest coś jeszcze do dokończenia, o wprowadzenie ostatnich poprawek i wygenerowanie jednego finalnego pliku - nie chciałbym przez nieuwagę wyrzucić czyjegoś kodu.
Niestety żałuję, ale nie dane mi było pouczestniczyć - a taka data jest! Może w następnym roku?

Dziękuję wszystkim za wkład i uczestnictwo.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

15 Ostatnio edytowany przez maw (Wczoraj 12:56:43)

Szkoda, że nie miałeś okazji dodać swojego :(

Finalny kod (niestety, jeszcze z paroma błędami):

0 GOSUB 32000
1 GOSUB 32600
2 GOSUB 31100
3 GOSUB 31000
11111 END 
31000 ENTER "H6:PA25_31000.LST"
31100 REM 31100 - LOADING SCREEN, INTRODUCTION
31101 REM SOME INFO BEFORE DEMO MODE AND LOADING SCREEN BY MAW
31102 E=24:L=E-1:W=25:ED=52:DIM BE$(E):BE$="BOOT ERROR              ":DIM PA25$(E):PA25$="PRIMA APRILIS COMPO 2025":POKE 82,2
31103 FOR I=0 TO W:? CHR$(125):? BE$:? "be patient...":SOUND 0,8,ED,10:ED=ED+(ED=52)*8-(ED=60)*8:NEXT I
31104 SOUND 0,12,ED,10:ED=ED+8:IF ED=68 THEN ED=52:REM BCA #ORYGINAL MOGL ZABIC PIA/KOREKTA MAW
31105 ? CHR$(125);BE$:IF E=0 THEN W=W-1:IF W=0 THEN POKE 54018,60:GOTO 31110
31106 LL=L*RND(0)+1:IF PA25$(LL,LL)="*" THEN 31104
31107 BE$(LL,LL)=CHR$(128+ASC(PA25$(LL,LL))):PA25$(LL,LL)="*":E=E-1:GOTO 31104
31110 ? CHR$(125):POKE 559,0:POKE 82,0:POSITION 0,5:FOR N=20 TO 23:? 312;N;"POKE 656,0:POKE 657,0:? ";CHR$(34);
31111 FOR I=0 TO 39
31112 Z0=124*RND(0):IF (Z0>26 AND Z0<35) THEN 31112
31113 Z0=Z0+INT(RND(0)*2)*128:SOUND 0,Z0,10,10:? CHR$(Z0);:NEXT I
31114 ? CHR$(34);";:RETURN":? :NEXT N:SOUND 0,0,0,0:? :? "POKE 842,12:CONT":POSITION 2,0:POKE 842,13:STOP 
31115 GRAPHICS 12:POKE 559,0:DL=PEEK(560)+PEEK(561)*256:EKR=PEEK(88)+PEEK(89)*256:POKE DL+3,PEEK(DL+3)-2:POKE 710,0
31116 DL2L=PEEK(DL+26):DL2H=PEEK(DL+27):FOR I=DL+6 TO DL+24:POKE I,PEEK(I)-2:NEXT I:POKE DL+26,DL2L-64:POKE DL+27,DL2H-1
31117 RESTORE 32000:FNT=DL2L+DL2H*256+64:TRAP 31120
31118 READ A,B,C,D,E,F,G,H:POKE FNT+0,A:POKE FNT+1,B:POKE FNT+2,C:POKE FNT+3,D:POKE FNT+4,E:POKE FNT+5,F:POKE FNT+6,G
31119 POKE FNT+7,H:FNT=FNT+8:GOTO 31118
31120 X=0:Y=19:XD=0.9:YD=-0.33:C=0:POKE 559,34:POKE 756,DL2H-1
31121 GOSUB 31220+C:COLOR 108+C:PLOT 0,Y:DRAWTO X,19:C=C+1:IF C>3 THEN C=0
31130 X=X+XD:IF X>38 THEN X=39
31131 IF X>1 THEN GOTO (31140+C)
31132 GOTO 31150
31140 POSITION X-1,18:? #6;"ab";:POSITION X-1,19:? #6;"cd";:GOTO 31150
31141 POSITION X-1,18:? #6;"ef";:POSITION X-1,19:? #6;"gh";:GOTO 31150
31142 POSITION X-1,18:? #6;"ij";:POSITION X-1,19:? #6;"kl";:GOTO 31150
31143 REM 
31150 Y=Y+YD:IF Y>0 THEN 31121
31160 X=0:Y=18:C=0
31170 GOSUB 31220+C:COLOR 108+C:PLOT X,0:DRAWTO 39,Y:C=C+1:IF C>3 THEN C=0
31180 X=X+XD:IF X>38 THEN X=39
31190 Y=Y+YD:IF Y>0 THEN 31170
31200 C=106:POKE 752,1:FOR I=0 TO 1000:FOR N=0 TO 3:GOSUB (31220+N)
31201 R=32020+RND(0)*54:RESTORE R:READ X,Y,D
31202 IF D>0 THEN POSITION X+INT(RND(0)*D),Y:? #6;"k";
31203 IF D<0 THEN POSITION X,Y-INT(D*RND(0))-1:? #6;"k";
31218 NEXT N:NEXT I
31219 REM LINIE DYNAMICZNE
31220 POKE 656,0:POKE 657,0:? "uºãrÁÝŠÓn·ðyNaq¸TË7íð̱—xò/V¥ÍYX×ǺÜ";:RETURN 
31221 POKE 656,0:POKE 657,0:? "Ci¬ÒújŽ¿$RIö¼éX§¦.²yÂSítÛAò%ö8Ð/¬zHˆ\M";:RETURN 
31222 POKE 656,0:POKE 657,0:? "sK®½ßñ=§fÀ9²¾Î`äfiåôªYá`dŠI²9¾gÔq‚¯ê˜";:RETURN 
31223 POKE 656,0:POKE 657,0:? "ûNñ$JÝ-ì÷¶áŒ7(3ög´±¶uûÕH:ÐñUsˆJÄX\°'";:RETURN 
31230 GOTO 31200
31999 RETURN 
32000 DATA 0,0,0,0,16,16,16,38
32001 DATA 0,0,0,0,3,3,0,3
32002 DATA 0,0,0,0,0,0,0,112
32003 DATA 0,0,0,0,0,0,0,11
32004 DATA 0,0,0,0,24,22,63,254
32005 DATA 0,7,55,6,14,52,4,0
32006 DATA 63,253,248,126,5,4,2,0
32007 DATA 0,0,0,0,1,0,0,0
32008 DATA 19,127,63,231,64,128,128,0
32009 DATA 248,216,192,224,152,200,64,0
32010 DATA 31,11,3,1,0,0,0,0
32011 DATA 252,252,56,184,104,168,0,0,"TRAP"
32020 DATA 11,0,4
32021 DATA 24,0,4
32022 DATA 11,1,-5
32023 DATA 12,1,-5
32024 DATA 13,1,-5
32025 DATA 14,1,-5
32026 DATA 15,1,-5
32027 DATA 16,1,-5
32028 DATA 17,1,-5
32029 DATA 18,1,-5
32030 DATA 19,1,-5
32031 DATA 20,1,-5
32032 DATA 21,1,-5
32033 DATA 22,1,-5
32034 DATA 23,1,-5
32035 DATA 24,1,-5
32036 DATA 25,1,-5
32037 DATA 26,1,-5
32038 DATA 27,1,-5
32039 DATA 2,6,35
32040 DATA 10,7,-5
32041 DATA 27,7,-5
32042 DATA 11,8,6
32043 DATA 21,8,6
32044 DATA 11,9,2
32045 DATA 15,9,8
32046 DATA 25,9,2
32047 DATA 11,10,-3
32048 DATA 17,10,4
32049 DATA 26,10,-3
32050 DATA 12,11,-3
32051 DATA 16,11,6
32052 DATA 25,11,-3
32053 DATA 13,12,5
32054 DATA 20,12,5
32055 DATA 14,13,5
32056 DATA 21,13,5
32057 DATA 18,14,2
32058 DATA 15,15,8
32059 DATA 11,15,-2
32060 DATA 26,15,-2
32061 DATA 12,16,-3
32062 DATA 13,16,-4
32063 DATA 14,16,-5
32064 DATA 15,16,-6
32065 DATA 16,16,-7
32066 DATA 17,16,-7
32067 DATA 18,16,-8
32068 DATA 19,16,-8
32069 DATA 20,16,-7
32070 DATA 21,16,-7
32071 DATA 22,16,-6
32072 DATA 23,16,-5
32073 DATA 24,16,-4
32074 DATA 25,16,-3
32599 RETURN 
32600 REM 32600 - BLOKI INICJACYJNE
32601 GRAPHICS 8:POKE 106,128:GRAPHICS 8:GRAPHICS 0:POKE 82,0
32699 RETURN 
32700 REM ****************************
32701 REM * PRIMA APRILIS COMPO 2025 *
32702 REM ****************************
32703 REM BY MONO,PABLOZ,MAW,BCA
32704 REM ATARI JEST LEPSZE OD ZX TRUMNY
32705 REM JEDZIEMY OD KONCA BASICA PANOWIE(I PANIE)
32706 REM 32600 - REZERWACJA PAMIECI (WSPOLNA DLA WSZYSTKICH) - OBNIZ RAMTOP, ZAKLNIJ DUCHY
32707 REM 32000 - REZERWACJA BLOKU LINII DLA DATA
32708 REM 31100 - LOADING SCREEN, INTRODUCTION
32709 REM 31000 - ...
32766 RETURN :REM NIE ZAPOMNIEC O POKE 82,0!!!

Dzięki wszystkim za uczestnictwo, zwłaszcza Mono za pamiętanie o compo!

PS. przydała by się dogrywka :-)

Post's attachments

PASTA25.LST 4.89 kb, liczba pobrań: 3 (od 2025-04-01) 

Tylko zalogowani mogą pobierać załączniki.
___
Press play on tape...

16

Ja również bardzo dziękuję za tegoroczne compo! W ramach prima-aprylisowego żartu, w tym roku napisałem do compo zerolinijkowiec, ale nikt tego nawet niestety nie zauważył i nie docenił:-(
:-)

PS. Pozdrowienia dla wszystkich, może w przyszłym roku się znowu załapię jak w niektórych poprzednich latach:-)