276

(117 odpowiedzi, napisanych Programowanie - 8 bit)

O to chodziło! Dzięki!

277

(117 odpowiedzi, napisanych Programowanie - 8 bit)

Potrzebuję przedefiniować sobie zmienną.

    opt o+ h- c- ?+

MEM_BASE = 0
MEM_OSLO = 1
MEM_OSHI = 2
MEM_EXT = 3

    org $2000

.local
MEM = MEM_OSLO
    .byte MEM
.endl

.local
MEM = MEM_OSHI
    .byte MEM
.endl

.local
MEM = MEM_EXT
    .byte MEM
.endl

.local
MEM = MEM_BASE
    .byte MEM
.endl

    end

Jak to zrobić bo to generuje mi błędy:

$ mads label.asx 
label.asx (13) WARNING: Infinite loop by label MEM
MEM = MEM_OSHI
label.asx (18) ERROR: Label MEM declared twice (BANK=0)
MEM = MEM_EXT
label.asx (23) ERROR: Label MEM declared twice (BANK=0)
MEM = MEM_BASE
label.asx (28) ERROR: Label MEM declared twice (BANK=0)

278

(9 odpowiedzi, napisanych Programowanie - 8 bit)

Ale przy symbolu akurat to mogłoby używać ASCII zawsze. Przy inc i ins nie ma z tym przecież problemu :)

279

(128 odpowiedzi, napisanych Programowanie - 8 bit)

$ zx02 infile outfile

  7680 conan.gfx
  1629 conan.gfx.zx02
30653 Landscape.xex
13546 Landscape.xex.zx02
  8192 RiverRaid.rom
  6312 RiverRaid.rom.zx02

280

(9 odpowiedzi, napisanych Sprzęt - 8bit)

Dzięki Zenon za informacje!

281

(9 odpowiedzi, napisanych Sprzęt - 8bit)

Schematu w TA nie było. D2 jest bardzo intuicyjne, ale wolałem się upewnić :)
Czy wersję 64K robiłeś jeszcze dla kogoś czy tylko dla siebie? Masz może te zmodyfikowane programiki do tego?

282

(9 odpowiedzi, napisanych Sprzęt - 8bit)

Czy ktoś dysponuje może specyfikacją SiDiCar-a 64K (lub większego) o którym mowa w Tajemnicach Atari? Interesuje mnie rejestr sterujący CARSET ($D5FF) i bit który mapuje dodatkowe 32K.

283

(17 odpowiedzi, napisanych Programowanie - 8 bit)

Artykuł na AtariOnline linkowany przez Pavrosa jest dostępny tutaj.

284

(57 odpowiedzi, napisanych Sprawy atari.area)

Starzy nie odejdą, jeśli będzie im zależało.

Lizard napisał/a:

SpartaDOS X na partycjach dysku twardego i ramdyskach pozwala na utworzenie tylko systemu plików SpartaDOS-u. W przypadku dyskietek można zadecydować, czy ma być SDFS, czy AtariDOS.

ATARIDOS.SYS radzi sobie z partycjami MyDOS-a. Częściowo obsługuje nawet podkatalogi - czyta zawartość i zapisuje w nich pliki, ale nie pozwala na tworzenie i usuwanie.

COLD /N odłącza wszystkie kartridże. Spróbuj COLD /C, który odłącza tylko SDX.

Człowiek uczy się całe życie. Dzięki! Widzę, że nadszedł czas na ponowne przeczytanie users manuala :)

W SDX nie ma sterownika do dysków MyDOS (formaty większe niż dyskietka obsługiwane są wariantem niekompatybilnym z AtariDOS - są tam inne linki i statusy w directory) a wyłącznie AtariDOS (sterownik ATARIDOS.SYS).
Musisz odłączyć SDX żeby zbootować MyDOS-a z dyskietki, więc:
1. Może masz jakieś narzędzie które po odłączeniu cartridge'a pozwala na ponowne jego podłączenie tak żeby partycje były widoczne?
2. Wyrzuć SDX (usuń fizycznie z carta) z AVG i bootuj MyDOS-a z włączonym cartem.
Oczywiście jeśli chcesz używać SDX potem, no to musisz sobie go z powrotem na carta nagrać.

