1

Od zawsze robiłem programy w basic na atari,do czasu gdy przerzuciłem się na pc i javascript(tak samo prosty).I co się okazało,że jak czasem   
powracam do basica,brakuje mi:
-tablic zawierających łańcuchy znaków
-łączenie łańcuchów znaków
-brak funkcji i wielu innych instrukcji które można jednak zastąpić przez inne rzeczy,ale jest to problem,tym większy,że nie można sobie kopiować i wklejać jakichś dodatkowych poleceń.

ot na przykład robię

DIM TABLICA$(2)
TABLICA$(0)="TEKST"

wiadomo,że to znczy co innego niż w normalnych językach
robię

print "część" & "część2"

lub

print "część" + "część2"

i jest error,błąd składni.Nie wiem jak mogłem tyle lat radzić sobie bez tych rzeczy ale teraz mnie to wnerwia

Czy jest jakaś ulepszona wersja basic-rom,coś na wzór visual basic,lub przypominająca współczesne języki programowania i czy jest jakiś zewnętrzny kompilator basic,że możnaby pisać w notatniku i przenieść do emulatora?

Normalnie używam tari-monitora aby skopiować dane z pliku do pamięci,ale wiadomo problem z kodowaniem znaków(to jeszcze można obrobić czymś z zewnątrz) i sama procedura jest skomplikowana i łatwo zapomnieć ,tym bardziej jeśli dłuższy czas nie używam basic,a potem nagle coś robię i nie wiem od czego zacząć,a czas jest cenny

Wiem że atari i windows to 2 różne historie i problemy z przyzwyczajeniami muszą być,ale atari też się czasem przydaje,ot np szybki program muzyczny,czy rysowanie grafiki,jakaś prosta gra w basic(js tego nie umie),tutaj jest pamięć i środowisko programistyczne,js bazuje tylko na przeglądarce itd,długoby wymieniać i porównywać.

Różne emulatory mam ale żaden nie oferuje integracji z czymś z zewnątrz na takim prostym poziomie.

2

>-tablic zawierających łańcuchy znaków

potrzebujesz tablicy wskaznikow
CARD ARRAY tablica(1);
tablica(0) = "tekst 1";
tablica(1) = "tekst 2";
PrintE(tablica(1));

albo uzyc tablicy jako pola rekordu (nie wprost - podobnie urzyc trzeba wskaznikow) - deklaracja TYPE


>-łączenie łańcuchów znaków

SAssign chyba


>Czy jest jakaś ulepszona wersja basic-rom,coś na wzór visual basic,lub przypominająca współczesne języki programowania i czy jest jakiś zewnętrzny kompilator basic,że możnaby pisać w notatniku i przenieść do emulatora?


potrzebujesz TurboBasica XL lub ACTION!

http://atari.pl/hsc/ad.php?i=1.

3 Ostatnio edytowany przez Lizard (2006-08-19 15:00:46)

xxl napisał/a:

potrzebujesz tablicy wskaznikow
CARD ARRAY tablica(1);

To jes Action!, a kolega pyta się o Basic. W tym drugim nie ma tekstowych tablic wielowymiarowych. Można to prosto obejść poprzez deklarację:

DIM TABLICA$(ilość_łańcuchów*długość_łańcucha)
REM odwołanie do łańcucha N (numeracja od zera)
PRINT TABLICA$(N*długość_łańcucha+1,(N+1)*długość_łańcucha)

Łączenie łanńcuchów:

PRINT $TABLICA1;$TABLICA2
Zawsze mam rację, tylko nikt mnie nie słucha.

4

Do dłubania na PC, jak ktoś lubi Turbo Basic, to jest takie fajne coś, TurboTari: http://kikabo.co.uk/ - "TurboTari is two emulators combined, an extended Basic emulator (based on Turbo Basic) and a 6502 emulator/Atari architecture emulator."

5

hehe. te turbotari jest nie do pobicia :D

6 Ostatnio edytowany przez larek (2006-08-19 17:37:23)

W 1981r. powstał na Atari Microsoft Basic. Jest on zgodny ze standardem Microsoftu i program typu:

10 DIM A$(2)
20 A$(0)="Atari "
30 A$(1)="800 XL"
40 A$(2)=A$(0)+A$(1)
50 PRINT A$(2)

nie jest mu dziwny - ma wielowymiarowe tablice tekstowe, a teksty możemy sklejać operatorem "+".

Nie znam nikogo, kto kiedykolwiek coś pisał w tym dialekcie Basica. Ale język jest i dokładnie to, co Andriu napisał można w nim zrealizować.

