Elementy programowania Atari XL/XE – używanie narzędzi


Chciałbym zapytać, jeśli ktoś wie, jak zrzucić program w Atari BASIC napisany w emulatorze Atari 800Win do pliku BAS, lub dowolnego jako TXT (kod programu w Atari Basic)?

Zajrzałem dopiero do monitora Atari 800Win i jest tam polecenie WRITE start–adres end–adres – gdybym wiedział gdzie znajduje się program w BASIC w pamięci RAM Atari (pewnie jest w dokumentacji gdzieś), to bym zrzucił ten blok, ale trzeba to jeszcze zamienić na TXT, czytelne dla człowieka.

Czy ktoś zna szybką metodę?

I potem jak listing BAS zamienić na ATR lub cokolwiek, co można uruchomić w emulatorze jako samouruchamialne po wczytaniu, zamiast korzystania ze zrzutu stanu (*.a8s), którym operuję. Chodzi o zrobienie z napisanego programu w Atari Basic uruchamialnej gry w ATR lub czymkolwiek, ale nie w a8s.


Dzięki. Wszystkie metody podane wyżej działają:

LIST „P:” drukuje, ale nie wiem jeszcze, jak ustawić drukowanie do pliku, pobawię się już sam, dzięki. Działa.

LIST „H1:” działa – od razu daje gotowy listing, chociaż bez rozdziału linii (bez znacznika końca linii), ale to już da się ręcznie zrobić albo innym automatem, ważne, że jest i gotowe. Dzięki.

SAVE „H1:” trochę dziwnie zapisało, ale popróbuję, może się przyda ta opcja po przekonwertowaniu automatem jakimś. W każdym razie działa.

Dzięki.

Potem sprawdzę te samouruchamialne dyskietki. Dzięki.

Niby drobiazgi, ale trzeba najpierw włączyć w ustawieniach emulatora obsługę printer P i dysków H i bez Read Only, bo się nie zapisze.

Drobiazgi, ale ciekawe.
Dzięki. To wystarczyło.


[..]

… spróbuję, chociaż Atari 800Win ma tylko 4 dyski H (od H1 do H4), a do tego nie zawsze się udaje, wiesza się czasem emulator z powodu jakichś ustawień, których nie znam jeszcze, które to są. Raz zadziała, potem już nie chce (po ponownym uruchomieniu emulatora). Dziwne, ale znajdę dlaczego. I przy okazji ten H6.

Byłoby przydatne, bo musiałem przenieść do Worda, zamienić znaczek końca linii z tego zrzutu (podobny do >) na koniec akapitu i dopiero wyszedł super listing => w załączniku.


Pobawię się jeszcze, żeby to poznać. Dzięki. O to mi chodziło tylko. Jeszcze na dyskietkę i będzie koniec tego tematu. Super. READY[].

Chyba, że autor Atari 800Win dorobi opcję ‚Save to BAS’, byłoby szybciej. Z tego Monitora trzeba zrzucić cały blok kodu programu Atari Basic i zapisać do BAS w formie listingu gotowego ładnego, albo tego tokenowanego – do wyboru, żeby przydatne wybory były, nie więcej.

W każdym razie wystarczy tyle. Dzienks. Przydatna rzecz.

Pozostaje mi cieszyć się listingiem i teraz mogę go poprawić ładnie i uporządkować na wersję ładną programistycznie, przyjemnie będzie przenieść to do Turbo Pascala a potem PHP, żeby można było grać online.

Fajne.

Lubię to.

Ładnie wygląda w PDF.

Jeszcze dyskietka samouruchamialna i gotowe.

quest ver.04.01.txt
quest ver.04.01-1.txt – Notatnik.pdf

[..]

… tymczasem zalogowałem się, żeby podziękować, bo przed chwilą udało mi się zrobić samodzielnie, to radość własna. Dzięki.


Z tego artykułu podanego w linku udało się, ale nie wprost. Musiałem kombinować. Oto droga moja zrobienia ATR–a:

1. Zgranie sobie ze stron o Atari z działu użytki pliku: DOS II+ D 6.4+ (Basic autorun).atr.

2. Zgranie z linku w artykule programu bardzo fajnego, jak zdążyłem przejrzeć: MakeATR 0.06.

3. Za pomocą tego MakeATR 0.06 dodałem (Insert) – zgodnie z artykułem – plik gry z nazwą PROGRAM.BAS do wczytanego wcześniej (Open) DOS II+ D 6.4+ (Basic autorun).atr. i ustawiłem na ‚Lock’.

4. Zapisałem (Save as) do ATR z nazwą tą samą, co a8s ostatniej wersji gry z wczoraj (04.01 NOV.18.2015) i działa.

READY[]


Dzięki za pomoc. Dzięki temu nauczyłem się robić ATR–y własne. Chyba można robić własne dyskietki pełne gier i dem i programów, jak na Atari! Genialne.
W załączniku to, co udało mi się samemu zrobić.

Super zabawa. Uwielbiam to. Jak na Atari normalnie.

Dzięki wszystkim. Temat chyba wyczerpany – jak dla mnie przynajmniej. Wszystko już wiem. Jeszcze pomyślę, jak wczytać listing z TXT do BAS, żeby sobie uruchamiać, ale to chyba będzie proste.

READY[]

Thanks.

====
Uzup:

To ma być szablon dostępny dla każdego, kto chce i lubi.

