101

Odp: SpartaDOS+hdd i pisanie programow

To na pewno od tego słońca na plaży i smoczka w ustach. ;)

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

102

Odp: SpartaDOS+hdd i pisanie programow

to gwizdek, gwizdek. :)

--
= krap.pl =

103

Odp: SpartaDOS+hdd i pisanie programow

Po co ci gwizdek na plaży :?: Ze smoczkiem zawsze do twarzy.

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

104

Odp: SpartaDOS+hdd i pisanie programow

Tak, possaj sobie lepiej jakąś jaszczurkę...

105

Odp: SpartaDOS+hdd i pisanie programow

Jak już jest 16 MB przestrzeni adresowej, to może by tak, wzorem Motoroli 68k, przeznaczyć jakiś kawałek pod koniec na nowe urządzenia I/O? Np. ostatnie 64k (albo ostatnie 2 MB).

Proponuje tak jak wymyslil Mario Trams w HyperSpeed:
- $000000-$feffff - RAM (z wydzielonym obszarem dla FastRAM),
- $ff0000-$f7ffff - max. 512k dla ROMu (oczywiscie z mozliwoscia przeadresowania kawalka w $00c000-$00ffff),
- $ff0000-... - rejestry IO

106

Odp: SpartaDOS+hdd i pisanie programow

rejestry w ROM'ie (od $FF0000)  :?: 8O

chyba od $FF8000 do $FFFFFF do nie :?:  :rolleyes:

a komp sie bootuje, to wektory RESET i przerwań dalej pozostaje pod $00FFxx czy też są przeniesione pod $FF7xxx (na koniec nowego ROM'u :?:  :?:  :?:

512kB na ROM  :lol:  :lol:  :lol: Krótko mówiąc - obsługa wszystkich istniejących przyspieszeń dla stacji dysków wszelkich zegarków (RTC) i innych wynalazków od razu w ROMie normalnie czad.

A może 65c816 ma jakich zewnętrzny coprocessor ??? tak jak np. 386 ma 387, a 680x0 ma 6881/6882 he ?!? dopiero można by demka robić, ajk z 1,7MHz tyle wyciskają. 

:idea: możnaby też zmodyfikować kontroler IDE KMK tak, aby rejestry DATA_LO i DATA_HI były ułożone obok siebie w odpiwiedni sposób, aby procek '816 mógł jednym rozkazem LDA/STA odczytywać/zapisywać od razu 16-bitową daną, a gdyby rejestry też byłyby taktowane jak FastRAM (np. 7MHz), to pewnie odczyt i zapis na dysku wzrósłby co najmniej kilkakrotnie  :D  :D  :D -  :?: mam rację? Hmmm... O ile '816 ma takie rozkazy, bo rejestry podobno ma 16-bitowe  :?

FAQ: Cegła waży kilogram i pół cegły. Ile ważą dwie cegły ? :D

JIL 4EVER!

107

Odp: SpartaDOS+hdd i pisanie programow

Myślę, że 1 MB na ROM + rejestry (pół na pół) "ought to be enough for everyone"  8)  Czyli:

$000000-$EFFFFF - RAM
$F00000-$F7FFFF - ROM
$F80000-$FFFFFF - rejestry I/O

Oczywiście część tego ROM-u musi być przemapowana na $00D800-$00FFFF, bo kompatybilność, wektory przerwań itd. Ale na $00C000-$00CFFF może być RAM, nie?

65c816 jak dotąd nie ma koprocesora. Ale chyba MC 68882 by się nadał od biedy ... gdyby ktoś go umiał podpiąć.

65c816 oczywiście ma szesnastobitowe LDA/LDX/LDY/STA/STX/STY/INC/DEC itd.

KMK
? HEX$(6670358)

108

Odp: SpartaDOS+hdd i pisanie programow

sory, blad

RAM - $000000-$efffff
ROM - $f00000-$f7ffff
dalej rejestry....

Po resecie w c000-ffff jest przeniesiony obszar z f0c000-f0ffff ktory mozna wylaczyc poprzez rejestr umieszczony w MMU.

O ile sie nie myle, to nie powstal dedykowany koprocesor dla 816. Procek ma zo to przerwanie ABORT, ktore mozna wykorzystac do zrobienia np. pamieci wirtualnej czy MPU.