Jak coś, to mogę przesłać plik atr mailem.

7

Bardzo bym prosił o "Atari Microsoft Basic" na rta0105@o2.pl,a to dlatego że chcę czuć wygodę w używaniu basic i nie oddalać się zbytnio od js,który też jest świetny do zabawy.A z drugiej strony basic to coś na co pisałem setki programów,a projekty nowych(sprzed 10lat) leżą w starych zeszytach,może kiedyś to dokończę.

Dzięki za turbotari!
mówicie wielowymiarowe,a na razie widzę jednowymiarowe A$(0)="Atari ",wielowymiarowe to by było A$(1)(4)="pozycja 4,1".No i te nawiasy okrągłe...niech już będzie.

Zrobiłem taki konwerter do tablic indexowanych na łańcuchy znaków

1 REM WPISZ DO LINII 100 ELEMENTY TABLICY BEZ ZNAKU " ODDZIELONE PRZCINKAMI
2 REM NASTEPNIE RUN ABY ZALADOWAC TABLICE
3 REM ABY ODCZYTAC WYWOLAJ Z PROGRAMU TO CO W LINII 105
4 REM ELEMENT O PODANYM INDEXIE ZOSTANIE SKOPIOWANY DO ZMIENNEJ $TABLICA
10 DIM NAZWY(10),LAN$(50),TABLO$(1000),TABLICA$(50)
15 R=1:I=0
17 NAZWY(0)=1
20 RESTORE
21 READ LAN$
22 IF LAN$<>"1000" THEN 25
23 TABLN=I:NAZWY(I+1)=E
24 END
25 LN=LEN(LAN$)
26 E=R+LEN(LAN$)
26 E=R+LEN(LAN$)
32 TABLO$(R,E)=LAN$
33 R=E:I=I+1:NAZWY(I)=R
35 GOTO 21
40 INDEX=3:GOSUB 80:? TABLICA$
80 IF INDEX>=TABLN THEN TABLICA$="UNDEFINIED":GOTO 85
82 TABLICA$=TABLO$(NAZWY(INDEX),NAZWY(INDEX+1)-1)
85 RETURN
100 DATA ELEMENT1,ELTAB2,ELT3,4 ELEMENT,1000
105 INDEX=0:GOSUB 80:? TABLICA$
106 INDEX=1:GOSUB 80:? TABLICA$
107 INDEX=2:GOSUB 80:? TABLICA$
108 INDEX=3:GOSUB 80:? TABLICA$

Jeszcze jedno pytanie,czy programy w basic mogą się komuś do czegoś przydać i czy warto je publikować na swojej stronie.Ponad to mam kilka skryptów js z html do konwersji programów w basic i w ogóle dodatków do emulatora.To nie sa ukończone wersje,ale w pełni sprawne,póki co nie mam siły wnikać na czym skonczyłem,bo pamięć ludzka jest zawodna,jak się robi na bierząco to wszystko ok,po czasie,własny skrypt staje się niezrozumiały.

8 Ostatnio edytowany przez drac030 (2006-08-23 16:48:13)

Lizard napisał/a:

W tym drugim nie ma tekstowych tablic wielowymiarowych.

Poprawka - są, ale nie tekstowe (tylko numeryczne). Wielowymiarowe tablice tekstowe ma, oprócz wspomnianego Microsoft BASIC-a, równiez BASIC XE. Nie jestem pewien, czy BASIC XL też ich nie miał.

andriu napisał/a:

wielowymiarowe to by było A$(1)(4)

To nie jest składnia BASIC-a.

KMK
? HEX$(6670358)

9

Drac030, czyżby literki Ci się rozmyły w napisanym przeze mnie słowie "tekstowych"? ;)

Problem z wielowymiarowością tablic w Basicu polega na kłopocie z zapisem. Jak słusznie zauważył Drac030 zapis w stylu A$(1)(4) nie należey do składni Basica. Natomiast zapis A$(1,4) oznacza ciąg od pierwszego do czwartego znaku.

Zawsze mam rację, tylko nikt mnie nie słucha.

10

Lizard napisał/a:

Drac030, czyżby literki Ci się rozmyły w napisanym przeze mnie słowie "tekstowych"? ;)

Nie grzeb w matriksie, tam nie było tego wyrazu :P ;)

Problem z wielowymiarowością tablic w Basicu polega na kłopocie z zapisem. Jak słusznie zauważył Drac030 zapis w stylu A$(1)(4) nie należey do składni Basica. Natomiast zapis A$(1,4) oznacza ciąg od pierwszego do czwartego znaku.

