4,426

(38 odpowiedzi, napisanych Software, Gry - 8bit)

Ale bez Zientary byłoby ciężko. Więc są tego wady i zalety.

4,427

(38 odpowiedzi, napisanych Software, Gry - 8bit)

Lizard: z ostatnim przykładem siem zgodze. Jest elegancki i w 100% kompatybilny praktycznie z każdym systemem. Ale z tym 1-szym jest tak samo jak z moim jsr $f302.

No niezupełnie. Od $E400 do $E44F masz tablicę wektorów do sterowników urządzeń obsługiwanych w ROM-ie. Ta tablica jest tam zawsze, w każdej wersji systemu. W związku z tym skok przez te wektory zawsze zrobi to samo: jak w powyższym przykładzie, wczyta bajt z systemowej klawiatury (tej przyczepionej przez producenta do Pokeya). Natomiast twoje JSR $F203 czy też np. JSR $F2FD już nie, te skoki będą działać albo nie w zależności od wersji systemu. Dlatego to drugie jest nielegalne, a to pierwsze jest, bo użyta jest tabela wektorów zdefiniowana przez producenta.

Tej metodzie można zarzucić jedynie tyle, że nie uwzględnia możliwości podmiany sterownika. Ale też jest to legalna metoda wywołania sterownika systemowego (a nie każdego zainstalowanego), więc nie dziwne.

Ze źródłami OS-ROM'u Atari niepowinno być problemu, gdyż gdzieś je mam - w postaci *.M65 (Mac65).

Dzięki, ja mam w MAE i to w dwóch wersjach (zwykły i 65c816).

chyba większość systemów jest w ten sposób pisana - że jest modyfikacją OS-ROM rev. B

To chyba tylko z lenistwa. Poza tym co to za argument, że wiekszość, skoro najwyraźniej nie wszystkie.

mogę sobie wyobrazić. Problem rozwiąże się jak Pasiu wprowadzi w życie ROM 512kB dla 65c816 - wtedy obszar $c000 - $ffff można "poświęcić" na wypełnienie NOP'ami i skokami JSR do "nowego" ROM'u.

Zgadza się, jak będzie 512k ROM-u, to można będzie sobie pozwolić na różne cuda, w tym wypełnienie obszaru $C000-$CFFF i $D800-$FFFF skokami JML jeden obok drugiego. Ale na razie tak nie mamy.

pakiet matematyczny - niestey fakt - porażka. ktoś, kto przerobił go kiedyś przyspieszając go znacznie - umieścił reszte kodu na miejscu zestawu znaków międzynarodowych. Draco może w nowym ROM'ie dla 65c816  zrobisz jakąś tablice skoków na przyszłość.

Ja myślę, że dla nowego pakietu matematycznego (tego do 512k ROM-u) będzie można użyć któregoś z przerwań COP nie bawiąc się już w tablice skoków. Przerwania są wektorowane przez RAM, więc co za wygoda, jeśli trzeba przejąć jakieś wywołanie. Na razie natomiast przeżyjemy jakoś na starym, zwłaszcza że nie jest on chyba tak znowu często używany :D

czy warto przerobić AtariOS-ROM rev. B (800XE, 1985-03-01) wyżucając z niej obsługę C:, zestaw międzynarodowy i SelfTest'a, celem dodania obsługi obu tabeli partycji dla IDE KMK?

A bo ja wiem? Musisz się zastanowić, ile osób zdecyduje się na wymianę ROM-u (i uwiązanie się do twojej wersji na stałe) przy instalacji twardego dysku.

Przypominam, że nowy interfejs ma 3 kilo ROM-u: może obsługa jednego i drugiego się tam zmieści. Jeszcze żadnej nowej wersji sterownika nie ma, która by tego używała, 1.5 jest dla starego interfejsu.

czy odczyt klawiatury w podany PRZEZEMNIE SPOSÓB jest wkońcu legalny, czy też mam go nieużywać

Masz na myśli odczyt z rejestru klawiatury? No a dlaczego miałby być nielegalny w sumie. Najwyżej kiedyś program przestanie działać, jak zmieni się adres tego rejestru (bo ktoś przestanie w tym celu używać Pokeya) :D

w RAM'ie pod OS-ROM inaczej sie nieda, chyba ze przeskoczymy do zwykłej pamięci włączymy OS-Rom "odwołamy" się do CIO i powrócimy do programu w pamięci pod ROM'em. (roche długie i dla mnie bezsensowne marnowanie pamięci, ale coż).