BOOT to jest polecenie Sparty i działa z dyskami z filesystemem Sparty, bo tylko tam jest miejsce do zapisania wskaźnika do pliku, który ma być załadowany automatycznie przez loader znajdujący się w boot-sektorach (Sparta DOS ma taki loader od najpierwszych wersji - na dyskietkowych Spartach BOOT wskazuje na DOS-a). Z partycją inną niż Sparta DOS (3.* lub X), czyli Atari DOS 1.x, 2.x, 3.x, MyDOS, BiboDOS, TinyDOS, TopDOS, DOS XL, Atari DOS XE, itd. polecenie BOOT nie będzie działać.

W innych DOS-ach trzeba przede wszystkim umieścić w sektorach 1-3 loader który umożliwia automatyczne wystartowanie jakiegoś pliku - np. xBootDOS, a następnie umieścić żądany plik z nazwą ustaloną odpowiednio do wymagań tegoż loadera (dla xBootDOS ma to być AUTO) na dysku.

Filesystem AtariDOS z poziomu SDX powinno się dać zrobić używając polecenia FORMAT.

Zdaje mi się, że trzymanie ESC podczas bootowania komputera powinno wyłączyć SDX (albo zablokuj w tym AVG).

Edit: Zapomniałem, że można odłączyć SDX podczas bootowania przez COLD /N.

288

(9,967 odpowiedzi, napisanych Bałagan)

Mam nadzieję, że nie stawiasz znaku równości miedzy okładem, czy chlebem z pajęczyną a trzema zdrowaśkami?

289

(10 odpowiedzi, napisanych Bałagan)

$ dd if=input.file of=output.file bs=1 skip=bytes_to_skip count=bytes_to_copy

:D:D

290

(23 odpowiedzi, napisanych Programowanie - 8 bit)

Można to zrobić wybierając tryb graficzny: GR.8, GR.15, GR.9/10/11.

291

(8 odpowiedzi, napisanych Programowanie - 8 bit)

Wszystko pięknie, ale w takim razie dlaczego 1,2,4 a nie 1,2,3? Przez łączoną parę 3+4? Szybsze dzielniki dałoby się uzyskać mając 1,2,3...

292

(23 odpowiedzi, napisanych Programowanie - 8 bit)

@QTZ: "Całe życie byłem drugi..." :) Szacun za pomysł z ukrywaniem danych - RODO w praktyce :). Poza tym tak - to abstrakcyjny przykład i już poprawiony o brakujący PLOT.

Edit: Na sterowniku S: są zdefiniowane operacje GET i PUT odpowiadające LOCATE i PLOT. Co do INPUT-a czy PRINT-a - to są sekwencje GET i PUT ale, jak sam napisałeś, z dodatkiem kodu EOL. Być może INPUT-a się nie da, bo robiąc GET na S: nigdy nie dostaniemy EOL-a?

293

(23 odpowiedzi, napisanych Programowanie - 8 bit)

Jeśli używasz GR.8 (czyli z oknem tekstowym) to można skorzystać z faktu że ekran graficzny jest większy niż 160 linii :) A wtedy

COLOR 1:PLOT 7-N,160:? PEEK(E+40*160)

zwróci interesujący nas bajt a na ekranie nie będziemy mieć śmiecia :)
Nie wpadłem tylko na pomysł jak zrobić XOR. Ale @maw - pomysł jest genialny! "Szkoda że nie mój" :)

Edit: No chyba że LOCATE'm weźmiemy kolor i go "zanegujemy" inkrementując. A wtedy procedura negująca bit a bajcie będzie wyglądać mniej więcej tak:

10 POKE E+40*160,B:LOCATE 7-N,160,C:COLOR C+1:PLOT 7-N,160:B=PEEK(E+40*160):RETURN

B to bajt wejściowy i wyjściowy, N to numer bitu.

Edit: Poprawniejsza negacja wg definicji: COLOR 1-C :)

294

(128 odpowiedzi, napisanych Programowanie - 8 bit)

@xxl: A czym tego PackFire można kompresować na PC? Najfajniej gdyby było na unixoidy.

295

(23 odpowiedzi, napisanych Programowanie - 8 bit)

Jeszcze dla uściślenia - BASIC wbudowany w serii XL/XE to nie jest BASIC XL, tylko Atari BASIC :) Popraw tytuł wątku, żeby nie wprowadzać potomnych w błąd :)

Edit: Uzupełniłem jeszcze pierwszy post o załączniki.

296

(23 odpowiedzi, napisanych Programowanie - 8 bit)

Nie ma. Najlepiej to chyba zrobić USR-em:

FP0 = $D4

  pla    ;ilosc argumentow ignorujemy

  pla    ;pierwszy argument
  sta FP0+1
  pla
  sta FP0

  pla    ;drugi argument
  AND/EOR/ORA FP0+1
  sta FP0+1
  pla
  AND/EOR/ORA FP0
  sta FP0
  rts

Wywołujemy

X=USR(ADR("powyzszy_kod"),A,B)

Edit: Załączniki.

297

(15 odpowiedzi, napisanych Fabryka - 8bit)

Super! Dzięki! :)

298

(9,967 odpowiedzi, napisanych Bałagan)

TVN: cała prawda całą dobę
TVP: nieprzerwany dostęp do wiarygodnej i rzetelnej informacji
Polsat: włącz emocje

Jak tu im nie wierzyć? :D

Edit: Nie oglądam za często, ale ponoć motto TV TRWAM to "a means of social communication, not mediamanipulation" https://wiki2.org/en/Telewizja_Trwam

299

(19 odpowiedzi, napisanych Różne)

Rewelacja! Pozwoliłem sobie:
- naprawić błędy z zapętlaniem muzyki (zmiana z TRAP:RESTORE na IF:RESTORE),
- docyklować nieco żeby muzyka nie przyspieszała kiedy ramka przechodzi z dołu na górę (X=RND(0)),
- dodać wyjście na wciśnięcie klawisza konsoli (PEEK(53279)),
- zlikwidować mój kod synchronizujący i wpleść kod do perkusji (POKE PC3,0) w kod Cypriana,
- dodać info o edycji i autorach w oknie tekstowym GR.8.

100 PF1=53760:PC1=PF1+1:PF2=PF1+2:PC2=PF1+3:PF3=PF1+4:PC3=PF1+5:PC=PF1+8:POKE PC,0

110 GR.8
111 Z=1024*2:DIM P$(Z*2):X=(INT(ADR(P$)/Z)+1)*Z:L=X+32+768
112 POKE 54279,X/256:POKE 53277,3:POKE 559,62:POKE 623,1+16
113 FOR K=0 TO 3:POKE 704+K,0:NEXT K:POKE 710,2:POKE 711,0
114 FOR K=0 TO 3:POKE 53248+K,48+K*32:POKE 53252+K,176+K*8:NEXT K
115 FOR K=0 TO 4:POKE 53256+K,255:NEXT K

117 ? "Prima Aprilis Compo 2022 W.A.R.":? "by Mono & Cyprian";

120 FOR N=L TO L+192+40
130 POKE N-40,0:POKE N+256-40,0:POKE N+512-40,0:POKE N+768-40,0:POKE N+1024-40,0
131 IF N-L>191 THEN K=RND(0):K=RND(0):GOTO 133
132 POKE N,255:POKE N+256,255:POKE N+512,255:POKE N+768,255:POKE N+1024,255

