51

Odp: Atari BASIC pod ROM-em

skrzyp napisał/a:

Niestety, używanie SC wymaga ekranu 80-kolumnowego, programowego lub z XEP80 albo VBXE.

Dlaczego niestety? - Tryb 80 znakowy na standardowe Atari jest całkiem czytelny.

Co to jest? To przecież ATARI! ... Atari? - co pan, ja nie jestem rolnikiem ;)

52

Odp: Atari BASIC pod ROM-em

Pin napisał/a:

Dlaczego niestety? - Tryb 80 znakowy na standardowe Atari jest całkiem czytelny.

Tak, jak nie masz wideo po kompozycie, a Twój monitor innego nie obsłuży, bo jest upośledzony.

.: miejsce na twoją reklamę :.

53

Odp: Atari BASIC pod ROM-em

Menu, o którym wspomniał skrzyp, wygląda tak:

http://ibi.uw.edu.pl/~draco/atari/profunda/mydup2.png

Ostatnio edytowany przez drac030 (2015-10-13 22:13:37)

KMK
? HEX$(6670358)

54

Odp: Atari BASIC pod ROM-em

Pin napisał/a:

Wystarczy użyć Sparta Commandera.

A gdzieś znajdę opis SC?

55

Odp: Atari BASIC pod ROM-em

W archiwum zawierającym SC?

Archiwum znajduje się w SpartaDOS X Toolkit, dostępnym na stronie http://spartadosx.com w postaci pliku ATR, w którym są różne przydatne narzędzia do SDX.

Na tej stronie masz także ~250-stronicową instrukcję użytkownika w języku polskim, oraz niewiele chudszą instrukcję programisty.

.: miejsce na twoją reklamę :.

56

Odp: Atari BASIC pod ROM-em

Bluki napisał/a:

A gdzieś znajdę opis SC?

Tu:

Klawisze strzałek obsługują kursor, TABem przechodzimy z panelu na panel. Reszta instrukcji u dołu ekranu.

Wiem, że instrukcja jest dość złożona, ale warto się z nią zapoznać wink

Co to jest? To przecież ATARI! ... Atari? - co pan, ja nie jestem rolnikiem ;)

57

Odp: Atari BASIC pod ROM-em

Do prawie każdego narzędzia w SDX masz instrukcję użytkowania dostępną za pomocą MAN (tzw. manual) w języku angielskim (czasem trzeba sobie go przy instalacji rozpakować z ARC-a i skopiować do katalogu z manualami). Są to zwykłe pliki tekstowe, więc można sobie je przetłumaczyć i wrzucić gdzieś do katalogu, po czym dodać do zmiennej środowiskowej MANPATH tę ścieżkę - wtedy polecenie MAN będzie szukać manuala w ścieżkach zdefiniowanych właśnie tam.
Manuale do poleceń systemowych znajdują się na CAR: (w większych kartridżach).
Poza tym, jak skrzyp napisał, dostępny jest aktualny podręcznik na stronie projektu, w którym masz np. informacje jak używać funkcji systemu z BASIC-a. No i podręcznik programisty (głównie ASM), ponieważ SDX udostępnia szereg mechanizmów nie znanych w innych DOS-ach na Atari (i nie - nie jest to tylko SpartaFS jak by się na pierwszy rzut oka mogło wydawać, przez co często nie da się przenieść programu napisanego dla SDX pod Sparta3.2, BW-DOS, RealDOS czy inne używające SpartaFS). SDX to nie jest tylko inny system plików.
W Atariki jest też kilka stron dotyczących programowania różnych rzeczy pod SDX.

hex, code and ror'n'rol!
"mężczyzna wydoił wielbłąda żoną"
"wcześniej miał na imię Heidi i był niemiecką kulomiotką"

58

Odp: Atari BASIC pod ROM-em

Wrzuciłem na stronę nową wersję U-BASIC-a (1.6):

http://drac030.krap.pl/pl-ub-pliki.php

Lista zmian:

1) funkcja RND() przerobiona tak, żeby pozbyć się z niej dzielenia, i żeby lepiej działała z Rapidusem.

2) odczyt wiersza poleceń poprawiony wg tego
http://atariki.krap.pl/index.php/Wiersz … andard_OSS

3) zniesione ograniczenie wielkości tablic do 32k.

4) procedura obliczająca wielkość tablic numerycznych poprawiona tak, żeby wykrywała ewentualne przepełnienia.

5) dodana instrukcja DIR (dostępna tylko w trybie bezpośrednim).

Ostatnio edytowany przez drac030 (2016-08-13 14:41:08)

KMK
? HEX$(6670358)

59

Odp: Atari BASIC pod ROM-em

Nowa wersja U-BASIC-a (1.7) pod adresem jak powyżej. Zmiany:

1) zajmuje 43 bajty pamięci nad MEMLO (w wersji 1.6 to były 52 bajty);

2) dodany plik UBI.CFG, w którym można włączać i wyłączać featury; pod SDX ten plik jest najpierw szukany w $PATH, a potem w bieżącym katalogu - co pozwala na rozdzielenie ustawień na globalne i lokalne;

3) jedną z nich jest zapis zawartości pamięci do pliku UBI.SAV w czasie wykonywania komendy "DOS"; ten plik zostanie wczytany przy następnym uruchomieniu interpretera;

4) SAVE/CSAVE wyciszają dźwięk po użyciu.

Ostatnio edytowany przez drac030 (2016-09-11 10:00:41)

KMK
? HEX$(6670358)

60

Odp: Atari BASIC pod ROM-em

skrzyp napisał/a:

Dla ortodoksów jest jeszcze MyDOSowe menu znajdujące się w archiwum MYDUP.ARC na Toolkicie. Niestety, używanie SC wymaga ekranu 80-kolumnowego, programowego lub z XEP80 albo VBXE.

SC już działa z XEP80 ? bo w poprzednim wydaniu o ile dobrze pamiętam nie było obsługi xep80.sys

61

Odp: Atari BASIC pod ROM-em

Przy tym CSAVE przyszedł mi do głowy pomysł na dodanie CRUN.

62

Odp: Atari BASIC pod ROM-em

Dobre zmiany (tm)!
A miałbyś tam może miejsca nieco na szybszy algorytm dla PLOT, DRAWTO, POSITION I LOCATE?

hex, code and ror'n'rol!
"mężczyzna wydoił wielbłąda żoną"
"wcześniej miał na imię Heidi i był niemiecką kulomiotką"

63

Odp: Atari BASIC pod ROM-em

Nowych słów kluczowych (typu CRUN) nie będzie, bo kłóci się to z założeniami U-BASIC-a: mianowicie ma być maksymalnie zgodny z Atari BASIC w tym sensie, że program napisany pod U-BASIC-em ma się uruchomić na Atari BASIC-u, a nawet jeśli się nie uruchomi np. z powodu braku pamięci (której U ma więcej), ma wyświetlić komunikat błędu, a nie wykrzaczyć się z powodu napotkania przez Atari BASIC nieznanego sobie tokenu.

Można byłoby wprawdzie dodać CRUN tak jak DIR (że tylko tryb bezpośredni), ale to moim zdaniem byłoby marnotrawstwo miejsca, bo dokładnie to samo osiągamy przez podanie CLOAD/RUN.

Co do PLOT, DRAWTO, LOCATE, te rzeczy są realizowane w OS-ie i BASIC nie ma tu za wiele do gadania. Natomiast POSITION trudno ulepszyć, bo to jest, oprócz odczytu parametrów, LDA/STA/LDA/STA/LDA/STA.

Poza wszystkim, nie ma też specjalnego szału z wolnym miejscem pod ROM-em. W teorii to jest 14k, ale 2k zajmują fonty, a dalsze 2k pakiet FP. Zostaje zatem 10k. Z tego 8k zajmuje sam interpreter, a reszta przeznaczona jest na różne wrappery, DIR, UBI.SAV save/load itp. W tej chwili w obszarze $c000-$cbff  mam 26 bajtów wolnego miejsca, a w $e400-$ffff - 1239 bajtów (1,2k).

EDIT: zastanawiam się za to nad modyfikacją działania słowa kluczowego BYE: żeby, zamiast do Selftestu, wychodziło się nim zawsze do DOS-u, tylko bez zapisywania pliku *.SAV. Słowem, takie "cancel" dla ostatnich zmian, jeśli mamy włączone memsav=1. Ktoś widzi jakieś przeciwwskazania?

Ostatnio edytowany przez drac030 (2016-09-11 14:25:05)

KMK
? HEX$(6670358)

64

Odp: Atari BASIC pod ROM-em

Hmm, fonty z C64, że 2 KB? O ile pamiętam fonty standardowo zajmują 1KB?

Sikor umarł...

65

Odp: Atari BASIC pod ROM-em

Sikor, może chodzi też o zestaw międzynarodowy.

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

66

Odp: Atari BASIC pod ROM-em

Jeśli dobrze rozumiem BYE inaczej by działało tylko gdy aktywny jest MEM.SAV. W innym przypadku byłby SELFTEST?

67

Odp: Atari BASIC pod ROM-em

Zawsze można BYE zrobić poprzez ?USR(58481) ;]

hex, code and ror'n'rol!
"mężczyzna wydoił wielbłąda żoną"
"wcześniej miał na imię Heidi i był niemiecką kulomiotką"

68

