426

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

Ja kiedyś zrobiłem - w celach badawczych - źródłową wersję command.com

Jakbyś miał źródełka Command.coma to byłoby grejt. Możnaby dorobić polecenie RUN oraz np. możliwość odpalania baczówek bez "-". Oraz zrobić juniksa na JIL: ls, rm, pwd :D

Zawsze zastanawiałem się, czy urządzenie CAR: ma file system identyczny z tym z dysków.

Chyba dość podobny. W każdym razie da się zrobić stosowny util do robienia obrazów.

ak już z Draco ustaliłem za format daty odpowiedzialne są procedury FDOPEN i FDGETC.

Coś mi się zdaje, że one tylko wywołują procedurki ze sparta.sys do sformatowania katalogu. Bo np. ATARIDOS.SYS formatuje inaczej.

To może zaczniemy od zdekompilowania SPARTA.SYS

Jak tylko po to, by zmienić format daty to nie wiem czy jest sens. Bardziej byłbym za command.com. I CAR.COM żeby mi przy 1MB RAMu zechciał łaskawie włączyć basica, bo twierdzi że "Not present" :(.

427

(21 odpowiedzi, napisanych Sprawy atari.area)

Mikey, proponuję lekko zmodyfikować logo i napisać hasełko w cudzysłowie.
Mniej osób będzie się wtedy Ciebie czepiać, bo to cytat :D

428

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

Ale data jest chyba w formacie hamerykańskim, więc 01-14-05.

Można łatwo zmienić na bardziej cywilizowany format :D

Myślę, że przerobienie dir nie byłoby takie trudne.

To chyba trzeba byłoby zamienić miesiąc i dzień w SPARTA.SYS, bo to on zdaje się przygotowuje format katalogu? Wersję rozbudowaną z obsługą zmiennej środowiskowej SET COUNTRY = PL ;), raczej z braku miejsca trzeba by ładować w konfigu.

Tak ogólnie, to ma ktoś sposób na w miare proste wypalenie nowej Sparty w epromie? Bo pamiętam, że Geisler mówił, że to jest jakoś pokiełbaszone tam.

U mnie na Pasiowej intSDX bez problemu - wystarczy plik rom wypalić na 27c512. Na kartridżu podrobionym przez AtaraX też jest taki eprom, więc chyba jest tak samo.

Usuwanie bugów z dodatkowych programów proponuje zostawić jak już kernel będzie gotowy.

Ja już z tym walczyłem. Zobacz se TDPL 2.0 ;). Problem tylko jak to umieścić w romie zamiast TD.COM.  W ogóle przydałby się jakiś programik, który robi z podanych plików obraz dla karta. Wtedy moglibyśmy wsadzić do niego cokolwiek np. QuickEda :D

429

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

Faktycznie, teraz to zauważyłem, że winietka jest ohydnie rozmieszczona. Ja miałem wpierw 4.22, więc myślałem, że tak ma być ;)
A napis proponuję w takiej formie:

     SpartaDOS X 4.30 14-01-05 
  Copyright (C) 2005 by FTe & DLT

Na DLT Sp.z o.o. niestety nie ma miejsca, muszą pozostać same inicjały głównych pomysłodawców :D:D

Skoro mowa o rzeczach, które denerwują, to proponuję:
1. Usunięcie Y2K buga z TD.COM
2. Wywalenie napisu oznajmiającego brak słodkiej szesnastolatki ;). Można ew. wyświetlać "16-bit CPU present", co i tak nic nie zmieni.

430

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

Przecież zaraz się znajdzie 20 kartridźy, które przestaną na to działać.

Nowoczesność wymaga wyrzeczeń, w cholerę z nimi ! ;)
Ale skoro nie chcesz wyświetlać meniu, to może sprawdzać klawisze 1-8 i startować z naciśniętego dysku? Tylko nie opowiadaj mi tu o żadnej klawiaturze na PBI :twisted:

431

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

Menu w E: ? Fe, a ja myślałem, że będzie wyskakiwało animowane logo "DracOS" :D

Może by tak połączyć OSa i IDE, tzn. przy butowaniu:
1. OS ustala DUNIT na 1
2. IDE ustala DUNIT na podstawie jakiegoś zapisanego bajtu (np. w 1-szym sektorze).
3. Czy naciśnięto START? Jak nie to do 5.
4. MENU z wyborem DUNITa (można zapisywać do sektora startowego)
5. Dalszy start (init karta, boot z dysku itd.)
W ten sposób jak nie mamy IDE, to domyślnie start z D1:, albo wybór z menu, a jak mamy IDE to start z zapisanego domyślnego dysku, albo wybór z menu ?

432

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

No i jest inicjowany przed otwarciem edytora, przez co wyświetlenie żadnego menu nie wchodzi w rachubę. Czyli nawet posiadanie ROM-u z moim selektorem dysków nie pomoże

Dlaczego? Gdybyś sprawdzał jakiś klawisz przy starcie (np. help ;)) i gdy naciśnięty, przed inicjowaniem karta wyświetlał menu (można je umieścić w SELFTTEST ROM-ie), a po wyjściu z menu byłaby dalsza część procedury Reset z ustawionym DUNIT?