Kiedyś znałem sposób na ukrywanie kodu programu w Basic przy zapisaniu, że nie da się wylistować, jakieś proste peek poke chyba i nie da się podejrzeć kodu programu, ale to nie jest konieczne przy tej grze, bo to standard jakiś mi wyszedł, ISO pewnie. Nie ma czego ukrywać. Do Pascala muszę przepisać.

A propos zapisywania i modyfikowania mi się pomyślało przy okazji.

Przygodowka Basic – szablon – poczatek ver. beta 04.01 – Quest Entrance to Labirynth – NOV.18.2015.ATR


Działa to H6. Rzeczywiście zapisuje do H1 z konwersją znaków końca linii – idealnie, jak potrzeba.

Analogicznie H7 zapisuje do H2, ale to z ciekawości tylko zerknąłem, pewnie aż do H9=>H4. Ciekawe, czym jest H5?

A propos wieszania się emulatora czasami przy LIST lub SAVE, to znalazłem tyle, że trzeba klikać i odklikać SIO patche, nie wiadomo które, ale trzeba nimi poklikać trochę na zmianę w stosunku do poprzednich ustawień, np. marked patche => LIST or SAVE, not marked patche => LIST or SAVE (na zmianę przy kolejnych uruchomieniach emulatora).
Ciekawe, czegoś nie odświeża albo nie inicjalizuje przy starcie. Może mam starą wersję Atari 800Win, ale nauczę się korzystać sprawnie z czasem.

Dzięki za pomoc. Wszystko działa już jak potrzeba.


Czy ktoś z grafików Atari XE/XL umiałby mi pomóc w przekonwertowaniu poniższego kodu rysującego mapę w GRAPH 6 na rysowanie szybsze, niż w poniższym kodzie?

Mówiono gdzieś, że warto korzystać z tych, co już się znają na swoich działkach, mogę robić sam, ale to zawsze dłużej trwa. Na pewno ktoś wie już dużo lepiej, jak się to robi.

Oto kod do przekonwertowania (jeśli ktoś przerobi na szybsza wersję, to wstawię do gry i sprawdzę):

{

198 RESTORE 6530

200 FOR I=1 TO 16:FOR J=1 TO 12:READ C

201 IF C>0 THEN COLOR C:FOR X=1 TO 4:PLOT J*4,I*4+X:DRAWTO J*4+4,I*4+X:NEXT X

202 NEXT J:NEXT I

}

Chodziłoby o sposób programowy w kwestii technicznej, zamiast instrukcji PLOT i DRAWTO – żeby wpisać wartości wprost do pamięci ekranu. Tylko o to by mi chodziło. Bo inne każde ułatwienia w kwestiach algorytmicznych znam wszystkie możliwe istniejące, oczywiste. Chodzi o techniczny dostęp do rysowania – najszybszy możliwy, o nic absolutnie innego, chrońcie Bogowie. Oczywiste.

Algorytmiczne przyspieszenie kilkukrotne (rysowanie trwa przykładowo 14 sekund zamiast 42 sekundy), to np.:

{

198 RESTORE 6530:X=5:K=1:IF LOCY>5 THEN X=16:K=5:RESTORE 6530+4

200 FOR I=K TO X:FOR J=1 TO 12:READ C:IF C=0 THEN NEXT J:NEXT I

201 COLOR C:Y1=J*4:Y2=I*4:PLOT Y1,Y2+1:DRAWTO Y1+4,Y2+1:PLOT Y1,Y2+2:DRAWTO Y1+4,Y2+2

202 PLOT Y1,Y2+3:DRAWTO Y1+4,Y2+3:PLOT Y1,Y2+4:DRAWTO Y1+4,Y2+4

203 NEXT J:NEXT I

}

… ale nie o to mi chodzi, bo algorytmy znam wszystkie istniejące we wszechświatach każdych istniejących i potencjalnych niezrealizowanych nawet => 100%, więc o to nie mógłbym pytać nigdy, oczywiste… Chodzi o techniczny sposób. Muszę sam poszukać…

Pewnie poke peek jakieś, albo inne komendy, może asemblerem, wait…

Rysowany blok mapy jest poniżej w DATA:

6530 DATA 1,1,1,1,1,1,1,1,1,1,1,1
6531 DATA 1,0,0,0,1,0,1,1,0,0,1,1
6532 DATA 1,0,1,0,0,0,0,0,1,0,1,1
6533 DATA 1,0,1,0,1,0,1,1,0,0,1,1
6534 DATA 1,1,1,1,1,1,1,1,1,1,1,1
6535 DATA 1,0,0,1,1,0,0,1,0,0,0,1
6536 DATA 1,0,1,0,0,1,0,1,0,0,1,1
6537 DATA 1,0,1,0,0,1,0,1,0,0,0,1
6538 DATA 1,1,1,0,0,1,0,1,0,0,1,1
6539 DATA 1,0,0,1,1,0,0,0,0,0,0,1
6540 DATA 1,0,0,1,1,0,0,1,0,0,0,1
6541 DATA 1,0,0,0,0,0,0,1,0,0,1,1
6542 DATA 1,0,0,1,1,0,0,1,0,0,1,1
6543 DATA 1,0,0,1,1,0,0,1,0,0,0,1
6544 DATA 1,0,0,1,0,0,0,1,0,0,0,1
6545 DATA 1,1,1,1,1,1,1,1,1,1,1,1

Chodzi o narysowanie tej mapy, najlepiej błyskawicznie – w Atari Basic GRAPH 6. Nic więcej. Klocki muszą być w miarę sensownie duże, żeby nie punkty, stąd *4 i +4 w kodzie rysowania. Żeby 1 był klocek, a 0 puste (rysowany czarny blok, lub nie rysowany – dla przyspieszenia, ale lepiej rysowany, bo potem będzie więcej elementów niż 1 i 0, wolałbym obsłużyć w rysowaniu każdy element jako rysowany).