W BASIC XE jest dlatego A$(1;4).

KMK
? HEX$(6670358)

11

Wysłałem na podany przez Ciebie adres m$ basica na Atari. Mam nadzieję, że wystarczy Ci 21022 bajtów na program i dane. Niestety wersja basica od  Billa więcej nie udostępnia:).

Byl hrozný tento stát, když musel jsi se dívat, jak zakázali psát a zakázali zpívat,
a bylo jim to málo, poručili dětem modlit se jak si přálo Veličenstvo Kat.

12

hmm... ciekawe jak z pamięcią pod ROMem...

I Ty zostaniesz big endianem...

13

Zientara w swojej książce "Języki Atari" podaje, że interpreter zajmuje obszar pamięci od $1E00 do $69FF.

Byl hrozný tento stát, když musel jsi se dívat, jak zakázali psát a zakázali zpívat,
a bylo jim to málo, poručili dětem modlit se jak si přálo Veličenstvo Kat.

14

miker napisał/a:

hmm... ciekawe jak z pamięcią pod ROMem...

Nijak. W 1981 roku nie było czegoś takiego.

KMK
? HEX$(6670358)

15

czyli sugerujesz, że procka ROM-RAM by się wysypała?

I Ty zostaniesz big endianem...

16

Procka ROM-RAM w 1981 roku nie istniała ;) A ogólnie to nie wiem, co ona ma tu do rzeczy, może sprecyzuj.

KMK
? HEX$(6670358)

17

No, procka w języku maszynowym, pozwalająca na użycie pamięci z obszaru $D800-$FFFF w Atari BASIC. Jest taka np. w Lidze Polskiej. O ile w M$ BASICu jest coś takiego jak USR(n).

I Ty zostaniesz big endianem...

18

Istnieje, ale to chyba i tak tylko proteza - tej pamięci na sam program nie wykorzystasz, od biedy można tam przechowywać co większe tablice przez kopiowanie ich w tę i nazad, ale chyba wygodne to to nie jest. ;)

KMK
? HEX$(6670358)

19

ilr: a ponoc twierdzil ze to dopiero 640kb starczy kazdemu :)
miker: tam gdzie sie zaczyna USR(cokoliwek) tam koncza sie dywagacje na temat basica...

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

20 Ostatnio edytowany przez epi (2006-08-23 22:52:48)

jellonek: jesteś pewien, że nie chodziło o 64 kB?

A trzymając się tematu: ja polecam Turbo Basic XL. Nie ma oczywiście tego, czego szukasz, ale jeśli chodzi o programowanie na Atari, to jest to chyba najlepszy wybór. Jeśli dobrze znasz TBXL i Asembler, to nie zginiesz.

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

21

MS-Basic oryginalnie był rozprowadzany na kartridżu i jako taki zajmował obszar zajmowany przez Atari Basic ($A000-$BFFF). Niewykluczone, że "wersje" kasetowo-dyskowe zajmowały również inne obszary pamięci.

Zawsze mam rację, tylko nikt mnie nie słucha.

22

Mam wrażenie, że MS BASIC II na karcie zajmuje obszar od $8000 do $BFFF. Ale może źle pamiętam.

KMK
? HEX$(6670358)

23

Lizard napisał/a:

MS-Basic oryginalnie był rozprowadzany na kartridżu i jako taki zajmował obszar zajmowany przez Atari Basic ($A000-$BFFF). Niewykluczone, że "wersje" kasetowo-dyskowe zajmowały również inne obszary pamięci.

oryginalnie wydany byl na dyskietce, na karcie rok pozniej + dodatkowa dyskietka dogrywana i zwalo sie to ms basic II

http://atari.pl/hsc/ad.php?i=1.

24 Ostatnio edytowany przez ilr (2006-08-24 07:41:16)

ROM MS Basic II można pobrać ze strony AtariAge: http://www.atariage.com/software_page.h … belID=2455
Ale nawet w tej wersji użytkownik dostaje tylko 24624 bajty wolnego z DOSem 2.5 (bez DOSa jest to 29980 bajtów).

Właśnie rzuciłem okiem na Wikipedię i znalazłem ciekawy link odnośnie BASICa na Atari:

http://www.atarimagazines.com/v6n2/BASICBonanza.html

Byl hrozný tento stát, když musel jsi se dívat, jak zakázali psát a zakázali zpívat,
a bylo jim to málo, poručili dětem modlit se jak si přálo Veličenstvo Kat.

25

Advan BASIC ma jakies inne procedury FP?

http://atari.pl/hsc/ad.php?i=1.