433

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

W takim razie wychodzi na to, że będzie wersja 4.30 :D:D

Czy $0702 jest aby na pewno przeznaczone na dalszy ciąg numeru wersji?

Nie jestem pewny, ale chyba nic nie korzysta z $702. Można więc by do tego użyć i potem w programach sprawdzać. W ogóle w Sparcie numeracja wersji jest skopana.

434

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

Ja z lenistwa robię tak:
1. Odpalam emulator Atari800Win ze spaczowaną Spartą
2. Trafiam w moment (hehe), gdy jeszcze jest start OSu, ale nie Sparty i naciskam F8.
3. Piszę c 301 3 (2,5,... łotewa)
4. Piszę CONT
5. Sparta się ładuje z C:

Zmieniłeś może numer wersji? Przydałoby się, dla odróżnienia, np. 4.23.

Zapomniałem...
Ale pytanie - w Sparcie 4.22 jest  $42 pod $701 i $00 pod $702. A u nas jak to wypełnić ?

[ Dodano: 2005-01-03 18:42:09 ]

No z przerobieniem jest tylko taka trudność, że DUNIT=1 ustawia się w dwóch miejscach

Chyba inna: OS nic nie zdąży wpisać do DUNITa przy starcie, bo najpierw jest inicjowany kart Sparty.

435

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

Jak to "zamiast"?

Spokojnie, nic nie wywaliłem ;) Zamiast pierwszego skoku pod adres $730E (czyli do procedurki, którą wypisałeś w 1-szym poście), w którym testowana jest obecność dysku startowego, wykonywany jest skok do procedury sav_unit, a dopiero w niej tamten skok.

436

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

Twoje życzenie jest dla mnie rozkazem ;)
Testujcie tę wersję (spaczowana SDX 4.22).

[ Dodano: 2005-01-02 20:16:04 ]

Widać coś tam się zmieniło, bo niektóre procedury są przesunięte o więcej niż 2 bajty.

Np. do ramdisk.sys doszło durne wyświetlanie komunikatu o braku 816 ;)

437

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

A to dlatego, żeby nie mieszać, bo np. adres CURDEVa jest inny w 4.22 ($C5F). A Ty i Draco macie 4.20 :D.
Zgadzam się, że poprawka powinna być dla 4.22. (np. 4.23 ;)) Ale póki co  oprócz innych adresów reszta jest taka sama. Jak wszystko będzie już ustalone, to spaczuję 4.22.

438

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

Wydaje mi się że jest tak: CURDEV jest używane przez COMMAND.COM jako bieżące urządzenie przy starcie.
Dlatego na początku (przed odczytem CONFIGa) wstawiamy do CURDEVa zawartość DUNITa (np. 03, a było w nim $21) i ta wartość jest za każdym razem używana do odczytu CONFIGa. W DUNIT mamy mieć $03 więc wystarczy przekopiować z CURDEVa. Przy starcie COMMAND.COM też używa tego rejestru, więc lądujemy w C:>.

Powinno więc być wszystko ok o ile w międzyczasie (tj. przy odczycie CONFIGa) zawartość CURDEV się nie zmieni. U mnie jest ok. Można ew. użyć innego rejestru, ale i tak pozostaje problem odpowiedniego ustawienia CURDEVa.
Podsyłam romik do potestowania.

[ Dodano: 2005-01-02 17:30:42 ]
Jak testować?
Trzeba mieć najnowszego DracOSa z wybieranym dyskiem startowym ;)
Ale lepiej pod emulcem - ustawić DUNIT samemu w monitorze (przed startem SDX).

439

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

Okazuje się, że:
1. Trzeba zapamiętać DUNIT na początku, bo może zostać zmieniony przy ładowaniu sterowników z innego dysku niż startowy.
2. Pod adresem $C5D jest bieżące urządzenie SDX ustawiane na początku na $21 (CAR: nr 1), a potem starsza połówka jest zerowana ($01). Dlatego COMMAND.COM pokazuje zawsze A:

Proponuję dwie procedury:

set_dunit ldy $C5D
          sty DUNIT
          rts

sav_dunit ldy DUNIT   *Ustawiany przez OS
          bne save
          iny
save      sty $C5D
          jmp $730E

sav_dunit jest odpalana zamiast pierwszego odczytu sektora. Nie wiem, jaki wpływ będzie miało nadpisanie $21 (zdaje się że czasami Sparta startuje z kartem jako D1:)
Z pierwszych testów wynika jednak, że jest ok. Atarka jak grzyb pokazuje C:> :D

440

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

Trub mowil mi kiedys, ze ma to zrobic.

Na razie się wstrzymałem, w oczekiwaniu na sterownik do FATa. Już podesłałem epiemu procedurki dla SIO2IDE :D. Mogą też pomóc bezpośrednie komendy SIO do obsługi plików FATowych, o których pisał w którymś wątku Marek.

Piguła: mi 2 karty CF z cyfrówki nie chciały działać pod SIO2IDE (ale działają pod KMK/JŻ IDE :twisted:). Dlatego najpierw przetestuj zanim kupisz !!!

