1

Temat: Basic XE

Dzień dobry.

Pytanie na śniadanie. Czy ktoś z Was ma jakieś szczególne doświadczenia w trybie EXTEND z instrukcjami MOVE, BGET na pamięci rozszerzonej. Uwaga - doświadczenia z jak i z programu, tak i z operacji w trybie bezpośrednim. Testy wykazały niepokojące różnice, ze strachu zamieniłem Sratari na Atari ale nic to nie dało wink.

Test: W trybie bezpośrednim ładujemy BGETEM dane grafiki do ext ram 130XE, kopiujemy poprzez MOVE do pamięci na antica i jest OK. To samo z procedury z regularnego programu zawiesza kompa. Jakieś pomysły?

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

2

Odp: Basic XE

okazuje się, że po wyłączeniu trybu EXTEND operacje poprzez BGET skąd,dokąd,ile,bank_ext_ram działają z poziomu programu.

Wg. dokumentacji p. Zientary (która jest dość niekompletna), ale też i oryginalnej do interpretera winno to wyglądać inaczej. Oryginalny doc na Atarimanii.

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

3

Odp: Basic XE

Uwaga wink

Szykuje się plikowa wersja Basica XE wink. Z powodów technicznych do uruchomienia potrzebne jest VBXE ... i tego raczej nie obejdziemy. Ale się da.

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

4

Odp: Basic XE

Chciałbym wstępnie zaprezentować wersję alfa Basic-a XE 4.1 nie wymagającego do działania oryginalnego cartridge'a.
Wymaga za to do działania VBXE z rdzeniem FX i dlatego nazwałem go sobie "Basic XE 4.1 for VBXE/FX".
Program można odpalić pod dowolnym DOS-em, który nie zajmuje pamięci pod ROM, czyli np. DOS 2.5, MyDOS czy Sparta DOS X skonfigurowanym w trybie BANKED.
Pakiet składa się z dwóch plików:
- BXE41FX.COM zawierający kompletny obraz cartridge'a zmodyfikowanego przez Draco pod kątem działania z katalogiem bieżącym,
- BXE41FX.OSS zawierający rozszerzenie Basica XE.
Zarówno obraz jak i plik rozszerzenia został przeze mnie zmodyfikowany w taki sposób, aby odwoływał się do rejestrów VBXE (okno MEMACA), zamiast do rejestrów sprzętowych cartridge'a OSS, stąd też zdecydowałem się na zmianę nazwy oryginalnego pliku rozszerzenia (BASICXE.OSS) aby uniknąć problemu załadowania pliku nie pasującego do mojej modyfikacji Basica XE.
Przy okazji poprawiłem też błąd obsługi przerwań, który mógł się ujawniać podczas wykorzystywania procedur rozszerzenia. Otóż w przypadku kiedy ROM jest podniesiony oryginalny cartridge w reakcji na przerwanie IRQ wywoływał procedurę obsługi NMI i na odwrót. O ile przerwanie IRQ w końcu zostanie poprawnie obsłużone, o tyle NMI zostanie pominięte, co może skutkować opóźnieniami w działaniu zegara systemowego RTCLOK ($12) lub aktualizacji rejestrów cieni.
Aby móc używać programiku we własnych projektach należy skopiować obydwa pliki na swoją dyskietkę. Plik .OSS nie jest wymagany do działania BASIC-a. Podręcznik leży tutaj.
Zapraszam do testowania.

P.S. Pinokio zauważył drażniący błąd działania procedury BLOAD. Powoduje ona załadowanie pliku binarnego i natychmiastowe przerwanie działania programu.

Ostatnio edytowany przez mono (2017-08-10 00:52:02)

Post's attachments

bxe41fx.atr 130.02 kb, liczba pobrań: 3 (od 2017-08-10) 

Tylko zalogowani mogą pobierać załączniki.
hex, code and ror'n'rol!
"mężczyzna wydoił wielbłąda żoną"
"wcześniej miał na imię Heidi i był niemiecką kulomiotką"

5

Odp: Basic XE

Aktualizacja. Poprawki związane z obsługą RESET oraz współpracą z S2:

Post's attachments

bxe41fx.atr 130.02 kb, liczba pobrań: 7 (od 2017-08-11) 

Tylko zalogowani mogą pobierać załączniki.
hex, code and ror'n'rol!
"mężczyzna wydoił wielbłąda żoną"
"wcześniej miał na imię Heidi i był niemiecką kulomiotką"

6

Odp: Basic XE

Mono - wiesz jaka była historia powstania tego projektu? smile - zaznaczam, że nie miałem kiedy sprawdzić aktualnej wersji wink

EDIT:

I nie załączaj wersji *.com, bo jak który dopali COMa pod SDX bez runexta i X.COM to głównie będą same pytania smile

Ostatnio edytowany przez Pin (2017-08-11 00:10:52)

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

7

Odp: Basic XE

No i na koniec dodam, że u mnie działa tak samo, jak ostatnio wink

EDIT:

ok, ide w kimono, jedziemy dziś na IRONIE!!!!

Ostatnio edytowany przez Pin (2017-08-11 00:12:33)

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

8

Odp: Basic XE

Rzeczywiście. Niniejszym chciałem naprawić swój błąd i oświadczam wszem i wobec iż inspiratorem i pomysłodawcą takiej wersji Basica XE jest Pinokio za co mu bardzo dziękuję.

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

9

Odp: Basic XE

Ta ostatnia i upubliczniona wersja zaczyna być stabilna. Testy trwają.

EDIT:

Mono - tak sobie teraz sprawdzam np. BGET'a bezpośrednio na pamięć rozszerzoną i:

* w trybie 64k wygląda jak by działał. Odczytałem z pliku jakieś dane wprost do ext ram, odczytałem stamtąd i zapisałem do innego pliku. Dane się zgadzają.

* W trybie EXTEND ta sama procedura powoduje .. uwaga: włączenie automatycznej numeracji dla linii programu smile .. BGET na rozszerzoną pamięć się nie wykona.

Warunki testowe: STOCK + VBXE, oraz Rapidus - fast dla #0 i #3, reszta slow, sdx 4.49d.

oto "program", choć to zbyt wiele powiedziane big_smile

100 O.#1,4,0,"DANE.TMP":BGET #1,$4000,$FF,1:CL.#1:? "A"
110 O.#1,8,0,"DANE.COS":BPUT #1,$4000,$FF,1:CL.#1:? "B"

Dla odmiany wygląda, jak by POKE działało jak i w trybie 64k, tak i w extend, czyli np. POKE $4000,$FF,1 nie zawiesza interpretera.

Ogólnie jest poważny progress wink

Ostatnio edytowany przez Pin (2017-08-14 17:28:57)

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