Odp: Atari BASIC pod ROM-em

Zgadza się, ale...
1. Jest to bardzo kłopotliwe w porównaniu do BYE.
2. Zakłóca zgodność z AB.

69

Odp: Atari BASIC pod ROM-em

Bluki napisał/a:

Jeśli dobrze rozumiem BYE inaczej by działało tylko gdy aktywny jest MEM.SAV. W innym przypadku byłby SELFTEST?

Początkowo tak zrobiłem, ale to powoduje konfuzję, bo żeby wiedzieć, co zrobi BYE, trzeba w danej chwili pamiętać ustawienia MEMSAV. Więc skłaniałbym się raczej ku temu, żeby BYE zawsze wychodziło do DOS-u, i tylko w przypadku aktywnego MEMSAV żeby pomijało jego zapisywanie.

Pytanie brzmi, czy zakłóca to zgodność z AB w sposób, który mógłby komuś sprawić problem, a jeśli tak, to jaki.

Tak czy owak, przy aktywnym MEMSAV potrzebny jest sposób na wyjście z BASIC-a bez zapisywania zawartości pamięci, a przedefiniowanie BYE to jak dotąd najlepsze, co wymyśliłem. Zalety:

1) nie trzeba definiować dodatkowych słów kluczowych

2) jest to proste i skuteczne

3) nie powoduje (chyba?) istotnych problemów ze zgodnością z AB, gdyż jest to tak czy owak wyjście z interpretera bez zachowania zawartości jego pamięci, tyle że nie do Selftestu, a do DOS-u.

Ostatnio edytowany przez drac030 (2016-09-16 19:26:02)

KMK
? HEX$(6670358)

70

Odp: Atari BASIC pod ROM-em

Zalety takiego rozwiązania (BYE), które przedstawiłeś, są bezsporne. Też wydaje mi się, że ta zmiana nie powinna raczej powodować problemów. Jednakże…
1. Pozostaje to „raczej”.
2. Działanie BYE jest tak zakodowane w świadomości użytkowników (BYE=SELF_TEST=ATARI), że jego zmiana pociąga za sobą pewną nieprzyjemną zmianę „w świadomości”. Przynajmniej tak to odbieram, aczkolwiek przyzwyczaić się można.

Proponowałbym jednak rozważyć wprowadzenie polecenia „CP” (command processor), które dobrze kojarzy się z DOS-em (i poleceniem DOS) i mogłoby działać w sugerowany sposób.

Gdyby BYE w trybie bezpośrednim działoby jak DOS bez MEM.SAV, a w linii programu normalnie, to też byłoby to przyzwoite rozwiązanie i na pewno nie powodowałoby perturbacji programowych.

Ostatnio edytowany przez Bluki (2016-09-17 15:36:46)

71

Odp: Atari BASIC pod ROM-em

Sądzę, że jak ktoś używa U-BASIC to odpala go z jakiegoś systemu. Wtedy polecenie DOS służy by zrobić z plikami/dyskami coś więcej niż DIR (bo te jest dostępne) i wrócić do BASIC-a. MEM.SAV odwala robotę i wszystko gra.

Takiemu użytkownikowi polecenie BYE wracające do DOS-a powinno pasować bo on po prostu mówi w tym momencie że skończył i będzie się czym innym zajmować.

Jak będzie chciał z jakichś względów wejść do self-test-u to może włączyć BASIC z romu i tam wpisać BYE, może też skoczyć do E471 (czy z komendy czy binarką).

Takie dwa grosze od kogoś kto Atari używał ostatnio ponad 20 lat temu ;d

72

Odp: Atari BASIC pod ROM-em

Przemyślałem sprawę i chwilowo zostanę przy przedefiniowaniu BYE. Jeśli wyniknie z tego jakiś problem, wtedy się będzie kombinować dalej. Na definiowanie CP (działającego analogicznie do DIR, czyli tylko w trybie bezpośrednim) szkoda mi miejsca, bo obawiam się, że może go zabraknąć na coś fajniejszego.

Pomysł z różnym działaniem BYE w trybie bezpośrednim i trybie programu wydał mi się zrazu dobry, ale po namyśle wydaje mi się jednak, że wprowadzałoby to zamieszanie.

KMK
? HEX$(6670358)

73

Odp: Atari BASIC pod ROM-em

Nowa wersja (1.8) u mnie na stronie. Opis tutaj http://atariki.krap.pl/index.php/U-BASIC

KMK
? HEX$(6670358)

74

Odp: Atari BASIC pod ROM-em

Na AAge ktoś mi wytknął, że U-BASIC 1.8 nie działa z BW-DOS-em i jeden komunikat jest skrzaczony. Poprawiona wersja (1.8.1) u mnie na stronie.

KMK
? HEX$(6670358)