441

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

COMMAND.COM pokazuje A: :(
W banku 0 set_dunit raczej być nie może, bo gdy jest wykonywany skok JSR set_dunit, to jest włączony bank1.

442

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

Masz rację, wystarczy umieścić scieżkę do autoexec w PATH i się odczyta bez ustawiania :D
Czyli nie trzeba robić ostatniego punktu (drugiego p.2 ;)) z wcześniejszego posta.
Warunkiem jest wpisanie do PATH katalogu głównego napędu startowego (C:).

443

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

Aaautoexec chce się normalnie czytać z D1:
Z moich prób wynika, że dla butowania np. z D3: (C:) trzeba ustawić:
1. SET PATH=...C:;...
2. DEVICE=... (sterowniki ładowane z dysku, bez ścieżki jeśli w PATH)
2. SET BATCH=C:AUTOEXEC.BAT (opcjonalnie bez tego też zadziała)
Resztę prób zrobię już w Nowym Roku :D:D

444

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

Uff, udało mi się odpalić konfigi Sparty z D3 :D
Procedurkę set_dunit trzeba było dać do banku 1 carta, bo w czasie gdy pierwsza część kodu działa, aktywny jest ten bank (kod czytający konfig jest przeniesiony z banku 0 do RAMu). Mam nadzieję, że umieściłem ją w wolnym miejscu (od $BFC7).

Co do autoexec.bat i reszty: jak to jest możliwe, żeby DOS wczytywał to z D1: bez ustawienia DUNIT na 1?

Inna procedura wczytuje autoexeca. Konieczne jest SET BATCH = C:AUTOEXEC.BAT, żeby go odpalić oraz ew. zamiana odwołań do A: na C: przy ładowaniu sterowników.

Ze zmianą D1 na cokolwiek innego to i bez QMEG-a jest możliwe, bylebyś miał KMK/JŻ IDE

Tylko partycje - a nie da się zbutować gry ze stacji innej niż 1. Przynajmniej ja nie wiem jak :(

445

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

W 4.22 adres jest $B981 (procedura jest kopiowana do RAMu pod inny adres).

Testowałem poprawioną Spartę pod emulcem i wydaje się że:
1. Nie będzie w ogóle czytać CONFIG.SYS pod Atari OSem, bo ten zostawia początkowo DUNIT=0 :(. Zamiast NOPów trzeba byłoby dopisać kawałek kodu, który sprawdzałby, czy DUNIT=0 i wtedy ustawiałby 1, co będzie trudne bez źródeł (chyba że ma działać tylko pod DracOSem ;)).
2. AUTOEXEC.BAT dalej będzie odczytywany z D1, chyba że ustawimy inny SET BATCHem. Dotyczy to także ładowanych sterowników itp. Oznacza to, że pliki konfiguracyjne są jakby na stałe przypisane do konkretnych napędów. Nie za bardzo mi to pasuje, bo często zmieniam przypisanie dysków (w S2I).

Pod QMEgiem 4 udało mi się natomiast odpalić oryginalną Spartę 4.22 z innego dysku niż D1 dlatego, że zawsze podmieniany jest DUNIT przy wywołaniach OS SIO. Trzeba załadować DEVICE SIO2 (zachowujemy systemowe procedury SIO), wtedy CONFIG i AUTOEXEC się ładują np. z napędu 3 (Sparta widzi go jako D1: więc nic nie trzeba poprawiać). W QMEGu można zbutować z dowolnej stacji inne programy, np. gierki na dyskietkach ze stacji LDW nr 3, bez wyłączania D1 na HDD :D.

446

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

Ta procedura jest używana tylko do odczytu CONFIG.SYS. Można potestować pod emu, ale chyba nie będzie problemów.
Pod 4.22 adresy są inne, sprawdzę i napiszę i też będzie można spaczować ;)

Ale nie lepiej zrobić przekierowanie na stałe stacji w SIO? Tzn. wybierasz numerek a OS zawsze podmienia 1 na wybrany? Coś jak SWAP w SDX.

447

(24 odpowiedzi, napisanych Scena - 8bit)

To było w Bajtku. Zdaje się w 12/1987

Konkretnie numer 11/1987 :D
Ale do ludzi moglo dochodzic w styczniu... cenzura itp.

448

(24 odpowiedzi, napisanych Scena - 8bit)

A ja dołączam stosowną kartkę świąteczną :D

449

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

zostaje tylko akumulator ...

Masz A+B, czyli przynajmniej zaadresujesz pierwsze 64kB. Ale faktycznie resztę bajerów może lepiej dać do nowego CIO.

450

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

Waham się pomiędzy kilkoma koncepcjami i nie wiem, co wybrać

Ja proponuję na razie opcję 1 (kanały do 10). Tym bardziej, że już bufor drukarki i tak przeniosłeś ;) Można by ew. rozbudować funkcję zwracającą pierwszy wolny, żeby zwracała też jego adres bazowy. Później można by zrobić całkiem nowe CIO już bez ograniczeń ale inaczej wywoływane.

A w logu widziałem, że małpa róló :D