Mapa w wersji szybkiej (zgodnie z poprawionym kodem pod względem algorytmu programowego rysowania):

I teraz chodziłoby o użycie sposobu wpisania wprost do pamięci ekranu wszystkich punktów mapy w blokach 4×4 punkty każda lokacja – tak, jak aktualnie, jednak najszybszą metodą możliwą.

Może w tych książkach napisali, wait…

W displaylistach i Anticach, mapach pamięci ekranu udało mi się znaleźć już jakieś rzeczy, np. peek(560)+peek(561)*256 i numer 11 dziesiętnie dla trybu GRAPH 6 w Basic, ale jeszcze  nie wiem, jak to się używa… same krzaki mi wyskakują… muszę to zrozumieć, jak się wpisuje za pomocą peek i poke do pamięci ładnie PLOT i DRAWTO?… na pewno jest metoda… napisali pewnie, wait… muszę postudiować te książki…

Mapping The Atari – Revised Edition By Ian Chadwick

Na pewno gdzieś tam napisano… trzeba poszukać… wait…

[..]

tbc.

NOV.27.2015

Udało się znaleźć w podręczniku do programowania w Atari BASIC. Po przekonwertowaniu kodu rysowania mapy na bezpośrednie wpisywanie do pamięci ekranu instrukcją poke, wyszedł poniższy kod:

198 RESTORE 6530:X=5:K=1:POKE 559,0:IF LOCY>5 THEN X=16:K=5:RESTORE 6530+4:POKE 89,128:POKE 88,0

199 IF LOC<6 THEN POKE 89,112: POKE 88,0

200 EKR=PEEK(88)+256*PEEK(89): FOR I=K TO X:FOR J=1 TO 12:READ C:IF C=0 THEN NEXT J:NEXT I

201 COLOR C:Y1=J:Y2=I*4*20

202 POKE EKR+Y2+Y1,255:POKE EKR+Y2+20+Y1,255:POKE EKR+Y2+40+Y1,255:POKE EKR+Y2+60+Y1,255:NEXT J:NEXT I

203 MAPVISIBLE=1:POKE 559,34:COLOR 1:POKE EKR+(LOCY*4)*20+40+LOCX,8:RETURN

W zależności od lokacji po wydaniu polecenia MAP <RETURN> na ekranie pojawia się mapa właściwa dla lokacji:

112 IF VERB$=”MAP” THEN GOSUB 250

250 IF LOCY>5 THEN POKE DL+5,128:POKE DL+4,0

251 IF LOCY<5 THEN POKE DL+5,112:POKE DL+4,0

252 RETURN

Nie jest to najszybszy kod, da się przyspieszyć. Dodatkowo rysując mapy i inne obrazki w pamięci ekranu na początku gry lub w dowolnym momencie gry, który byłby czasem wolnym i niewykorzystanym dla gry ani przez gracza ani przez grę, można narysować mapy w pamięci i nie pokazywać, że są gotowe.

Sprawdziłem, że przy tej metodzie rysowanie mapy jest najszybsze we wszechświecie, bo z prędkością światła chyba…

W każdym razie aktualnie NIE WIDAĆ, żeby mapa rysowała się. Pojawia się gotowa od razu z prędkością światła albo bliską, nie wiem dokładnie, w każdym razie po wpisaniu komendy MAP i <RETURN> – od razu gotowe i można sobie grać, nie czekając ani nawet 0.0001 sekundy, ani mniej nawet pewnie… GOTOWE.

Czas rysowania mapy: 00.00 (natychmiastowo).

Super. Koniec tematu grafiki. Inne teraz ciekawostki muszę sprawdzić.

DEC.04.2015.


[20.11.2015]


Pozostałe komentarze dotyczące projektu przykładowego oraz przykładów innych, np. ‚Małpa Szekspira’.


Zerknąłem na ten Adventure Studio – wygląda ciekawie i prosto, możliwe, że przy ustawieniu parametrów typowych dla specyfikacji technicznej Atari da się robić gotowe gry na Atari. Kwestia kompilacji do odpowiedniego kodu wynikowego, ale to chyba nie problem, bo wiem, że ktoś robił coś w C i przenosił na Atari (konwertowane było na wersję Atari)? – tak kojarzę.

Czyli aby do kodu ładnego prostego w specyfikacji Atari i gotowe.

Przykład jest prosty (akurat taki znalazłem):

[link]

Fajnie wygląda. Da się uprościć pewnie. Dużo ciekawych przykładów tu jest.

[..]

… To ciekawe, a jak to miałoby działać konkretniej trochę? Po kodzie szukać, czy po grafikach i sobie je wyciągać? takie skrypty i automaty pewnie są. Możliwe, że nawet konwertujące gry z C64 na Atari równo po kodzie nawet. Pewnie prosta rzecz. Hurtem z C64 po kodzie przez filtr na ATR–y i już.

Albo przynajmniej grafiki i słowniki, co by się dało, a potem się skleca ręcznie to, co się ma na gotowe i gotowe nowe – na Atari. Szybkie konwersje by były. Jakiś zestaw ekstraktorów by się przydał – grafik, słowników, muzyk, dźwięków, etc. innych elementów i jeśli działa po wyekstrahowaniu jako elementy gotowe sprawne, to na Atari tylko połączyć sensownie w szkielecie własnego programu i już. Chyba proste, a jakie efektywne.