Oj tam kilkanaście bajtów możesz odżałować. Umieść je w buforze magnetofonu, i tak jest przeważnie pusty :D

W Linii poleceń HiDOS'a chciałem zrobić obsługę np. historii poleceń, tylko że jeżeli użyję "E:", to bede ograniczony - nic niebede mógł robić jak OS'ROM czeka na naciśnięcie klawisza.

A co chcesz robić w tym czasie?

Co do pytań "czy można": wszystko można, tylko że jak się omija system, to potem to albo nie działa z nowszym sprzętem, albo coś tam. W sumie do zrobienia historii poleceń nie potrzebujesz omijać E:, czy też K:, bo to chyba jest kwestia nadania pewnym klawiszom znaczenia, i odpowiedniej interpretacji w tym duchu tego, co zwraca system.

Też bym w życiu nie uwierzył, że na systemowym E: da się zrobić pełnoekranowy edytor, i to w dodatku wygodny, gdybym nie widział tego w MAE. Więc da się. Czyli historię pewnie też się da korzystając z systemowych urządzeń.

4,428

(38 odpowiedzi, napisanych Software, Gry - 8bit)

No może i tak. Ale taka polityka powoduje, że niedługo pół ROM-u trzeba będzie wypełnić takimi skokami. Już utrzymanie adresów XL OS-u to jest marnotrawstwo miejsca, a przecież są w nim tez jakieś wynalazki z 400/800. Efekt jest taki, że mozna byłoby mieć ładny pusty obszar np. trzystu bajtów na jakies rozszerzenie, a w rzeczywistości jest to rozrzucone w stu miejscach po trzy bajty, kompletnie nie do użytku.

Pod tym względem największa porażka to pakiet matematyczny, ale akurat w przypadku reszty ROM-u tak nie musiałoby być. Ehhh, szkoda słów  :?

4,429

(38 odpowiedzi, napisanych Software, Gry - 8bit)

Casper, nie wrzeszcz.

Po pierwsze, tabela wektorów z której skorzystał Lizard, jest oficjalna, skoki przez nią są "legalne". A to w przeciwieństwie do JSR $F302.

Po drugie, nie jest bynajmniej prawdą, jakoby nielegalne skoki typu JSR $C642 czy to co wyżej, działały na wszystkich wersjach systemu: na systemie rev. A, tej od Atari 400/800, oczywiście nie będą działać. Czyli pewnie na dobrej połowie atarynek świata.

Po trzecie, że coś działa na QMEG-u, to żaden argument, bo QMEG nie jest kompilowany ze źrodeł, jest to zwykły ROM przerobiony w ten sposób, że wycięto niektóre procedury (NOP-ami i zerami wstawionymi tu i ówdzie do image'u ROM-u) a na to miejsce wrzucono procedury własne. To i nie dziwne, że akurat GETCHAR czy w ogóle większość procedur została na swoim miejscu.

Po czwarte, to jest chyba jakaś atarowska choroba, która dotyka też koderów na ST: uporczywa i niczym nie uzasadniona wiara, że bieżąca wersja systemu operacyjnego jest OSTATECZNA. To znaczy, że nikt nigdy nie usiądzie i nie przygotuje nowej - a w przypadku ROM-u XL/XE jest to dla dobrego kodera zajęcie na tydzień, wliczając 5 dni na zdobycie całego źrodła. Nic więc niemożliwego.

Po piąte, nie mogę wprost uwierzyć, że ty nie możesz sobie wyobrazić, jak wygwiździście wręcz UPIERDLIWE jest, podczas preparowania nowego ROM-u ze źrodeł, dbanie o to, żeby jakieś procedury zostały na tym samym miejscu. A to dlatego, że wielkość procedur się może zmienić, jedna może się skrócić, na drugą może być potrzeba więcej miejsca. Ale, k***a mać, takiego GETCHAR nie można ruszyć z miejsca, i trzeba zostawić trzy wolne bajty bez sensu nad nim albo pod nim, albo omijać je bezsensownym skokiem, bo atarowskim "specjalistom" nie chce się korzystać z tablic wektorów.

4,430

(38 odpowiedzi, napisanych Software, Gry - 8bit)

Khm, ale po co?

4,431

(38 odpowiedzi, napisanych Software, Gry - 8bit)

Denial of Service? No właśnie się tego zacząłem obawiać  :D

4,432

(19 odpowiedzi, napisanych Emulacja - 8bit)

Jest o 1 bajt dłuższy niż wersja 2.0  :mrgreen:

4,433

(38 odpowiedzi, napisanych Software, Gry - 8bit)

Yhh, to ja zaczynam czarno widzieć tego DOS-a...  :?

4,434

(39 odpowiedzi, napisanych Bałagan)

Sixties are over, ... man.

4,435

(38 odpowiedzi, napisanych Software, Gry - 8bit)

Powiedz mu jeszcze przynajmniej, że ten "kod" to jest kod skaningowy klawiatury, a nie ASCII, jak u Lizarda.

4,436

(190 odpowiedzi, napisanych Software, Gry - 8bit)

Spoko, bug dotyczy obsługi rozkazu COP #$00, kropnąłem się o jeden bajt stosu  :?  Ponieważ tego przerwania nic nie używa, więc to nie problem.

Serwis pak polega na poprawieniu bajtu pod adresem $CB0A (offset $0B0A od początku ROM-u) z wartości $0B na $0C, oraz sumy kontrolnej pod adresem $C000-1 z $9D03 na $9D04.

Po tym zabiegu handler powinien działać i można się bawić w pisanie tekstu po ekranie opisanym w specyfce sposobem. Ale nie radzę w ten sposób wywoływać DOS-u  8) Jeszcze nie w tej wersji ROM-u.