Polecam lekture do Hyperspeeda, bo wiekszosc pomyslow tam zawartych jest naprawde genialna.

109

Odp: SpartaDOS+hdd i pisanie programow

drac030 napisał/a:

65c816 oczywiście ma szesnastobitowe LDA/LDX/LDY/STA/STX/STY/INC/DEC itd

Pasiu napisał/a:

O ile sie nie myle, to nie powstal dedykowany koprocesor dla 816. Procek ma zo to przerwanie ABORT, ktore mozna wykorzystac do zrobienia np. pamieci wirtualnej czy MPU

:idea: panowie a może połączywszy to wszystko zrobić tryb (Ultra)DMA dla dysków IDE  :?:  :idea:  :?:

To chyba aż się prosi, aby zmodyfikować kontroler, aby módz wykożystać 16-bitówą potęge '816 dla przyspieszenia transmisji Atari<>dysk IDE ??? Pod adresami $d1xx możnaby zostawić rejestry dla kompatybilności, a w obszarze nowych rejestrów ustawić odpowiednio dla trybu 16-bitowego '816.  :lol:  :lol:  :lol:

FAQ: Cegła waży kilogram i pół cegły. Ile ważą dwie cegły ? :D

JIL 4EVER!

110

Odp: SpartaDOS+hdd i pisanie programow

ups.... :oops: 

no proszę ... próbowałem poprawić Pasia, a sam strzeliłem gafe - złe policzyłem adresy - draco i pózniej Pasiu napisali prawidłowo.

RAM od $C000 do $CFFF - nawet nawet, tyle że żdążyłem zauwarzyć, że full softu rozpoznaje OS'a po bajtach zaczynających się od $C000 lub kilka/kilkanaścia bajtów dalej... więc co z tym?

FAQ: Cegła waży kilogram i pół cegły. Ile ważą dwie cegły ? :D

JIL 4EVER!

111

Odp: SpartaDOS+hdd i pisanie programow

:idea: panowie a może połączywszy to wszystko zrobić tryb (Ultra)DMA dla dysków IDE  :?:  :idea:  :?:

To chyba aż się prosi, aby zmodyfikować kontroler, aby módz wykożystać 16-bitówą potęge '816 dla przyspieszenia transmisji Atari<>dysk IDE ??? Pod adresami $d1xx możnaby zostawić rejestry dla kompatybilności, a w obszarze nowych rejestrów ustawić odpowiednio dla trybu 16-bitowego '816.  :lol:  :lol:  :lol:

Tryb DMA twardziela dla Atari jest raczej nieosiagalny. Nie wiem czy bylby sens nawet jego stosowania - w trybie PIO twarde dyski moga wyciagnac nawet 7MB/s (tyle wyciagaja dyski w Amigach z interfejsem FastATA). Jesli chodzi o te 16 bitow 65c816 to nalezy pamietac, ze na zewnatrz procek ma tak jak 6502 magistralne danych 8-mio bitowa...

112

Odp: SpartaDOS+hdd i pisanie programow

Magistralę ma ośmiobitową, toteż odczyt szesnastobitowy trwa dokładnie dwa razy tyle, co ośmiu bitów. Ale liczy się też zassanie rozkazu i adresu.

Ergo, jedno LDA szesnastobitowe (i z szesnastobitowym adresem) będzie trwało tylko o jeden cykl dłużej niż odpowiednie ośmiobitowe, czyli 5 cykli, w porównaniu do ośmiu, które zjada wciągnięcie analogicznej ilości danych rozkazami ośmiobitowymi.

Wynika z tego, że przesłanie danej z rejestru IDE do pamięci - odczyt w trybie absolutnym, zapis w pośrednim indeksowanym - trwa na 6502 aż 24 cykle:

lda ide_data
sta (bufp),y
iny
lda ide_data+1
sta (bufp),y
iny

natomiast na 65c816 to samo powinno zająć tylko 16:

lda ide_data
sta (bufp),y
iny
iny

no ewentualnie do 18 przy zastosowaniu 24-bitowego adresowania. Czysty zysk.

KMK
? HEX$(6670358)

113

Odp: SpartaDOS+hdd i pisanie programow

Pod adresami $d1xx możnaby zostawić rejestry dla kompatybilności, a w obszarze nowych rejestrów ustawić odpowiednio dla trybu 16-bitowego '816.  :lol:  :lol:  :lol:

Rejestrów pod $d1xx nie trzeba chyba koniecznie zachowywać, w końcu cały prawie soft, który z nich korzysta, można łatwo uaktualnić, a tak na codzień potrzebne są tylko sterownikowi w ROM-ie.

KMK
? HEX$(6670358)

114

Odp: SpartaDOS+hdd i pisanie programow

RAM od $C000 do $CFFF - nawet nawet, tyle że żdążyłem zauwarzyć, że full softu rozpoznaje OS'a po bajtach zaczynających się od $C000 lub kilka/kilkanaścia bajtów dalej... więc co z tym?

Masz niestety rację. No ale może zyski będą większe niż straty ... ?

KMK
? HEX$(6670358)

115

Odp: SpartaDOS+hdd i pisanie programow

Magistralę ma ośmiobitową, toteż odczyt szesnastobitowy trwa dokładnie dwa razy tyle, co ośmiu bitów. Ale liczy się też zassanie rozkazu i adresu.

Zgadza sie, ale nadal nie uniknie sie stosowania w interfejsie buforu na czesc D8-D15. A wlasnie: LDA 16-bitowy najpierw odczytuje mladsza czy starsza polowke?

116

Odp: SpartaDOS+hdd i pisanie programow

Myślę, że młodszą najpierw.

KMK
? HEX$(6670358)

117

Odp: SpartaDOS+hdd i pisanie programow

Jezeli najpierw mlodsza, to nalezaloby zminic (lub umiescic dodatkowo w innym miejscu) polozenie rejestru danych twardziela i bufora w interfejsie. Powiedzmy w $d140 to D0-D7 bezposrednio z HDD a $d141 to bufor D8-D15. Klopotem moze byc za to zapis, bo nastepuje w druga strone: najpierw zapis D8-D15 do bufora a pozniej D0-D7 do HDD... Trzeba by to przemyslec.

118

Odp: SpartaDOS+hdd i pisanie programow

ja tam elektronikiem nie jestem, ale przychodzi mi do głowy coś takiego: jakby dodatkowo sprawdzać czy dana jest zapisywana, czy odczytywana (chyba są jakieś sygnały, które o tym informują ?!?) z komórek i wtedy zamieniać je odpowiednio miejscami ???

