atarionline.pl BASIC XE kontra TBXL - Forum Atarum

Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

  • :
  • :

Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

    • 1: CommentAuthorBluki
    • CommentTime29 May 2012 zmieniony
     
    N I E A K T Y W N Y
    Turbo BASIC XL jest powszechnie znany, więc trudno uniknąć takich porównań. Co można zapisać na plus po stronie BASIC-a XE w stosunku do TBXL?

    - zmienne lokalne;

    - przesyłanie parametrów do i z procedur;

    - formatowanie tekstu;

    - obsługa grafiki player-missile;

    - 64kB RAM na kod programu (o ile mamy rozszerzoną pamięć w komputerze).

    A wady?
    - wymaga kartridża. W przypadku emulatora nie jest to problem, ale w na „żywym” Atari, w praktyce, ogranicza krąg odbiorców oprogramowania;

    - brak kompilatora;

    - obsługa PMG gryzie się z DLI. Jeśli się nie mylę, to chwilami blokowane jest przez BASIC XE przepisywanie cieni do rejestrów sprzętowych, co powoduje nieprzyjemne migotanie kolorów. W praktyce uniemożliwia korzystanie z DLI. To chyba najpoważniejsza wada. Co prawda posiadam nie do końca oryginalny kartridż :), ale pod emulatorem dzieje się tak samo. Sama obsługa PMG, choć dobra, to nie doskonała. Np. Advan BASIC umożliwia animację i nie gryzie się z DLI. Z drugiej strony TBXL nie ma jej w ogóle. Nie jest to duży problem (TBXL), wszak można użyć MOVE, ale gdy chcemy niezależnie poruszać w pionie missillami to mamy problem.

    - brak rozszerzonego dźwięku – tylko prosta instrukcja SOUND;

    - brak pauzy (PAUSE w TBXL);

    - nie ma możliwości użycia tekstu w trybie graficznym;

    - tylko jedna pętla warunkowa (poza standardem Atari BASIC), czyli WHILE warunek – ENDWHILE. Jeśli trzeba zagnieździć kilka pętli, to program cierpi na czytelność. W dodatku czasami wskazane jest, aby warunek sprawdzany był na końcu pętli – tu nie mamy takiej możliwości. Utrudnia to pisanie programu. W TBXL mamy jeszcze REPEAT - UNTIL i DO - LOOP.

    Oj, trochę się nazbierało wad. Zalet jakby mniej. Główne zastosowanie widzę w przypadku obsługi „pocisków” i do pisania dużych objętościowo programów (gier), chociaż w tym pierwszym zastosowaniu Advan BASIC sprawdzi się lepiej.

    Miało być BASIC XE kontra TBXL, a wyszło trochę porównanie z Advanem. Chyba nie dało się tego uniknąć.

    Czy to wszystkie wady i zalety BXE? Pewnie nie. Mam nadzieję, że ten post nie będzie pierwszym i ostatnim w tym wątku :)
    • 2:
       
      CommentAuthorjhusak
    • CommentTime29 May 2012 zmieniony
     
    Dobre i rzetelne porównanie.

    Najważniejsze rzeczy nieujęte powyżej:
    prędkość i zwięzłość zapisu kodu? (trzeba by napisać średni listing, save i porównać wielkość)

    Co do zagnieżdżania pętli nie widzę problemu z utratą czytelności, można posiłkować się komentarzami; a to dlatego, że takich sekcji z zagnieżdżonymi pętlami powinno być niemal 0. Wyjątek: mnożenie macierzy :)

    No, a jeżeli są, to krótkie (powinny być).
    • 3:
       
      CommentAuthorKaz
    • CommentTime29 May 2012 zmieniony
     
    Niby nie w temacie, ale jednak tak, bo moze ktos zechce pod wplywem namow Blukiego, pobawic sie tym interpreterem Basica: mam do sprzedania cart Basic XE (produkcja: Atrax).

    PS. Zdjecie:

  1.  
    A po ile? :)
    • 5:
       
      CommentAuthorKaz
    • CommentTime29 May 2012
     
    A nie wiem, nie mam zylki handlowej :). Komus, kto naprawde wykorzysta (napisze gre?) - taniej :P
    • 6: CommentAuthorwieczor
    • CommentTime29 May 2012
     
    Większość współczesnych języków oferuje tylko konstrukcję while. Co prawda często jest wariant ze sprawdzaniem warunku na końcu, ale w zasadzie nie stosuję - przy prawidłowej konstrukcji warunku i inicjalizacji zmiennych przed pętlą nie jest to potrzebne.
  2.  
    To ja biorę :) Ale też nie mam żyłki...

    A gierkę się napisze z przyjemnością :-)
    • 8:
       
      CommentAuthorjhusak
    • CommentTime29 May 2012 zmieniony
     
    Dobrze, że nie macie żyłki, to wam nie pęknie :P
    (może nie najlepszy dowcip, ale jest kryzys... :)
    • 9: CommentAuthorBluki
    • CommentTime29 May 2012
     
    N I E A K T Y W N Y
    Cha! Cha! Dobre! Podwójny dowcip!

    Wracając do tematu.
    Nie przeprowadzałem konkretnych testów szybkości, ale z pobieżnych ocen, moich oczywiście, wynika, że choć niektóre (nieliczne) instrukcje interpreter BXE wykonuje nieco szybciej niż interpreter TBXL, to generalnie ten drugi jest szybszy. Jednakże jest to tak niewielka różnica, że nie sądzę, aby miała jakiekolwiek, a tym bardziej istotne znaczenie. Testy swego czasu przeprowadzał chyba „Bajtek” i wnioski były podobne.

    Swoją drogą ciekawe, że odwrotnie niż TBXL, w BXE odwołanie do procedury (nawet bez parametrów) jest wolniejsze niż GOSUB nr_linni.

    Co do objętości programu to raczej większych różnic nie będzie. Co prawda TBXL ma stałe liczbowe (%0...), ale ten problem można łatwo rozwiązać. Jedynie objętość mogą zwiększyć komentarze (REM), w BXE nie ma odpowiednika „kresek” i trzeba używać zwyłej instrukcji REM, która „pożera” więcej bajtów.

    wieczor:

    Większość współczesnych języków oferuje tylko konstrukcję while. Co prawda często jest wariant ze sprawdzaniem warunku na końcu, ale w zasadzie nie stosuję - przy prawidłowej konstrukcji warunku i inicjalizacji zmiennych przed pętlą nie jest to potrzebne.

    Niby tak, ale gdyby był warunek na końcu pętli, to można by uniknąć, w przykładzie poniżej, jednego polecnia GET:

    230 Q=Dpeek(778):Open #7,4,0,"D1:W?SIECI.BXE"
    240 Point #7,Q,0:Get #7,Q
    250 While Q<>251:Get #7,Q:Endwhile
    • 10: CommentAuthorMrGrelec
    • CommentTime29 May 2012
     
    What i like about TBXL is the speed,i belive its the fastest when it comes to run Uncompiled basic.

    And its easy to set up selfbootable for any basic program on the TBXL disc.

    I did some simple speed test just writing text in Gr.0 and TBXL seems to be a little faster than Basic XE and Advan Basic in this simple operation.

    Advan basic is different than TBXL and Basic XE because Advan basic is realy a compiler so i belive it compiles the code on the go everytime the user types "Run".

    Think Advan basic is probably the most complex and it seem to have very good commands for graphics and Player/missiles.

    Advan basic can also load a program via sort of advan basic loader on disc, im sure this loader could be hacket to make it autoboot a advan basic program.

    I would like to learn to use advan basic sometime in the future.
    • 11: CommentAuthorstjack
    • CommentTime29 May 2012
     
    Polecam Advan basic : ma wlasne "basickowe" komendy do obsługi PM, przerwań bez zagłębiania się w tajniki tych procedur. Do programu dołączony jest program umożliwiający tworzenie animowanych "map" do gier oraz loader. Dla osób stawiających pierwsze kroki w programowaniu (jak ja) i mających mało czasu (jak wszyscy) to fajny program do dość szybkiego napisania gierek. Wadą jest mała dostępna pamięć, chyba 32kb. Robiłem nim kiedyś prostą gierkę na KazKompo, SpaceInvaders.
    • 12: CommentAuthorBluki
    • CommentTime29 May 2012
     
    N I E A K T Y W N Y
    Rzeczywiście, warto przypomnieć, że Advan BASIC jest nietypowym BASIC-em, bo to kompilator. Jest też najbardziej rozbudowany. Ma, jak wspomniał stjack obsługę DLI, choć trochę ograniczoną.
    Znam go na razie teoretycznie i może za jakiś czas będzie okazja poznać go praktycznie. Póki co, wydaje mi się, że Turbo BASIC XL tworzy najbardziej przejrzysty kod, a co za tym idzie, najłatwiej w nim pisać.

    Można też chyba zaryzykować stwierdzenie, że TBXL zawiera w sobie "wszystko co najważniejsze" do wygodnego programowania.
    • 13:
       
      CommentAuthorMaW
    • CommentTime29 May 2012
     
    Czy nie dało by się z karta basica XE zrobić (za pomocą dumpa pamięci) wersji do ładowania z atr-a przez sio2sd ?
    • 14: CommentAuthorBluki
    • CommentTime30 May 2012
     
    N I E A K T Y W N Y
    Nie da rady. BXE ma przełączane banki pamięci. Można ewentualnie użyć 1Mb Flash Cartridge z Atarimaxa.
    • 15:
       
      CommentAuthorjhusak
    • CommentTime30 May 2012
     
    Nie ewentualnie.

    ->link<-

    Teraz piszę z pamięci:
    Ten cart ma identyczny schenat przełączania banków, jak Action, o ile wiem.
    Wystarczy skopiować 3 banki kartridża po 8 kb (tak wiem, są 4 ale w konfiguracji BA, CA DA, gdzie ABCD=czterokilobajtowe banki, przynajmniej tak jest w Action) w określone banki ATARIMAXA i nie do odróżnienia :)

    A plik wykonywalny - cóż, da się tak, jak w Action się dało, ale po co, skoro to zeżre 8 kb pamięci, oraz to jest jednak sporo roboty programisty.
    • 16:
       
      CommentAuthormiker
    • CommentTime30 May 2012 zmieniony
     
    Czyli brakuje jakiegoś runtime'a i to najlepiej takiego, co dołączy tylko potrzebne biblioteki. W TBXL jest runtime, tylko zawiera on powiedzmy sobie "wszystko" (bez możliwości wyboru) i po skompilowaniu i ew. zlinkowaniu do pliku, zajmuje cały "podrom". No ale coś za coś. :)
    • 17:
       
      CommentAuthorjhusak
    • CommentTime30 May 2012 zmieniony
     
    Każdy Basic interpreter składa się z dwóch części: (tokenizer + analizator składniowy+ ew. kontekstowy) + (interpreter kodów bajtowych), przy czym do uruchomienia wystaczy sam interpreter, bez tokenizera i analizatora składniowego.

    Więc wyodrębnienie takiego runtime jest wykonalne, pytanie, czy zajmie to 8 czy 12 KB.

    Jednak biorąc wszystkie za i przeciw - nie widzę wyraźnego powodu, aby przesiadać się na Basic XE skoro istnieje stary dobry TurboBasic XL z kompilatorem, daje dużo pamięci (jak na takie rozwiązanie), itp.
    • 18: CommentAuthorBluki
    • CommentTime30 May 2012 zmieniony
     
    N I E A K T Y W N Y
    Jednak biorąc wszystkie za i przeciw - nie widzę wyraźnego powodu, aby przesiadać się na Basic XE skoro istnieje stary dobry TurboBasic XL ...

    To zrób mi niezależne ruchome (w pionie!) obiekty missile w TBXL bez podpierania się procedurą maszynową. Teoretycznie można, ale jest to skomplikowane i pożera czas. W BXE uzyskujemy to z palcem w... no wiadomo o co chodzi :)
    A jeszcze w BXE masz procedury sortowania i coś pewnie by się znalazło...

    Ja bym tak nie skreślał BXE. Może to truizm, ale dobierajmy narzędzie do potrzeb.

    Runtime do BXE bardzo by się przydał, co słusznie zauważył miker. Umożliwia przecież uruchamianie gier użytkownikom nie posiadającym kartridża. Co ciekawe, taki runtime jest dostępny do BASIC-a XL. Ponieważ wszystkie programy napisane w BXL można uruchamiać w BXE, to jeśli nie używamy poleceń charakterystycznych dla BXE, to możemy wykorzystać ów runtime. Tyle tylko, że wtedy BXE blednie, bo nie możemy używać m. in. procedur.

    Swoją drogą, to BXE był programem komercyjnym, a TBXL darmowym. Wydawać by się mogło, że ten komercyjny powinien mieć wyraźną przewagę, tak jednak nie jest.

    I jeszcze ciekawostka: w 1985 roku ukazał się BXE, TBXL i Advan. Ale zrobił się tłok na rynku BASIC-ów :)
    • 19:
       
      CommentAuthorjhusak
    • CommentTime30 May 2012
     
    Z instrukcji Advan Basic ( ->link<- ):
    Main Features

    1. Although Advan BASIC is a compiler, it has many of the user friendly features of an interpreter.
    a) You enter programs using the BASIC, not an editor.

    b) Program lines are checked for syntax errors as you enter them; any errors detected are immediately displayed.

    c) In most cases, error messages are given, rather than error numbers.

    d) In most cases, Advan shows the line and position in the line where the error occurred.

    e) Several disk commands are built-in. You can get a directory, or kill, lock, unlock, and rename a file without leaving the BASIC or effecting the program in memory.

    2. Advan BASIC supports integer, real, and string variables.
    a) Variable names may be any length.

    b) Strings don't need to be dimensioned.

    c) String arrays, as well as integer and real arrays, are available (up to 64 dimensions).

    d) Real and integer numbers may be mixed in expressions.

    e) The ability to use integers is especially important since they take up only 1/3 as much space, and calculations are at least 3 times faster than those with real variables and real numbers.

    3. REPEAT-UNTIL, WHILE-WEND, CASE, IF-THEN-ELSE, and multi-line IF commands are available. Also, program lines can be indented. These commands make it easier to program, and allow many of the techniques used in structured programming.

    4. There are special commands for player-missiles.
    a) You can define a figure and insert the figure into a player or missile.

    b) You can set up the program to automatically move a player horizontally or vertically at specified rates. Once started, their positions will be changed automatically during the vertical blank interrupt, so that the program can do other things during their movement.

    c) You can set up the system to automatically change a displayed figure as well as automatically move it. This allows player-missile animation

    -vi-
    without the need for machine language code.

    5. Advan BASIC uses three commands to take advantage of the ATARI sound capability. One of then lets you set up a tune or a sequence of sounds which the system plays automatically (the program can do other things while the sound is being generated). You can even specify whether the sound will be repeated continuously, played once, or played a given number of times.

    6. There are two commands which use the ATARI display list interrupt capability. One lets you insert or remove a display list interrupt. The other lets you change what is done at the interrupt.

    7. Functions and named subroutines are available. From zero to four arguments may be used.

    8. An assembler is built into Advan BASIC.

    a) Mnemonics can be used for 6502 commands.

    b) You can use line numbers to specify the destinations of jumps and branches.

    c) You can directly access and use BASIC variables in language code.

    d) The assembly language code can be inserted into a BASIC do not have to worry about where to place the machine language code.

    9. There are several utility programs on the Master disks:

    a) Programs to copy files or disks and to format disks.

    b) A program which allows 64K of the 130XE computer's memory to be used as a RAM disk.

    c) A program to check if a variable has been used only once. This is useful in catching misspelled variables.

    d) A checksum program which is useful if you are sending program listings to friends, newsletters, or magazines.

    10. Several optional packages are available:

    a) A group of utility programs, including renumber, cross reference, and a program to produce special execute only system disks. You can compile one or more programs to one of these system disks and then run the program without loading Advan BASIC. This means you can give or sell programs to people who don't have Advan BASIC.

    b) A screen design program that lets you design a display which uses several different graphics modes, and even allows you to design alternate character sets. What's more, there are special named subroutines on this disk which you can append to your program. They give you commands for horizontal and vertical fine scrolling and a special plot command for plotting data to these custom displays.


    Woyey, ile toto ma możliwości!
    • 20: CommentAuthorBluki
    • CommentTime30 May 2012 zmieniony
     
    N I E A K T Y W N Y
    Zgadzam się (ma nawet polecenie CASE). Ponieważ jednak znam ten język tylko teoretycznie, to staram się wypowiadać ostrożnie.

    I ten sam wyciąg z instrukcji, ale po polsku:

    Główne cechy

    1. Pomimo, że Advan BASIC jest kompilatorem, to ma przyjazny użytkownikowi interfejs

    a) zaczynasz programowanie używając edytora BASIC-a;

    b) edytor kontroluje składnię programu, sygnalizując wszelkie błędy;

    c) w większości przypadków wyświetlane są tekstowe komunikaty błędów, a nie tylko numer błędu;

    d) w większości przypadków Advan pokazuje miejsce gdzie błąd nastąpił;

    e) Advan posiada polecenia umożliwiające obsługę dysku bez konieczności opuszczania BASIC-a, takie jak: odczyt katalogu dysku, kasowanie, zabezpieczanie, odbezpieczanie czy zmiana nazwy pliku.

    2. Advan BASIC używa liczb całkowitych, rzeczywistych i zmiennych łańcuchowych.

    a) nazwy zmiennych mogą mieć dowolną długość;

    b) łańcuchy nie muszą być deklarowane;

    c) tabele łańcuchowe, jak również liczby całkowite i tabele wielowymiarowe są dostępne (do 64 wymiarów);

    d) liczby rzeczywiste i całkowite mogą być mieszane w wyrażeniach.;

    e) użycie liczb całkowitych jest szczególnie ważne; operacje wykonywane na nich zajmują tylko 1/3 czasu w porównaniu z liczbami rzeczywistymi.

    3. Instrukcje warunkowe: REPEAT-UNTIL, WHILE-WEND, CASE, IF-THEN-ELSE, i inne są dostępne. Co więcej, linie programu zawierające te polecenia mogą być „wcięte”. Poprawia to czytelność programu i ułatwia programowanie.

    4. Dostępne są polecenia dla grafiki graczy i pocisków.

    a) możesz określać wygląd i możesz wstawiać rysunek do wybranego gracza albo pocisku;

    b) możesz ustawić pozycję i ruch graczy w poziomie i pionie, zostaną one zmienione automatycznie podczas pustego przerwania pionowego, a program może wykonywać inne zadania w tym czasie;

    c) możesz automatycznie zmieniać wyświetlaną figurę jak i automatycznie zmieniać jej położenie. Pozwala to na animację graczy i pocisków bez potrzeby użycia języka maszynowego.

    5. Advan BASIC posiada trzy rozkazy dotyczące generowania dźwięku. Jeden z nich pozwala ci ustawiać melodię albo sekwencję dźwięków, które system odtwarza automatycznie (program może robić inne rzeczy podczas gdy dźwięk będzie generowany). Możesz nawet określić czy dźwięk powtórzy się ciągle, będzie zagrany raz, albo przez określony czas.

    6. Są dwa polecenia, które umożliwiają wykorzystanie przerwań display list (DLI) w ATARI. Jedno włącza albo wyłącza przerwanie, inne określa co chcesz zrobić w czasie przerwania.

    7. Dostępne są funkcje i podprogramy z nazwami wraz ze zmiennymi lokalnymi (od zera do czterech).

    8. Możesz dołączać programy w asemblerze.

    a) mogą być używane mnemoniki dla procesora 6502;

    b) możesz używać numerów linii by określić miejsca skoków (w tym warunkowych);

    c) bezpośrednio możesz mieć dostęp i używać zmiennych BASIC-a w kodzie maszynowym;

    d) nie musisz się martwić gdzie w pamięci umieścić kod w języku asemblera.

    9. Na dysku głównym znajduje się kilka programów narzędziowych:

    a) programy do kopiowania plików albo dysków, a także do formatowania;

    b) program, który umożliwia wykorzystanie dodatkowej pamięci RAM w 130XE (64 KB) jako ramdysku;

    c) program sprawdzający czy zmienna została użyta tylko raz. Jest to przydatne w wyłapaniu zmiennych z błędem ortograficznym lub „literówką”;

    d) checksum, program, który jest przydatny, jeśli wysyłasz listingi programu do przyjaciół, biuletynów lub magazynów.

    10. Kilka dodatkowych zestawów oprogramowania:

    a) grupa programów narzędziowych, w tym renumerator, odsyłacz (cross-reference) i narzędzie do tworzenia specjalnych dysków. Możesz kompilować 1 lub więcej programów na dysk (lub kilka dysków) a następnie uruchamiać program bez załadowania Advan BASIC-a. Daje to możliwość uruchamiania programów osobom nie posiadającym Advan BASIC-a;

    b) program do projektowania nowych zbiorów znaków w różnych trybach graficznych. Co więcej, na dysku są przygotowane podprogramy, umożliwiające płynne przewijanie ekranu w poziomie i pionie (fine scrolling) oraz specjalne instrukcje graficzne, które możesz dołączać do swojego programu.
    • 21:
       
      CommentAuthorKaz
    • CommentTime31 May 2012
     
    Mgr_inz_Rafal - a skoro napiszesz gierke, to juz masz 50% upustu od nieznanej kwoty :D
    Pisz na priv, omowimy szczegoly jak to zorganizowac :)
    • 22:
       
      CommentAuthorjhusak
    • CommentTime2 Jun 2012 zmieniony
     
    Kurka. Ten Advan Basic w teorii jet super wypasiony.

    Np. Kompilujemy program. Ale może się nie zmieścić źródło i kompilat, to kompilujemy tak: jak się linia skompiluje, to się usuwa. A jak się nie uda, to kompilujemy z dysku na dysk.

    Normalka.

    Ale ale.

    Program źródłowy może się nie zmieścić w pamięci.
    No to czytamy go w specjalny sposób, i edytujemy NA DYSKU.
    Cały program jest na dysku, możemy listować, itp, ale zapisać to już pod nową nazwą.

    CZAD, po prostu CZAD. Jak na tamte czasy, to CZAD^2

    I ma jeszcze kompilator optymalizujący!

    Czad.

    CZy ja pisałem, że CZAD?
    • 23:
       
      CommentAuthorKaz
    • CommentTime2 Jun 2012
     
    Prywata:

    cart do Rafala poszedl, zobaczymy w przyszlosci, jaki bedzie skutek - znaczy jaka gra w Basic XE powstanie :D
    • 24: CommentAuthorBluki
    • CommentTime2 Jun 2012 zmieniony
     
    N I E A K T Y W N Y

    jhusak:

    Ten Advan Basic w teorii jet super wypasiony.

    Aha. To jakby „formuła 1” wśród BASIC-ów. Dziwi tylko fakt, że nie stał się popularny. Być może dlatego, że był produktem komercyjnym i mimo wszystko (podobnie jak BXE) nie wytrzymał konkurencji z darmowym Turbo BASIC-em. Advan został „uwolniony” dopiero w 2006 roku.

    CZy ja pisałem, że CZAD?

    Tak, pisałeś :)

    Co do „prywaty”, to mam nadzieję, że mg_inz_rafal napiszę grę w trybie EXTEND, czyli na 128kB :)
    • 25:
       
      CommentAuthorjhusak
    • CommentTime2 Jun 2012
     
    Taka prywata to forma nacisku...

    PRAWDA?
  3.  
    "Dlaczego – pytanie, panie marszałku – dlaczego naciski, naciski? A przecieki?" :)

    Ale fakt... Ciekawy jestem, co da się wycisnąć z Basic XE.
    • 27: CommentAuthorBluki
    • CommentTime5 Jun 2012 zmieniony
     
    N I E A K T Y W N Y
    Wcześnie napisałem, że jeśli chodzi o objętość programu, to większych różnic nie będzie (między BXE a TBXL). Może jednak nie do końca tak jest.
    W BXE nie ma specjalnej instrukcji REM, czyli „dwóch kresek” znanych z TBXL. Trzeba posiłkować się zwykłym „REM-em” a to oznacza dodatkowe bajty.
    I jeszcze jeden przykład:

    TBXL:
    100 DO
    200 IF PEEK(53279)=%3 THEN EXIT
    300 LOOP
    400 END


    I to samo w BXE:
    100 While 1
    200 If Peek(53279)=3 Then Pop:Goto 400
    300 Endwhile
    400 End


    Objętość drugiego przykładu jest większa, czy jednak będzie miało to wpływ na ogólną objętość programu – trudno powiedzieć.
    • 28:
       
      CommentAuthormgr_inz_rafal
    • CommentTime8 Jun 2012 zmieniony
     
    Podczepię się pod wątek :)

    Dostałem ostatnio dwie paczki, jedną z Basic XE, a drugą z Atari 1010. Postanowiłem więc sprawdzić je w akcji i wczytałem sobie z kasetki moją gierkę z wsadzonym kartridżem.

    No i teraz tak: niby działa, ale nie do końca. Na ekranie brakuje paru literek. Co może być przyczyną takiego efektu?

    PS. Pytanie na poczet tworzenia obiecanej gierki w Basic XE :)

    A tak to wygląda:
    • 29:
       
      CommentAuthorjhusak
    • CommentTime8 Jun 2012
     
    Coś Ci zamazało część generatora znaków....
    • 30: CommentAuthorBluki
    • CommentTime8 Jun 2012 zmieniony
     
    N I E A K T Y W N Y
    BXE jest zgodny „w górę” z Atari BASIC-em. Jeśli pojawiają się problemy, to najczęściej przyczyną jest nazwa zmiennej będąca instrukcją w BXE.
    W przypadku Biednego psa Antoniego jest to Num, m. in. linie 6008 i 6050. Musisz takie nazwy poprzedzić poleceniem Let (tam gdzie jest coś podstawiane do zmiennej). Listing przejrzałem pobieżnie, więc może być tego więcej.
    • 31:
       
      CommentAuthormiker
    • CommentTime8 Jun 2012
     
    ...ale dalej nie ma runtime'a, co nadal go kładzie, jeżeli chcesz się swoim dziełem podzielić dalej... (będę to przypominał do bólu, żeby nie było)
    • 32: CommentAuthorBluki
    • CommentTime8 Jun 2012
     
    N I E A K T Y W N Y
    Tak, tak, już było, wiemy :)
    Wada jest znacząca, ale nie tak jak kiedyś. Teraz można ją ominąć przy pomocy emulatora lub Flash Cartridge'a.
  4.  
    Dzięki za info. Już zassałem Basic XE Zientary i będę sprawdzał jakie jeszcze niespodzianki czają się za rogiem.
    • 34:
       
      CommentAuthorKaz
    • CommentTime7 Jul 2012
     

    Rafal:

    PS. Pytanie na poczet tworzenia obiecanej gierki w Basic XE :)


    Az strach zapytac, o czym bedzie gra :)
  5.  

    Kaz:

    Az strach zapytac, o czym bedzie gra :)
    Pomysły dojrzewają powoli... Aktualnie najbardziej myślę o jakiejś przygodówce ze szczątkową grafiką, ale za to dość rozbudowaną mapą i lekko zakręconą fabułą :) Takie coś w stylu "podnieś, użyj, zbadaj" a'la Roderic :)

    W BASICu, ze względu na prędkość, raczej trudno będzie o gierkę typu arcade.
    • 36:
       
      CommentAuthorKaz
    • CommentTime10 Jul 2012
     
    Brzmi smakowicie, bo Roderic byl fajna gra.
    • 37: CommentAuthorBluki
    • CommentTime14 Jul 2012
     
    N I E A K T Y W N Y
    Skoro gra powstaje w BASIC-u (jak mniemam XE), to może kolega mgr_inz_rafal zechce wziąć udział w konkursie?
    • 38: CommentAuthorbob_er
    • CommentTime14 Jul 2012
     
    ale sprawa nie jest beznadziejna.
    np. to jest w turbo basicu: ->link<-
  6.  
    Termin oddawania prac na konkurs całkiem realny do osiągnięcia. Boję się jednak, że gorzej będzie z wersją angielską, gdyż planuje mocno osadzić fabułę w polskich realiach :-)
    • 40: CommentAuthorBluki
    • CommentTime16 Jul 2012
     
    N I E A K T Y W N Y
    Niech Argentyńczycy poznają trochę historii Polski :D
    • 41:
       
      CommentAuthorKaz
    • CommentTime16 Jul 2012
     
    Tez sie zgadzam z takim podejsciem. Z tego wzgledu "Dratewka The Shoemaker" powstal po angielsku.
  7.  
    @bob_er
    Dzięki, świetna gierka - nie znałem wcześniej. A właściwie to świetna grafika - uwielbiam tę rozdzielczość :) A jeśli chodzi o akcję, no to jednak widać, że to tylko Basic (choćby nawet Turbo). Chyba zawsze Basic będzie kojarzył mi się z FACem :) Nooo, pewnie dałoby się coś powalczyć za pomocą wstawek asemblerowych i może to jest droga.

    @Bluki, Kaz
    W sumie macie rację - warto spróbować dotrzeć do większego audytorium :) Czyli plan będzie taki - rozpocząć po Polsku, znaleźć kogoś, kto pomoże przetłumaczyć rymy i gry słów, zangielszczyć, ewentualnie zgermanić, zargentynizować, zczesić lub zradziecczyć :)
    • 43: CommentAuthorpin
    • CommentTime6 Aug 2017
     
    Odgrzewam kotleta :)

    Advan - wszystko ok, ale jak mam już coś pisać na Atari teraz to wolałbym się uwolnić od obrazów ATR po 90kB w niezrozumiałym formacie. TBXL, czy Basic XE nie posiada owej wady i można ich używać na dowolnym współczesnym, lub nie urządzeniu I/O. Jeśli mam np. poobrabiać grafy, zrobić muzaka, podglądnąć jakiś plik, czy pogrzebać edytorem sektorowym w jakiś danych, to uwierzcie mi, bawiąc się na realnym kompie nie używając do tego PC nie da się tego robić na SIO2SD i 64k kompie + zasilacz i kabel antenowy :D. Sparta + HDD to minimum do sensownej zabawy.

    Basic XE (teoretyczne) zalety, uzupełnienie w stosunku do postu #1 - operacje gbet, bput, move, poke na rozszerzonej pamięci. Problem jest jednak taki, że jak na razie w czasie testów kłopocik dotyczy BGET i trybu extend. Inna zadziwiająca sprawa jest taka, że BGET dla 130XE działa poprawnie ... ale w tryie 64k (bez extend). Całkowicie tego nie rozumiem i doszło do tego że sprawdzamy, czy czasem cart nie jest jakoś dziwnie uwalony. Ma ponad 30 lat i kto go tam wie. Powstaje przy okazji i chyba dzięki temu emulator carta Basic XE.. na VBXE ;) Można będzie nie mieć carta i cieszyć się nim. Daj Boże, test in progress... ;) Co do samej emulacji, to tylko VBXE poprzez MemacA daje możliwość zamapowania danych w miejscu carta, wiadomo - trzeba "tylko" odwołania do carta w takim romie przerobić tak by wołało przez VBXE. No i jeszcze ten nieszczęsny dodatek BASICXE.OSS. Da się, bo wstępnie to działa ale chwilę to jeszcze z tym pewnie zejdzie.

    Jak się temat ustabilizuje, to będzie beta do pobrania ;)