Oczywiście normalnym trybem (tj. bez użycia COP #$00, a przez tablicę skoków) wszystko powinno działać normalnie.

4,437

(190 odpowiedzi, napisanych Software, Gry - 8bit)

A nie masz jeszcze ROM Changera? Rewelacyjna sprawa, wrzucenie nowego romu trwa tyle, co wczytanie go z dyskietki + wpisanie 2 instrukcji poke spod dosu?

Mnie by się coś takiego bardzo przydało, ale zdaje się, że nie ma takiego odważnego, który zdecydowałby się tknąć tę plątaninę kabli, która pokrywa płytę w moim 65xe.

[ Dodano: 14.11.2004 11:42:41 ]

Wersja atarowskiego ROM-u dla komputerów z 65c816 jest dostępna pod tym adresem:

http://82.210.159.30/xlos.zip

To jest wersja alpha, czyli do przetestowania i zgłoszenia mi błędów.

Archiwum przepakowałem, wywaliłem starszą wersję, za to dodałem bojowe pliki tekstowe, tj. specs.txt, CHANGELOG oraz przede wszystkim known_bugs.txt, bo już takowe (a raczej takowy, liczba pojedyncza) zauważyłem.

Nowa wersja, 1.91, pewnie w przyszły weekend, o ile Simius będzie miał trochę czasu na programowanie EPROM-a  8)

4,438

(16 odpowiedzi, napisanych Emulacja - 8bit)

Nie, nie chciało mi się  :|

4,439

(16 odpowiedzi, napisanych Emulacja - 8bit)

Lizard: EmuXL nie emuluje 65c816, tylko 65c02.

4,440

(190 odpowiedzi, napisanych Software, Gry - 8bit)

A to akurat na pewno nie przejdzie  :D

Pin: na twoim miejscu zostawiłbym sobie gdzieś prztyczek pod którym miałbys oryginalny system. Ja tak mam: wywaliłem QMEG-a 3.2, a na to miejsce dałem mój ROM. Jak dotąd nie zauważyłem, żeby jakiś program nie działał, ale oczywiście trzeba przetestować np. gierki ...

4,441

(190 odpowiedzi, napisanych Software, Gry - 8bit)

Z kompatybilnością czego z czym?  8O

4,442

(190 odpowiedzi, napisanych Software, Gry - 8bit)