Kombinacje bajtów to bez sensu – sieczka. To dla zabawy pewnie tylko ‚co wyjdzie’ – jak z Małpą Szekspira – dać małpie nieskończoną ilość czasu i ma klepać w klawiaturę tylko, nic więcej. Jest szansa prawdopodobna logicznie matematycznie realnie, że małpa wklepie hamleta Szekspira jeszcze lepszego niż oryginał.

Oczywistości… ale ile by to trwało czekać, aż małpa się postara?

0 REM Shakespeare’s Monkey writing art algorithm

10 print random char

15 if all of part of all random chars printed is good then goto 30

20 goto 10

30 print Hamlet

40 test ktory hamlet jest najlepszy (use human testing method)

50 goto 10

Ogólnie pewnie tak się da. Algorytm jest działający i sprawny i dobry. Oczywiste. I daje skończone oczekiwane wszystkie możliwe wyniki w zbiorze pełnym możliwych w nieskończonym czasie.

[..]

… Tak, to tłumaczy, że komuś się nie chce. A grać by się chciało, czy też nie? A z nie super grafikami?

W wolnym czasie zrobię szablon tego Erika, z ciekawości. W Turbo Pascalu. Pewnie da się przenieść na Atari potem.

Można do powyższego programu wstawić zmienną na ilość ‚B’ na początku programu i zrobić wszystkie wersje założone z góry od 0B do 65535B a potem dalej…

[..]

… Jeśli chodzi o random wystarczający dla losowania jednego znaku w alfabecie anglofońskim, czy jak to się uogólnia – angielskim powiedzmy dla uproszczenia, nie znam się dokładnie, a nie chciałbym być nieprecyzyjny lub niepełny w algorytmach i czymkolwiek, chroń Boże randomowy – to random Atari jest zdecydowanie lepszy jako narzędzie niż małpy: jest większy i szybszy i sprawniejszy i precyzyjniejszy i konkretny, a nie losowy, wynika z losowań określonych i modyfikowalnych ‚po drodze losowania nawet’ – w sumie jak u małpy – nie wiadomo jednak, jak losuje małpa, ale właśnie nie tak perfekcyjnie losowo jak Atari, bo małpie zaczynają podobać się niektóre literki lub klocki albo gesty stukania w klocki lub klawiaturę i zaczyna je powtarzać sensownie na skutek ‚lubienia’, ‚zmęczenia’, ‚automatyczności’ lub innych wskaźników umysłowych i otoczenia oraz organicznych i innych może jakichś nawet – działania małpy i jej sposobu losowania – więc losowanie małpy nie jest czysto losowe ani zbliżone nawet do losowania sprawiedliwego – czyli jednakowo prawdopodobnego dla każdego elementu z zestawu losowanych literek.

Stąd generator losowy Atari jest 100% perfekcyjniejszy i ‚większy’ i same zalety 100%.

Małpa jest do kitu przy losowaniu. Nie jest to losowanie, cokolwiek robiłaby małpa. Ale ogólnie gdzie walnie łapą, tam kliknie. Kiedyś może napisze Hamleta i wszystkie możliwe permutacje wszystkich możliwych tekstów wszechświata – pod założeniem dania jej nieskończenie długiego czasu. Inaczej małpa nie napisze. To warunek konieczny chyba, chociaż wiedząc,że małpa nie losuje próbując losować, to możliwe, że ten warunek nieskończonego czasu dla zrealizowania zadania nie jest konieczny, co potwierdza również znowu to, że małpa nie losuje i jest gorszym losowaniem niż losowanie Atari.

Atari losuje bardzo blisko losowania prawdziwego.

Małpa 20% najwyżej, a potem coraz mniej, aż do 1%, a potem już w ogóle nie losuje – czyli małpa jako generator losowy najpewniej od razu zaczyna się psuć i psuje się aż do końca sukcesywnie w czasie losując.

Czyli jako generator losowy małpa do kitu – nie nadaje się do zastosowań sensownych złożonych, jedynie dla małych zadań przykładowych.

Jeśli patrzeć ‚większy’ lub ‚mniejszy’ – zależy, czy chodzi o gabaryty generatora? U małpy są wielkie łapy albo łeb, gdyby miała losować łbem, w Atari to chyba tylko impuls na jakimś układzie. Nieporównywalnie mniejszy jest random Atari w gabarytach technicznych – rzeczywiście.

Co do zakresów i precyzji oraz prawdopodobieństwa uzyskania liczby losowej, Atari zdecydowanie zwycięża o kosmos cały.

Atari napisze Hamleta w czasie bardzo krótkim – trzeba zrobić obraz dyskietki z czystym tekstem hamleta TXT, policzyć ilość znaków i kazać Atari losować ze zbioru znaków użytych w Hamlecie po kolei dotąd, aż ułoży Hamleta. IF tekst losowy Atari = tekst wzorcowy Hamleta AND (ewentualnie dla pewności) liczba znaków tekstu=liczba znaków Hamleta THEN PRINT „Hamlet gotowy oto: „: FOR I=1 TO liczba znakow PRINT char(tekst losowy Atari): I=I+1: NEXT I.

I powinno działać.

Jak długo to trwa to nie wiem. Mogę policzyć. Tekst Hamleta trzeba poszukać pełen i policzyć. Pisząc Hamleta na pewno też powstałby Makbet i inne, może nawet Romeo i Julia i pozostałe dzieła. Zależy, czy mieści się w liczbie znaków.