Ponadto, jeśli 65c816 byłby taktowany wyżej niż 1.7MHz (np. 5,6,7MHZ) i rejestry umieszczone byłyby w obszarze pamięci FastRAM (Taktowanej tak jak procek (lub szybciej), a pasiu w innym temacie na forum AAnapisał:

Moje 3 grosze odnosnie konstrukcji KMK/JZ Interface: po pierwsze chce nadmienic, ze interfejs byl przelomem, dzieki ktoremu ATARI+HDD nie byl juz tylko nieosiagalnym polaczeniem. Jak na date powstania oraz dostepnosc literatury m.in. dzialania twardzielow byl rozwiazaniem dobrym (pod wzgledem konstrukcji) i bardzo dobrym (pod wzgledem oprogramowania, czyt. biosu). Dlaczego tylko dobrym konstrukcyjnie? Odpowiedzi juz udzielili Casper i Pinek. Interfejs wymagal szybkich ukladow (serii ALS - pracujacej przy nawet kilkudziesiaciu MHz) oraz niekiedy 'dostrojenia' dla konkretnego kompa. Troche to dziwne, bo przeciez Atari pracuje tylko na niecalych 2MHz, a ten sam interfejs powinien pracowac z kazdym kompem (przeciez producenci procka 6502 trzymali sie pewnych wytycznych, ktorych interfejs powinien uwzgledniac). Najbardziej mnie jednak dziwi fakt zastosowania ukladow '574 jako bufor adresu oraz bufor czesci starszej magistrali danych. W pierwszym przypadku wystarczylby przeciez '245 czy '541 a w drugim '573. ...seria HCT bylaby wystarczajaca...

A wlasnie, mialby ktos uklady 74ALS574 , bo potrzebuje 4 sztuki, a we Wrocku sa tylko SMD...

to czy zysk niebyłby jeszcze większy - jak widać układy kontrolera są taktowane jeszcze szybciej niż 6502, 65c816, czy FastRAM. Bo wnioskuję, że te 16 cykli ('816) i 24 cykle 6502 podane są dla 1,7MHz. Czyż nie?

Link do tego tematu: http://atariarea.histeria.pl/forum/view … 8055#28055

Hmmm...???

FAQ: Cegła waży kilogram i pół cegły. Ile ważą dwie cegły ? :D

JIL 4EVER!

119

Odp: SpartaDOS+hdd i pisanie programow

Jeszcze jedno mi się nasunęłó:

ewentualny nowy ROM ($F00000-$F7FFFF) - mógłby być na jakiejś pamięci Flash (lub podobnej), którą zwykły szary użyszkodnik mógłby sobie sam zaktualizować wersję systemu - a nie prosić się kogoś posiadającego programator danej pamięci. Po uruchomieniu kompa mógłby się załączać jakiś eprom z czymś w postaci BIOS'u, który sprawdziłby procka, ExtRAm, FastRAM i czy w obszarze $F00000-$F7FFFF jest nowy ROM, skoczył tam i odłączył eproma włączając w ten obszar przeadresowany blok $F0C000-$F0FFFF. dopiero inicjalizacja wszystkich urządzeń, itd. Jeśli by ROM'u w tym obszarze nie było, a stwierdzonoby obecność pamięci Flash, to mógłby się uruchomić start awaryjny - np. ponowne zaprogramowanie pamięci Flash lub start systemu z dyskietki w trybie 6502 lub coś w tym stylu.

Mam też pytanie:

mam kawałek swojego programu umieszczonego w obszarze np. od $123456 - czyli w pamięci FAST:

czy jeśli wykonam LDA $123456 a LDA $3456, to czy ten drugi odwoła się fizycznie do $003456, czy do $123456 ? Analogicznie z rozkazem JMP - skacze sobie JMP $123456, a JMP $3456 - mówiąc krótko jeśli w nowym biosie jest $F0C000 - $F0FFFF, to jeśli tam będa JMP/LDA/STA, etc. odwołujące się w trybie 6502 (2 bajty adresu), to czy 65c816 będzie wszystko wykonywał na adresach $00c000 - $00ffff, czy $F0C000 - $F0FFFF. Bo z tego co wiem, to 65c816 ma jakieś ograniczenia, że niemoże normalnie przekraczać bloku 64kB.

draco030 napisał/a:

Rejestrów pod $d1xx nie trzeba chyba koniecznie zachowywać, w końcu cały prawie soft, który z nich korzysta, można łatwo uaktualnić, a tak na codzień potrzebne są tylko sterownikowi w ROM-ie.

hmm... niby fakt, tyle że mój system HiDOS przy obsłudze IDE KMK używa własnego sterownika, który wspiera także użądzenia ATAPI oraz obie tabele partycji (starą (FDISK) i nową (PartitionWizard). No i sam PartitionWiazard teżby trzeba przerobić, a jeszcze go nawet nieskończyłem, chyba że podzieli los filesystemu HiDOS v1.1 - po sugestiach i krytyce Liazrda powstał v1.3 - który teraz koduję praktycznie od nowa, bo przerobić v1.1 było trudno, ale taksobie myślę, że w systemie potrzebne byłby dwie wersje - dla 6502 (np. obecna - po to potrzebne byłaby zachowanie zgodności rejestrów na stronie $D1) i dla (65c816 - uwzględniająca poprawkę kontrolera).

FAQ: Cegła waży kilogram i pół cegły. Ile ważą dwie cegły ? :D

JIL 4EVER!

120

Odp: SpartaDOS+hdd i pisanie programow

LDA $123456 odwoła się do komórki o podanym adresie. LDA $3456 odwoła się do komórki DD3456. DD to wartość rejestru D, określającego segment danych, do którego idą odwołania 16-bitowych adresów.

Analogicznie:
JSR/JMP $123456 skoczy pod podane adresy, a JSR/JMP $3456 do KK3456, gdzie KK to rejestr kodu, określający segment, w którym wykonywany jest aktualny kod. Skoki długie modyfikują ten rejestr.

Pisałem z głowy, więc jesli pamięć mnie zawodzi, to proszę o poprawkę.

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

121

Odp: SpartaDOS+hdd i pisanie programow

Interfejs wymagal szybkich ukladow (serii ALS - pracujacej przy nawet kilkudziesiaciu MHz)

to czy zysk niebyłby jeszcze większy - jak widać układy kontrolera są taktowane jeszcze szybciej niż 6502, 65c816, czy FastRAM.

Ja tam elektronikiem nie jestem, ale wydaje mi się, że sformułowanie "szybkie układy" dotyczy w tym miejscu nie częstotliwości, z jaką są taktowane, ale szybkości, z jaką reagują na bodźce zewnętrzne. Różnice pomiędzy układem szybkim a wolnym - przy tej samej częstotliwości pracy - są rzędu nanosekund, ale pamiętam, że grało to jakąś rolę ...

[ Dodano: Sob Paź 30, 2004 15:15 ]

mam kawałek swojego programu umieszczonego w obszarze np. od $123456 - czyli w pamięci FAST:

czy jeśli wykonam LDA $123456 a LDA $3456, to czy ten drugi odwoła się fizycznie do $003456, czy do $123456 ?

Do $123456.

hmm... niby fakt, tyle że mój system HiDOS przy obsłudze IDE KMK używa własnego sterownika, który wspiera także użądzenia ATAPI oraz obie tabele partycji (starą (FDISK) i nową (PartitionWizard).

No ale jak będzie 512k ROM-u, to nie będzie potrzeby używania sterowników zewnętrznych, bo sterownik systemowy obsłuży wszystkie bajery. Co wskazuje, że w twoim DOS-ie uzyteczne byłoby, gdyby sterownik IDE występował w postaci ładowalnego modułu :)

[ Dodano: Sob Paź 30, 2004 15:15 ]
Kurczę, nie powiem, żeby mi się nowa konfiguracja Forum podobała. Po pierwsze primo, odpowiedź trzeba pisać dwa razy:

1) klikamy "Cytuj"
2) każe się logować
3) logujemy się
4) otwiera się okienko na odpowiedź
5) piszemy ją
6) wciskamy wyślij
7) pojawia się "Logowanie"
8) logujemy się
9) pojawia się ponownie okienko na odpowiedź - tym razem PUSTE
10) odpowiedź poprzednią trzeba wklepać jeszcze raz (albo wkleić z clipboardu)
11) i dopiero teraz "wyślij" działa