Nie znam  :(

4,443

(20 odpowiedzi, napisanych Kupię / Sprzedam / Zamienię Atari)

Obejrzyj "inny obrazek na który możemy popatrzeć", to zrozumiesz kompleks czułków :>

4,444

(20 odpowiedzi, napisanych Kupię / Sprzedam / Zamienię Atari)

Idąc dalej tym tropem można zauważyć, że Japonki z całą pewnością nie mają czułek na głowie; a Japończycy są z Marsa i lubią czułki 8O

4,445

(18 odpowiedzi, napisanych Sprzęt - 8bit)

w TOP DRIVE - czyli TOMS TURBO wszystkie rozkazy do stacji (jakies 2-3% danych) sa przesylane z predkoscia standardowa - jakos nikt nie przyznal sie jaki to ma wplyw na ogolna predkosc i podawana zawsze byla tylko predkosc przesylu danych.

O ile pamiętam, w Indusie jest jeszcze (trochę) gorzej. W Topie i TOMS-ie Multi rozkaz do stacji jest wysyłany na 19200, cała reszta natomiast, to jest potwierdzenie zwrotne, dane itd. idzie już w turbo. W Indusie natomiast nie dość, że rozkaz jest wysyłany na 19200, to potwierdzenie zwrotne przychodzi też w normalnej transmisji, i dopiero cała reszta idzie w turbo.

To jest główna przyczyna dla której stacje TOMS nie chcą chodzić w TOMS Turbo pod Spartą X. Nie zgadza się szybkość przesłania potwierdzenia rozkazu.

To natomiast, że nie chcą chodzić w Ultra, to już wina Sparty, która nie pyta stacji o częstotliwość pracy, tylko ustawia na pałę 52 kbd.

O ile pamiętam, cała korespondencja pomiędzy komputerem a stacją to 6 czy 7 bajtów na sektor. Przy podwójnej gęstości jest to w istocie nieco ponad 2% transmitowanych danych.

4,446

(43 odpowiedzi, napisanych Sprzęt - 8bit)

A ja napisałem w C rewolucyjny (Lizard wie o co chodzi, reszta nie musi :lol: ) program do liczenia sum kontrolnych ROM-u, i sprawdziłem, że plik jest OK.

Czyli, panie Pin, coś waścin emulator nie teges.

4,447

(2 odpowiedzi, napisanych Bałagan)

Oj, strasznie fałszują :( I to słychać mimo zastosowania się do meritum :(

4,448

(43 odpowiedzi, napisanych Sprzęt - 8bit)

Suma kontrolna pierwszego bloku jest pod adresem $C000 i wynosi $9D03. Suma kontrolna drugiego bloku jest pod adresem $FFDE i wynosi $647D.

ckrom1 ldx #$00
    stx cksum
    stx cksum+1
?loop jsr getcks
    cpx #$0c
    bne ?loop
    rts
;
ckrom2 ldx #$00
    stx cksum
    stx cksum+1
    ldx #$0c
    jsr getcks
    jmp getcks
;
getcks ldy #$00
?loop lda ckstab,x
    sta tmpreg,y
    inx
    iny
    cpy #$04
    bne ?loop
    ldy #$00
?n  clc
    lda (tmpreg),y
    adc cksum
    sta cksum
    bcc ?nxt1
    inc cksum+1
?nxt1 inc tmpreg
    bne ?nxt2
    inc tmpreg+1
?nxt2 lda tmpreg
    cmp tmpreg+2
    bne ?n
    lda tmpreg+1
    cmp tmpreg+3
    bne ?n
    rts
;
ckstab .wo buf+2, buf+$1000
    .wo buf+$1000,buf+$1800
    .wo buf+$1800,buf+$2000
    .wo buf+$2000,buf+$3fde
    .wo buf+$3fe0,buf+$4000

'buf' to jest adres, pod który jest wczytana zawartość pliku xlos2.bin. jsr ckrom1 wpisuje sumę kontrolą pierwszego bloku ROM pod adres 'cksum', jsr ckrom2 wpisuje sumę kontrolą drugiego bloku ROM pod adres tenże. cksum musi być zmienną dwubajtową, a tmpreg czterobajtową, obie na stronie zerowej.

[ Dodano: 13.11.2004 10:21:30 ]

3)  there's a test for extended linear memory, peek(591) should return a number of *additional* (i.e. beyond the first 64k) 64k memory segments;

Poprawka: peek(590), nie peek(591).

4,449

(43 odpowiedzi, napisanych Sprzęt - 8bit)

Ja tego nie mogę teraz zrobić. Plik kopiował mi kolega, przez kabel szeregowy. Fakt, kretyni jesteśmy, żeśmy tego przedtem nie skompresowali, od razu byłoby wiadomo, czy przekopiowało się dobrze.

W każdym razie, u mnie plik wypalony w EPROM-ie działa. Jeśli to, co zapodałem pod wyżej wymienionym adresem nie działa, to znaczy, że transmisja się spieprzyła :(

4,450

(190 odpowiedzi, napisanych Software, Gry - 8bit)

Wersja atarowskiego ROM-u dla komputerów z 65c816 jest dostępna pod tym adresem:

http://82.210.159.30/xlos.zip

To jest wersja alpha, czyli do przetestowania i zgłoszenia mi błędów. Release notes są dostępne gdzieś tu:

http://atariarea.histeria.pl/forum/viewtopic.php?t=2368

Wspomnę tylko, że archiwum zawiera dwa pliki. Oba nadają się do zaprogramowania EPROM-u i użycia zamiast oryginalnego systemu, ale xlos2.bin nadaje się bardziej (jest nowszy).