133 POKE PC3,0

134 XNEW=32+PEEK(53770):YNEW=PEEK(53770):IF YNEW>128 THEN YNEW=YNEW-128
135 YNEW=YNEW+32:COLOR 1:PLOT XNEW,YNEW:COLOR 0:PLOT XOLD,YOLD
136 XOLD=XTMP:YOLD=YTMP:XTMP=XNEW:YTMP=YNEW

140 READ F1,C1,F2,C2,F3,C3:IF F1<0 THEN RESTORE:GOTO 140
141 POKE PF1,F1:POKE PC1,C1:POKE PF2,F2:POKE PC2,C2:POKE PF3,F3:POKE PC3,C3

145 IF PEEK(53279)<>7 THEN END

150 NEXT N
160 GOTO 120

1000 DATA 173,168,0,160,9,0,173,166,0,160,9,0,173,164,0,160,9,0,173,162,0,160,9,0
1001 DATA 230,168,0,160,9,0,230,166,0,160,9,0,230,164,0,160,9,0,230,162,0,160,9,0
1002 DATA 173,168,0,160,9,0,173,166,0,160,9,0,173,164,0,160,9,0,173,162,0,160,9,0
1003 DATA 144,168,0,160,9,0,144,166,0,160,9,0,144,164,0,160,9,0,153,168,0,160,9,0
1004 DATA 173,168,0,160,9,0,173,166,0,160,9,0,173,164,0,160,9,0,173,162,0,160,9,0
1005 DATA 230,168,0,160,9,0,230,166,0,160,9,0,230,164,0,160,9,0,230,162,0,160,9,0
1006 DATA 173,168,0,160,9,0,173,166,0,160,9,0,173,164,0,160,9,0,173,162,0,160,9,0
1007 DATA 144,168,0,160,9,0,144,166,0,160,9,0,144,164,0,160,9,0,153,168,0,160,9,0
1008 DATA 173,168,68,170,9,0,173,166,68,168,9,0,173,164,57,170,9,0,173,162,57,168,9,0
1009 DATA 230,168,57,166,9,0,230,166,57,164,9,0,230,164,57,162,9,0,230,162,57,160,9,0
1010 DATA 173,168,57,160,9,0,173,166,57,160,9,0,173,164,57,170,9,0,173,162,57,168,9,0
1011 DATA 136,168,33,170,9,0,136,166,33,168,9,0,136,164,33,166,9,0,136,162,37,170,9,0
1012 DATA 128,168,42,170,9,0,128,166,42,168,9,0,128,164,50,170,9,0,128,162,50,168,9,0
1013 DATA 136,168,50,166,9,0,136,166,50,164,9,0,136,164,50,162,9,0,136,162,50,160,9,0
1014 DATA 153,168,50,160,9,0,153,166,50,160,9,0,153,164,50,160,9,0,153,162,50,160,9,0
1015 DATA 128,168,50,160,9,0,128,166,50,160,9,0,128,164,50,160,9,0,128,162,50,160,9,0
1016 DATA 114,168,37,170,9,0,114,166,0,160,9,0,114,164,37,170,9,0,114,162,37,168,9,0
1017 DATA 102,168,37,166,9,0,102,166,37,164,9,0,102,164,42,170,9,0,102,162,42,168,9,0
1018 DATA 91,168,45,170,9,0,91,166,45,168,9,0,91,164,45,166,9,0,91,162,42,170,9,0
1019 DATA 114,168,45,170,9,0,114,166,45,168,9,0,114,164,50,170,9,0,114,162,50,168,9,0
1020 DATA 173,168,57,170,9,0,173,166,57,168,9,0,173,164,68,170,9,0,173,162,68,168,9,0
1021 DATA 153,168,68,166,9,0,153,166,68,164,9,0,153,164,68,162,9,0,153,162,68,160,9,0
1022 DATA 136,168,68,160,9,0,136,166,68,160,9,0,136,164,68,170,9,0,136,162,68,168,9,0
1023 DATA 128,168,64,170,9,0,128,166,64,168,9,0,128,164,60,170,9,0,128,162,60,168,9,0
1024 DATA 173,168,57,170,9,0,173,166,57,168,9,0,173,164,42,170,9,0,173,162,42,168,9,0
1025 DATA 230,168,42,166,9,0,230,166,42,164,9,0,230,164,42,162,9,0,230,162,42,160,9,0
1026 DATA 173,168,42,160,9,0,173,166,42,160,9,0,173,164,42,170,9,0,173,162,42,168,9,0
1027 DATA 136,168,33,170,9,0,136,166,33,168,9,0,136,164,33,166,9,0,136,162,37,170,9,0
1028 DATA 128,168,42,170,9,0,128,166,42,168,9,0,128,164,50,170,9,0,128,162,50,168,9,0
1029 DATA 136,168,50,166,9,0,136,166,50,164,9,0,136,164,50,162,9,0,136,162,50,160,9,0
1030 DATA 153,168,50,160,9,0,153,166,50,160,9,0,153,164,50,160,9,0,153,162,50,160,9,0
1031 DATA 128,168,50,160,9,0,128,166,50,160,9,0,128,164,50,160,9,0,128,162,50,160,9,0
1032 DATA 114,168,37,170,9,0,114,166,0,160,9,0,114,164,37,170,9,0,114,162,37,168,9,0
1033 DATA 102,168,37,166,9,0,102,166,37,164,9,0,102,164,42,170,9,0,102,162,42,168,9,0
1034 DATA 91,168,45,170,9,0,91,166,45,168,9,0,91,164,57,170,9,0,91,162,57,168,9,0
1035 DATA 114,168,57,166,9,0,114,166,57,164,9,0,114,164,37,170,9,0,114,162,37,168,9,0
1036 DATA 173,168,42,170,9,0,173,166,42,168,9,0,173,164,42,166,9,0,173,162,42,164,9,0
1037 DATA 230,168,42,162,9,0,230,166,42,160,9,0,230,164,42,160,9,0,230,162,42,160,9,0
1038 DATA 173,168,42,160,9,0,173,166,42,160,9,0,173,164,42,160,9,0,173,162,42,160,9,0
1039 DATA 0,160,42,160,9,0,0,160,42,160,9,0,0,160,42,160,9,0,0,160,42,160,9,0
1040 DATA 173,168,68,170,1,5,173,166,68,168,1,0,173,164,57,170,1,0,173,162,57,168,1,0
1041 DATA 230,168,57,166,0,5,230,166,57,164,0,5,230,164,57,162,0,5,230,162,57,160,0,5
1042 DATA 173,168,57,160,1,5,173,166,57,160,1,0,173,164,57,170,1,0,173,162,57,168,1,0
1043 DATA 136,168,33,170,1,5,136,166,33,168,1,0,136,164,33,166,1,0,136,162,37,170,1,0
1044 DATA 128,168,42,170,1,5,128,166,42,168,1,0,128,164,50,170,1,0,128,162,50,168,1,0
1045 DATA 136,168,50,166,0,5,136,166,50,164,0,5,136,164,50,162,0,5,136,162,50,160,0,5
1046 DATA 153,168,50,160,1,5,153,166,50,160,1,0,153,164,50,160,1,0,153,162,50,160,1,0
1047 DATA 128,168,50,160,1,5,128,166,50,160,1,0,128,164,50,160,1,0,128,162,50,160,1,0
1048 DATA 114,168,37,170,1,5,114,166,0,160,1,0,114,164,37,170,1,0,114,162,37,168,1,0
1049 DATA 102,168,37,166,0,5,102,166,37,164,0,5,102,164,42,170,0,5,102,162,42,168,0,5
1050 DATA 91,168,45,170,1,5,91,166,45,168,1,0,91,164,45,166,1,0,91,162,42,170,1,0
1051 DATA 114,168,45,170,1,5,114,166,45,168,1,0,114,164,50,170,1,0,114,162,50,168,1,0
1052 DATA 173,168,57,170,1,5,173,166,57,168,1,0,173,164,68,170,1,0,173,162,68,168,1,0
1053 DATA 153,168,68,166,0,5,153,166,68,164,0,5,153,164,68,162,0,5,153,162,68,160,0,5
1054 DATA 136,168,68,160,1,5,136,166,68,160,1,0,136,164,68,170,1,0,136,162,68,168,1,0
1055 DATA 128,168,64,170,1,5,128,166,64,168,1,0,128,164,60,170,1,0,128,162,60,168,1,0
1056 DATA 173,168,57,170,1,5,173,166,57,168,1,0,173,164,42,170,1,0,173,162,42,168,1,0
1057 DATA 230,168,42,166,0,5,230,166,42,164,0,5,230,164,42,162,0,5,230,162,42,160,0,5
1058 DATA 173,168,42,160,1,5,173,166,42,160,1,0,173,164,42,170,1,0,173,162,42,168,1,0
1059 DATA 136,168,33,170,1,5,136,166,33,168,1,0,136,164,33,166,1,0,136,162,37,170,1,0
1060 DATA 128,168,42,170,1,5,128,166,42,168,1,0,128,164,50,170,1,0,128,162,50,168,1,0
1061 DATA 136,168,50,166,0,5,136,166,50,164,0,5,136,164,50,162,0,5,136,162,50,160,0,5
1062 DATA 153,168,50,160,1,5,153,166,50,160,1,0,153,164,50,160,1,0,153,162,50,160,1,0
1063 DATA 128,168,50,160,1,5,128,166,50,160,1,0,128,164,50,160,1,0,128,162,50,160,1,0
1064 DATA 114,168,37,170,1,5,114,166,0,160,1,0,114,164,37,170,1,0,114,162,37,168,1,0
1065 DATA 102,168,37,166,0,5,102,166,37,164,0,5,102,164,42,170,0,5,102,162,42,168,0,5
1066 DATA 91,168,45,170,1,5,91,166,45,168,1,0,91,164,57,170,1,0,91,162,57,168,1,0
1067 DATA 114,168,57,166,1,5,114,166,57,164,1,0,114,164,37,170,1,0,114,162,37,168,1,0
1068 DATA 173,168,42,170,1,5,173,166,42,168,1,0,173,164,42,166,1,5,173,162,42,164,1,0
1069 DATA 230,168,42,162,0,5,230,166,42,160,0,5,230,164,42,160,0,5,230,162,42,160,0,5
1070 DATA 173,168,42,160,1,5,173,166,42,160,1,0,173,164,42,160,1,0,173,162,42,160,1,0
1071 DATA 0,160,42,160,9,0,0,160,42,160,9,0,0,160,42,160,9,0,0,160,42,160,9,0
1072 DATA 0,160,57,170,9,0,0,160,0,160,9,0,0,160,57,170,9,0,0,160,57,168,9,0
1073 DATA 173,168,57,166,9,0,173,166,57,164,9,0,173,164,50,170,9,0,173,162,50,168,9,0
1074 DATA 173,162,57,170,9,0,173,162,57,168,9,0,173,162,57,166,9,0,173,162,57,164,9,0
1075 DATA 153,168,42,170,5,5,153,166,42,168,5,0,153,164,42,166,5,0,153,162,37,170,5,0
1076 DATA 173,168,33,170,1,5,173,166,0,160,1,0,173,164,33,170,0,5,173,162,33,168,0,5
1077 DATA 230,168,33,166,0,5,230,166,33,164,0,0,230,164,37,170,1,5,230,162,37,168,1,0
1078 DATA 173,168,33,170,0,5,173,166,33,168,0,5,173,164,37,170,1,5,173,162,37,168,1,0
1079 DATA 136,168,42,170,1,5,136,166,42,168,1,0,136,164,42,166,1,0,136,162,42,164,1,0
1080 DATA 128,168,50,170,1,5,128,166,0,160,1,0,128,164,50,170,0,5,128,162,50,168,0,5
1081 DATA 173,168,50,166,0,5,173,166,50,164,0,0,173,164,57,170,1,5,173,162,57,168,1,0
1082 DATA 128,168,50,170,0,5,128,166,50,168,0,5,128,164,50,166,1,5,128,162,50,164,1,0
1083 DATA 153,168,42,170,1,5,153,166,42,168,1,0,153,164,42,166,1,0,153,162,37,170,1,0
1084 DATA 173,168,33,170,1,5,173,166,0,160,1,0,173,164,33,170,0,5,173,162,33,168,0,5
1085 DATA 230,168,33,166,0,5,230,166,33,164,0,0,230,164,37,170,1,5,230,162,37,168,1,0
1086 DATA 173,168,33,170,0,5,173,166,33,168,0,5,173,164,37,170,1,5,173,162,37,168,1,0
1087 DATA 153,168,42,170,1,5,153,166,42,168,1,0,153,164,42,166,1,0,153,162,42,164,1,0
1088 DATA 0,160,57,170,1,5,0,160,0,160,1,0,0,160,57,170,0,5,0,160,57,168,0,5
1089 DATA 173,168,57,166,0,5,173,166,57,164,0,0,173,164,50,170,1,5,173,162,50,168,1,0
1090 DATA 173,162,57,170,0,5,173,162,57,168,0,5,173,162,57,166,1,5,173,162,57,164,1,0
1091 DATA 153,168,42,170,1,5,153,166,42,168,1,0,153,164,42,166,1,0,153,162,37,170,1,0
1092 DATA 173,168,33,170,1,5,173,166,0,160,1,0,173,164,33,170,0,5,173,162,33,168,0,5
1093 DATA 230,168,33,166,0,5,230,166,33,164,0,0,230,164,37,170,1,5,230,162,37,168,1,0
1094 DATA 173,168,33,170,0,5,173,166,33,168,0,5,173,164,37,170,1,5,173,162,37,168,1,0
1095 DATA 136,168,42,170,1,5,136,166,42,168,1,0,136,164,42,166,1,0,136,162,42,164,1,0
1096 DATA 128,168,50,170,1,5,128,166,50,168,1,0,128,164,37,170,0,5,128,162,37,168,0,5
1097 DATA 128,168,37,166,0,5,128,166,37,164,0,0,128,164,42,170,1,5,128,162,42,168,1,0
1098 DATA 114,168,45,170,0,5,114,166,45,168,0,5,114,164,57,170,1,5,114,162,57,168,1,0
1099 DATA 114,168,57,166,1,5,114,166,57,164,1,0,114,164,37,170,1,0,114,162,37,168,1,0
1100 DATA 173,168,42,170,1,5,173,166,42,168,1,0,173,164,42,166,1,5,173,162,42,164,1,0
1101 DATA 173,162,42,162,0,5,173,162,42,160,0,5,173,162,42,160,0,5,173,162,42,160,0,5
1102 DATA 0,160,42,160,1,5,0,160,42,160,1,0,0,160,42,160,1,0,0,160,42,160,1,0
1103 DATA 0,160,42,160,9,0,0,160,42,160,9,0,0,160,42,160,9,0,0,160,42,160,9,0
1104 DATA 204,168,68,170,9,0,204,166,68,168,9,0,204,164,68,166,9,0,204,162,68,164,9,0
1105 DATA 204,162,50,170,9,0,204,162,50,168,9,0,204,162,50,166,9,0,204,162,45,170,9,0
1106 DATA 204,162,33,170,9,0,204,162,33,168,9,0,204,162,33,166,0,5,204,162,33,164,0,5
1107 DATA 204,162,33,162,0,5,204,162,33,160,0,5,204,162,33,160,0,5,204,162,33,160,0,5
1108 DATA 182,168,35,170,1,5,182,166,35,168,1,0,182,164,35,166,0,5,182,162,40,170,0,5
1109 DATA 182,162,45,170,1,5,182,162,45,168,1,0,182,162,35,170,1,5,182,162,35,168,1,0
1110 DATA 182,162,40,170,1,5,182,162,40,168,1,0,182,162,40,166,0,5,182,162,40,164,0,5
1111 DATA 182,162,50,170,0,5,182,162,50,168,0,5,182,162,50,166,0,5,182,162,50,164,0,5
1112 DATA 204,168,68,170,9,0,204,166,68,168,9,0,204,164,68,166,9,0,204,162,68,164,9,0
1113 DATA 204,162,50,170,9,0,204,162,50,168,9,0,204,162,50,166,9,0,204,162,45,170,9,0
1114 DATA 204,162,29,170,9,0,204,162,29,168,9,0,204,162,40,170,0,5,204,162,40,168,0,5
1115 DATA 204,162,40,166,0,5,204,162,40,164,0,5,204,162,40,162,0,5,204,162,40,160,0,5
1116 DATA 144,168,35,170,1,5,144,166,35,168,1,0,144,164,35,166,1,0,0,160,0,160,1,0
1117 DATA 144,168,35,170,1,5,144,166,35,168,1,0,144,164,35,166,1,0,0,160,0,160,1,0
1118 DATA 0,160,0,160,1,0,0,160,0,160,1,0,0,160,0,160,1,0,0,160,0,160,1,0
1119 DATA 144,168,35,170,1,5,144,166,35,168,1,0,144,164,35,166,1,0,0,160,0,160,1,0
1120 DATA 0,160,0,160,9,0,0,160,0,160,9,0,0,160,0,160,9,0,0,160,0,160,9,0
1121 DATA 144,168,35,170,1,5,144,166,35,168,1,0,144,164,35,166,1,0,0,160,0,160,1,0
1122 DATA 0,160,0,160,1,0,0,160,0,160,1,0,182,168,45,170,1,5,182,166,45,168,1,0
1123 DATA 173,168,42,170,1,5,173,166,42,168,1,0,173,164,42,166,1,0,173,162,42,164,1,0
1124 DATA -1,-1,-1,-1,-1,-1