Co jest grane?

MM: Odpowiedzi przeniesiono do nowego topiku we WŁAŚCIWYM miejscu.

KMK
? HEX$(6670358)

122

Odp: SpartaDOS+hdd i pisanie programow

drac030 napisał/a:

No ale jak będzie 512k ROM-u, to nie będzie potrzeby używania sterowników zewnętrznych, bo sterownik systemowy obsłuży wszystkie bajery. Co wskazuje, że w twoim DOS-ie uzyteczne byłoby, gdyby sterownik IDE występował w postaci ładowalnego modułu

fakt. ładowalny sterownik, jeśli niema 65c816 i/lub nowego ROM'u. 512kB uuuuu. dużo i chyba by stykło na wszystko z zapasem  :D

FAQ: Cegła waży kilogram i pół cegły. Ile ważą dwie cegły ? :D

JIL 4EVER!

123

Odp: SpartaDOS+hdd i pisanie programow

512kB uuuuu. dużo i chyba by stykło na wszystko z zapasem

Co, ty, mówiłeś mi (w 1998 co prawda) że na swojego Noname Commandera to 1 mega romu zamierzasz przeznaczyć?

124

Odp: SpartaDOS+hdd i pisanie programow

tak miało być, a autorami hadrware'u mieli być Gumi (coś ostatnio ślad po nim zaginął) i Waldi (bez komentarza...) Więc upadło, niepozostało mi nic innego, tylko przerobić, to co miało być w ROM'ie, na postać przystosowaną do jakiegoś systemu operacyjnego... a że niedaleko pada jabłko od jabłoni, więc padło na HiDOS. Tak se myśli, że znacznie zubożona wersja będzie pod MyDOS'a, ale chwilowo jestem bez sprzętu -ram się naprawia  :lol:  :lol:  :lol:

[ Dodano: Wto Lis 02, 2004 21:21 ]
Ps. Jurgi: My tu mówimy o nowym OD-ROM'ie dla 65c816, a nie o Nc, który miałbyć w pamięci ROM 1MB - tak mi sie teraz przypomniało...   :oops:

FAQ: Cegła waży kilogram i pół cegły. Ile ważą dwie cegły ? :D

JIL 4EVER!