30–40 gier miesięcznie to wystarcza, żeby zając się projektem i zainwestować czas. Ile możesz płacić za jedną grę miesięcznie? Będzie 3o do 40 miesięcznie przygodówek w stylu Erika lub według wyboru.

Jeśli kupisz 10 gier w rozsądnej cenie miesięcznie, to tyle zrobię. Jeśli 30 do 40, to tym bardziej. Ile za jedną? Będą warte swojej ceny. Wystarczy określić parametry ogólnie, jak ma wyglądać. Zrobię jedną na wzór na jutro, jeśli zapłacisz za gry następne, jeśli ta jedna się spodoba. Ma być taka jak Erik czy inna jakaś? Wystarczy pokazać przykład, jaka by była fajna i w którą by się chciało pograć. To zrobię na jutro i luz. Ale tylko jedną. 30 do 40 miesięcznie jedynie jeśli ktoś kupi. To oczywiste.

… Mogą być Krzyżacy i pozostałe dzieła Sienkiewicza. Wszystkie. Dać gotowy program do uruchomienia? exe czy źródłowy?

[..]
… chodzi o algorytm Małpy Szekspira, a nie algorytm weź=>przenieś LUB skopiuj => gotowe READY[]

[..]

… dokładnie tak. Dla Atari jest to czas bardzo krótki. Proszę porównać czas wykonania tej samej pracy przez Małpę. To analogicznie jak w czasach i odległościach astronomicznych. Krótki czas lub odległość liczy się w latach świetlnych. I w tych dystansach czaso–przestrzennych ‚krótki’ lub ‚długi’ okres to nadal nierealny dla czasów ludzkich.

Ale da się przyspieszyć filtrem może.

Bardzo dziękuję. To najistotniejsza rzecz do rozpoczęcia pracy.

Genialne. Dzięki. Szkoda, że po polsku, bo mowa była o anglofońskiej jakiejś, może być staroangielska, nawet bym wolał z ciekawości, ale nie polska.

Chyba, że dla przykładu tyko, to może być. Fajna rzecz Dzięki.

Dać exe–ka czy źródłowy?

Kto zapuszcza na następne tysiąc lat? Szacując bez liczenia na razie. Ktoś policzył wyżej, że to może potrwać. W tym pliku hamlet.txt jest 183461 znaków ze spacjami. Można to policzyć.

Czy mam ja wszystko sam?

A czy można załatwić wersję staroangielską oryginalną w TXT? Wtedy bym już o nic nie prosił więcej, sam zrobię resztę i pokażę.

Ładnie wygląda na wizualizacji graficznej albo tekstowej z perspektywy, kiedy małpa układa Hamleta. Krzyżaków też.

Dzięki za tego Hamleta po angielsku. Ma trochę mniej słów: 182134 znaki ze spacjami, to sensowne, angielski jest bardziej ekonomiczny i techniczny niż polski i słowiańskie generalnie. Pewnie dlatego, że to germanie a potem porządkowi jak Anglicy, musi być krótko, zwięźle i precyzyjnie, genialny techniczny język.

Słowianie woleli poezję niż porządek i precyzję.

I tak zostało nacjom… kurde…

Przejrzę, może się nada do czegoś. I co mam teraz z tym zrobić?

Posadzić Atari jako małpę i kazać napisać to samo poprzez losowanie?

Kto zapuści program na kilka tysięcy lat?


[..]

Atari nie musi dysponować literami. To bez znaczenia. Chodzi o uproszczenie ilości znaków, czyli żeby szybciej i łatwiej uzyskać wynik.

Polski ma więcej liter, staroangielski nie wiem, chyba nie ma ą i ę itp.

Angielski prosty ma najmniej. 25 lub 26 zdaje się.

Chodzi o szybkość (im mniej znaków użytych tym lepiej). Rodzaj znaków bez znaczenia.


[..]

… Czym się różni grom od poprawione grom na oczywiste. I za to się przeprasza? Takich trików nie znam jeszcze, czasem nie jestem w klimacie, albo nie zauważam i potem się ze mnie śmieją. Mogę prosić o odpowiedź? Które co było poprawione na oczywiste ‚grom’?

Może mam oczopląs jakiś albo znikają mi literki na tych czcionkach, kiedy czytam, albo coś… to jakaś sztuczka typu ‚Przygodówka’?

‚Przygodówka’. Oczywiste. Przepraszam, już poprawiłem.

Na czym polega ta gra? Mogę dołączyć jako element zagadki w tej przygodówce.

<Najpierw popraw ‚słowo’ i kliknij ‚GO’>

No i teraz jak to poprawić?

‚słowo’ – poprawione, OK. Teraz GO. Poszło, ufff…

To o to chodzi? Że ma być zmyła dla gracza? Gracz ma się męczyć i poprawiać, a wystarczy nic nie robić i kliknąć ‚GO’?

Fajny patent. Jak z Reksia i Kapitana Nemo chyba. Zamiast układać puzzle godzinami, wystarczyło kliknąć jakiś uchwyt i nie trzeba było się męczyć.

Inaczej godziny zagadek… i jak przejść dalej?

‚Podpowiedź’ lepiej brzmi zamiast ‚odpowiedź’. Oczywiste, chociaż nie wiem w sumie. Już nie będę poprawiał…

Zapomniałem przeprosić, przepraszam. Przepraszam. Już przeprosiłem. OK. Uff…


[..]