32760 REM ---
32761 REM Prima Aprilis Compo 2022 W.A.R.
32762 REM by Mono & Cyprian

W załączniku .atr. Zaktualizowana też jest strona w Atariki.

Dzięki Cyprian za uczestnictwo! Może w następnym roku skusisz się na priorytet 0 w hiresie? :>

Edit: Jeszcze w kwestii wyjaśnienia. Na początku zabawy wstawiłem linijki z copyrightem na sam koniec kodu BASIC-a, bo wszystkie GOTO i GOSUB są obliczane w Atari BASIC-u począwszy od początku programu, więc te REM-y zawsze spowalniają kod. Ale okazało się że w zasadzie u nas mogły być na początku bo finalnie nie mamy procedur które wymagałyby szybkiego wykonania (a nawet trzeba było spowalniać). Nie zmieniałem jednak i zostało jak było na początku.

300

(19 odpowiedzi, napisanych Różne)

@Cyprian: Efekt  jest świetny. Spróbuj to włączyć w mój kod.
W linii 110 jest cała pętla grająca muzykę.
Procedura w liniach 10-60 czeka 6 ramek, przy czym w drugiej ramce zeruje AUDC3 (używane do perkusji).
Możesz to spokojnie zreorganizować i nie przejmuj się tym czy będzie chodzić szybciej, czy wolniej.
Twój efekt warto włączyć i chętnie poczekam.
A compo chyba już skończone bo jest 0:28 CEST :)