… już policzył ile to będzie trwać? Zdaje się, że tyle, co prawdopodobieństwo trafienia 182134 znaków z permutacji pozostałych kompletów równolicznych ze zbioru znaków 26 każdy znak z 182134 znaków zdaje się, plus spacje i interpunkcje, hmm…

1/28^182134 mniej więcej. Jaki jest czas trafienia takiego elementu?

Może nawet małpa zdąży przed śmiercią wszechświata?

Jeśli przejrzy się trochę tekstów staroangielskich, po chwili wszystkie teksty staroangielskie są genialnie piękne i zrozumiałe… wystarczy kilka standardowych tekstów przejrzeć z tłumaczeniem na współczesny ‚obok’ i potem się czyta jak zwyczajny angielski – a jaki nastrój i natchnienie czytając takie teksty…

Jak z filmu jakiegoś o dawnych czasach, jak Szekspira coś brzmi zawsze, ale ze starych czasów angielskich, Robin Hood i inne klimaty nawet – to dopiero germańskie i celtyckie zmieszane… ech… da się, ale trzeba poczytać kilka tekstów i od razu niezłe czytanie wychodzi ze wszystkimi już potem, jakby się w filmie było i starych czasach… jak żywe wtedy… prawdziwe… tak mówiono i pisano właśnie…


Anty Space–Invaders Anty Video–Vandal Project – Puzzle Style Programming – Shakespeare’s Monkey M – Beginning

Ten Space Invaders wyżej jest fajny. Lubię to. Ciekawy pomysł. Invadresy to są programy i znaki w Basicu? I trzeba je usunąć wszystkie? To straszne, takie niszczycielstwo.

Mam lepszy pomysł w takim razie. Natchnęły mnie te Invadersy, co robią inwazję na pustą przestrzeń ekranu Atari BASIC. READY też trzeba usunąć i kwadracik wypełniony? To byłaby doszczętna likwidacja inwadersów z przestrzeni pustej. Fajne, ale strasznie niszczycielskie. Ktoś nie lubił programować pewnie albo nawet znaków, wolał puste przestrzenie bez inwadersów jakichkolwiek.

Ciekawe odreagowanie ciężkiej pracy ze znakami w Atari pewnie. Zlikwidować do cna i spokój, uff, można oddychać, nikt nie atakuje na pustą przestrzeń. Nawet ready i nic. Pustka… pustka… tam musi być jakaś cywilizacja…

W dokumencie Worda albo Notepada można tak robić czystą przestrzeń, jak ktoś męczy się z pisaniem tekstów <Del> trzeba trzymać na początku dokumentu i wszystkie inwadersy same ciurkiem znikają w paszczy kursora.

Też faja gra. Można blokami je anihilować. Ale trzeba mieć zaawansowaną technikę i znać się.

Mnie przyszedł pomysł odwrotny. Na podobnym ekranie z listingiem działającego pełnego programu Atari Basic (może przesuwać się cały program tysiące linii kodu po zakończeniu planszy niżej i niżej, jak w Star Wars… daleko daleko w odległej galaktyce…) – zrobić inwadersy, czyli błędy w programie i nie działa. Trzeba te pojedyncze znaczki poprawić, żeby program działał. Jeśli zacznie działać, to Koniec gry => mamy grę.

Uratowaliśmy program w Atari Basic – poprawiony, inwadersy sunięte => można uruchomić RUN<Return> i można grać w inną grę zupełnie, już normalną wtedy jakąś ciekawą…

Albo rekurencyjnie, po uruchomieniu programu uruchamia się analogiczny inny program, który trzeba poprawić i potem dalej rekurencyjnie niżej na inny program, który trzeba poprawić i aż w nieskończoność punktu albo przestrzeni, ale bez inwadersów. Niezłe wyzwanie, jak ratowanie wszechświata i galaktyk…

Hmm… ciekawy pomysł… ciekawe, czy ktoś zrobi, bo to ciekawa gra by była.

Na przykład:

10 REM GRA Anty Space-Inwaders

20 DIM V$-1k)

30 v$:=”2

40 PRiNd”v$

Jak usunie się inwadersy i naprawi w miejscach zepsutych jak należy to jak puzzle => można RUN albo nowa plansza.

Dla tych, co chcieliby przejść planszę, którą proponowałem w poprzednim poście, rozwiązanie puzzla:

10 REM GRA Anty Space-Inwaders

20 DIM V$(10)

30 V$=”2″

40 PRINT V$

Powyższy puzel da się uruchomić w Atari Basic. Cyba. Trzeba sprawdzić samemu i Next Level. Fajna gra.

Spodobał mi się mój pomysł. I działa.

Żeby zawiesić gracza w miejscu, trzeba rozwiązać drugą planszę:

50 go do 5

===

Rozwiązanie drugiej planszy (jest kilka wyjść z tej planszy z sukcesem zgodnie z postawionym zadaniem dla planszy):

50 GOTO 50 {to robi program z pierwszej planszy i zawiesza gracza)

50 GOTO 40 {to zawiesza gracza, ale sypie rozwiązaniami puzzla w nieskończoność i nie można nic zrobić, jeśli nie zna się sposobu)… może są inne rozwiązania ciekawe na zawieszenie gracza, ale to potem się doda najwyżej. Chodzi o pomysł na Grę w programowanie metodą puzzle lub małpy Szekspira.

Program musi działać zgodnie ze wzorem. Gracz musi ułożyć puzzla, żeby RUN zadziałało. I program wykonuje się zgodnie z tym, co ułożono.

Nie musi być w Atari Basic. Może być w Turbo Pascalu, Action!, C, innych językach dowolnych. Aby metoda i zasady gry ogólne były spełnione.

Napiszę przykład w Basic to dodam linka.

Chyba ciekawy projekt. Plansze mogą być trudniejsze, rekurencyjne, ciekawe zagadki, biblioteki potem, powroty do podprogramów, do plansz ukończonych albo inne coś. Dla mnie super pomysł.

I to jest budująca praca, a nie inwaderska. Hmm… budowanie dobrego, zamiast niszczenia dobrego, które jest złe. Można dodać element niszczenia złego, żeby budować dobre. Potem pomyślę o tym elemencie.

[..]

Dlaczego? Pomysł jest naprawdę genialny.

Proszę o to przykład, przed chwila napisana gra opowiadana w przykładzie. Gotowe.

Działa.

I nie jest prosta pierwsza plansza.

Anty Space-Invaders Anty Video-Vandal Project – Puzzle Style Programming – Shakespeare’s Monkey M – Beginning 01.a8s

[..]

Brawo! fajne. Dzięki. ktoś zagrał i pokazał, że się da. Lubię to.

Nie każdy potrafi pewnie, chciałem dopisać właśnie, że jeśli ktoś przejdzie pierwszą planszę, to ma sukces własny i świadczy, że ktoś potrafi, bo plansza pierwsza nie jest łatwa. Kto próbował, to wie, oczywiste. A gra grywalna i trzeba po prostu ukończyć pierwszą planszę. Jak napisano. Niewielu potrafi.

Jest przykład, że ktoś tak. Brawo! READY[]

Można pisać drugą planszę, ale żeby nie była tak łatwa, trzeba sprawdzić, czy NA PEWNO poprawiono zgodnie z pierwowzorem oczekiwanym. To w drugiej planszy będzie.

A potem, żeby nie oszukiwano, trzeba ukryć kod programu gry, żeby nie było wyjścia i jedyna droga, to poprawić jak należy, a nie jak ‚dupa blada’, a plansza ukończona. Widać da się. Nie tylko wzorcowo. Ale i tak TRZEBA umieć.

Fajne. Cieszę się. To nie meczę więcej. Projekt ciekawy mi się wydaje.

Na pewno realizowany w tajnych laboratoriach naukowych. To poważne projekty są programy typu samoprogramujące się programy, aplikacje samosterujące, itp. – najwyższy poziom profesjonalizmu systemów i aplikacji. Poważniejszych rzeczy nie ma aktualnie w informatyce na świecie.

[..]


Podprogramy i elementy programowania.

Sherlock pamięci – przegląd komórek pamięci Atari XL/XE w jednej instrukcji (nr komórki pamięci | zawartość komórki w ATASCII | zawartość dziesiętnie)

FOR I=0 TO 65535: ? I;”:  „;CHR$(PEEK(I));:? ”    „;:? PEEK (I):NEXT I


Krótkie programy przydatne w ATARI BASIC (narzędzia programistyczne / dla programistów).

BMP2GR Converter – konwersja grafik w formacie BMP Alpha do dowolnego trybu graficznego Atari XL/XE (GR0 do GR15 z parametrami +16+32) z obsługą zmian kolorów obrazków i wszystkich parametrów obrazków w zależności od trybu graficznego w którym wyświetlany jest plik BMP Alpha, zrzut obrazka gotowego do pliku *.GR z wystarczającym opisem obrazka w formacie *.GR do zastosowań standardowych.

Specyfikacja programu w wersji standardowej dla Atari BASIC:

– konwersja grafik w formacie BMP Alpha: 16 kolorów z palety 255 wartości (bez #155), rozdzielczość obrazka: 65536×65536 punktów grafiki dla dowolnego trybu graficznego Atari XL/XE

– tryby Atari XL/XE wyświetlające konwertowany BMP: wszystkie standardowe

– możliwość zrzutu ramki grafiki skonwertowanej do formatu GR Atari XL/XE w rozdzielczości maksymalnej 65536×65536 punktów o zadanych przez użytkownika współrzędnych ramki do osobnego pliku *.GR

– wyświetlanie grafik (skonwertowanych BMP do GR) w dowolnie określonej ramce zawartej w rozdzielczości grafiki zgodnie z maksymalną rozdzielczością trybu graficznego wyświetlania Atari XL/XE

– modyfikacja standardowych kolorów i parametrów kolorów (COLOR, SETCOLOR) grafik podczas wyświetlania grafik

– zaawansowana obróbka grafik bmp/gr w wersjach programu dedykowanych na potrzeby profesjonalnych użytkowników

Format prosty plików *.GR:

Nagłówek: („G”)(„R”)(XL)(XH)(YL)(YH)(znak końca linii #155)

Obrazek: poziome linie obrazka, max. długość jednej pełnej linii poziomej dla formatu: 256 bajtów + znak końca linii #155, jedna pełna linia grafiki dla XH>0 składa się z XL+256*XH bajtów, linie zapisane w pliku *.GR od dołu obrazka (analogicznie jak w BMP).

Do standardowego prostego zastosowania formatu zapisu grafiki w plikach *.GR j.w. każda linia pełna formatu zakończona jest znakiem końca linii (#155) po XL bajtów lub po 160 bajtach, celem prostego wyświetlania zawartości pliku *.GR instrukcją: INPUT #1,XLINE$:?#6;XLINE$;, gdzie XLINE$ jest zmienną znakową DIM XLINE$(160+1), #1 skojarzone z plikiem *.GR, #6 skojarzone z ekranem w aktywnym standardowym trybie graficznym Atari XL/XE.

Przykład zapisu obrazka:

(dla XL<=160)

01——XL(#155)———-XL+160(#155)———-XL+160+160(#155)—-(..)—-XL+XH*256(#155)

lub

(dla XL>160)

01————160(#155)——XL(#155)————XL+160(#155)—-(..)—-XL+XH*256(#155)

Format pełny pliku *.GR uwzględnia nr trybu graficznego oraz ustawienia rejestrów kolorów właściwych dla grafiki przechowywanej w pliku *.GR.

Więcej o grafice:

Grafika komputerowa – sprzęt, narzędzia, programowanie, algorytmy – multimedia

MPEG2SND Converter, WAV2SND, any2POKEY Converter, .. – konwertery utworów muzycznych i dźwiękowych każdego rodzaju w formatach istniejących (dowolny zapis dokonany trwały lub źródło dźwięku lub dźwięków w czasie, strumień, itp.) do POKEY 8–bit Atari XL/XE oraz POKEY–64 w jakości maksymalnej zgodnie ze specyfikacją układów i elementów urządzeń przetwarzających dźwięk.

Dźwięk wyjściowy konwersji: zapis do formatu zgodnego z parametrami konwersji, dźwięk 8–bit lub 16–bit, 4 lub 2 niezależne kanały, instrumenty dostępne zgodnie ze specyfikacją POKEY Atari XL/XE (zestawy instrumentów zgodne z zestawami MIDI do zakresu specyfikacji technicznej POKEY 8–bit / 16–bit).

DEC2BIN Converter – program do reprezentowania liczb dziesiętnych w postaci dwójkowej (dodatek: Permutacje z wizualizacją 8bit, 16bit, 32bit, 64bit, etc.)

Obsługa czcionek (fontów) w zestawach dla Atari XL/XE – dowolne kształty czcionek w wymiarach maksymalnych trybów graficznych Atari XL/XE (GR0 do GR15) dla jednego znaku z zestawu, generator czcionek i edytor czcionek oraz dodatki do pełnej profesjonalnej obsługi zestawów znakowych CHARSET1 i CHARSET2 dla Atari XL/XE oraz zestawów dowolnych własnych lub standardowych w trybach graficznych dowolnych.

Pliki z fontami standard ATASCII:

atarifnt.chr

atascii.fnt

atascii.chr

Pozostałe pliki zgodnie z nazwą fontu/czcionki w pakiecie narzędziowym.

ATASCII 8-bit Standard (extract)
ATASCII 8-bit Standard (extract)
ATASCII 8x8
ATASCII 8×8 Standard 8-bit
ATASCII 16x16
ATASCII 16×16
ATASCII 32x32
ATASCII 32×32
ATASCII 64x64
ATASCII 64×64 Simple Extended Standard 64-bit
ATASCII 128x128
ATASCII 128×128
ATASCII 64x8 - SiImple Extnded Standard 64-bit
ATASCII 64×8 – Simple Standard 64-bit

[some of the fonts not correctly described – will be corrected… (examples only)]

 


Inne programy użytkowe i narzędzia przydatne do pracy programisty Atari BASIC / dowolny język programowania.


Funkcje, stałe i wzory matematyczne, fizyczne, chemiczne, inne naukowe – do prezentacji graficznych i zastosowań:

Szyfry, kodowanie, odkodowywanie, algorytmy proste.

Labirynty – generowanie, szukanie drogi w labiryncie, wizualizowanie, inne techniki związane z mapą, labiryntem, prezentacją i przetwarzaniem labiryntów.

Algorytmy matematyczne, fizyczne, chemiczne i inne naukowe do wizualizacji lub analizy zjawisk oraz do zastosowań.

Srodowisko atomów - emulator - Atari64-bit subproject - tools
Srodowisko atomów – emulator – Atari64-bit subproject – tools.

Algorytmy – Seria Tematyczna – IT/NT Projects & Algorithms (02). ISBN 978–83–7899–120–5.

Tabelki specyfikacji urządzeń, maszyn, programów, rzeczy do analizy, realizowania zadań ww., przetwarzania informacji związanych z ww., emulacje, wymiana wyników pracy i informacji uzyskiwanych oraz zgromadzonych przez różne ww. do zastosowań.

Emulatory mikroprocesorów i dowolnych elementów elektronicznych i technicznych, np.:

Emulator Mikroprocesora MOS CPU6502 – element wstępny do emulacji mikroprocesora CPU52016 w architekturze 64–bit na bazie CPU6502 8–bit (na ekranie przykładowym emulacji CPU6502 rejestr znaczników CPU6502 przygotowany do architektury 64–bit przy 100% prawidłowej emulacji architektury 8–bit CPU6502, tj. 100% kompatybilność procesorów z zachowaniem poziomów architektur i specyfikacji, tj. architektura 64–bit jest kompatybilna 100% z architekturą 8–bit).

CPU6502-Testing(05)
Emulating CPU6502 – Testing… executing programs.

Kod źródłowy (Turbo Pascal 5.5) testowy emulatora Atari XL/XE:

64-bit.eu/data/documents/ATARIEM.PAS

Kod wykonywalny emulatora Atari XL/XE do testów:

64-bit.eu/data/documents/ATARIEM.EXE

Programy testowane na emulatorze Atari XL/XE:

Lista programow ASM ‚Asembler 6502′ J. Ruszyc, SOETO, 1987.

Funkcje i algorytmy do obsługi grafiki i animacji.

Funkcje i algorytmy do obsługi dźwięku i muzyki.

[..]