[#1] Kickstart - wersje i struktura
Znalazłem i uruchomiłem pod WinUAE następujące wersje Kickstartu:
Kickstart 0.7 beta A1000 NTSC [1985, 256]
Kickstart 1.0 A1000 NTSC [1985, 256]
Kickstart 1.1 (31.34) A1000 NTSC [1985, 256]
Kickstart 1.1 (31.34) A1000 PAL [1985, 256]
Kickstart 1.2 (33.166) A1000 [1986, 256]
Kickstart 1.2 (33.180) A500/A1000/A2000 [1986, 256]
Kickstart 1.3 (34.5) A500/A1000/A2000/CDTV [1987, 256]
Kickstart 1.4 alpha 15 (36.15) A3000 [1989, 256]
Kickstart 1.4 beta (36.16) A3000/A3000T [1990, 512] ### Experimental Boot-ROM ###
Kickstart 1.4 alpha 18 (36.20) A3000 [1989, 512]
Kickstart 2.0 beta (36.28) A3000/A3000T [1990, 512]
Kickstart 2.0 beta (36.67) A3000/A3000T [1990, 512]
Kickstart 2.0 (36.141) A3000/A3000T [1990, 512] ### Zła suma kontrolna, ale działa ###
Kickstart 2.01 (36.143) A3000/A3000T [1990, 512]
Kickstart 2.02 (36.207) A3000/A3000T [1990, 512]
Kickstart 2.0x (37.92) A3000/A3000T [1991, 512]
Kickstart 2.04 (37.175) A500/A500+/A2000/A3000/A3000T [1991, 512]
Kickstart 2.0x (37.210) A600/A2500/A3000 [1991, 512]
Kickstart 2.0x plus (37.210) A600/A2500/A3000 [1991, 512]
Kickstart 2.05 (37.299) A600 [1991, 512]
Kickstart 2.05 (37.300) A600/A600HD [1991, 512]
Kickstart 2.05 (37.350) A600/A600HD [1992, 512]
Kickstart 3.0 beta (39.65) A3000 [1992, 512]
Kickstart 3.0 (39.106) A1200/A4000 [1992, 512]
Kickstart 3.1 (40.55) A3000/A4000 [1993, 512]
Kickstart 3.1 (40.60) CD32 [1993, 512]
Kickstart 3.1 (40.62) A3000 [1993, 512]
Kickstart 3.1 (40.63) A500/A500+/A600/A2000 [1993, 512]
Kickstart 3.1 (40.68) A1200/A4000 [1993, 512]
Kickstart 3.1 (40.70) A4000T [1993, 512]
Kickstart 3.5 (40.71) A3000/A4000/A4000T [1996, 512]
Kickstart 3.5 (44.1) A1200/A3000/A4000/A4000T [2001, 512]
Kickstart 3.x (45.57) A3000/A4000/A4000T [2006, 512] ### Amiga Forever ###
CDTV extended 1.0 (34.1001) CDTV [1991, 256]
CDTV extended 2.07 (37.201) [1992, 256]
CDTV extended 2.30 (37.201) [1992, 256]
CD32 extended 3.1 (40.60) CD32 [1993, 512]

Ponoć istnieją też:
??? 0.9 beta A1000 NTSC [1985, 256]
??? 1.2.1 beta (34.4) A500/A2000 [, 256]
??? 2.03 (36.209) A3000/A3000T [, 512]
??? 3.0 beta (39.26) A4000 [, 512]
??? 3.0 beta (39.46) A600 [, 512]
??? 3.0 (39.105) A4000 [, 512] ### Przedprodukcja ###
??? 3.0 beta (39.106) A600 [, 512]
??? 3.0 beta (39.110) A600 [, 512]
??? 3.0 beta (39.115) A3000 [, 512]
??? 3.0 (39.405) A4000 [, 512]
??? 3.1 beta (40.09) A600/A4000 [, 512]
??? 3.1 beta (40.38) A600/A4000 [, 512]
??? 3.1 (40.56) CD32 [1993, 512]
??? 3.1 (40.58) CD32 [1993, 512]
??? 3.1 (40.68) A500/A600/A2000 [, 512] ### Amiga International/Power Computing ###
??? 3.1 beta (40.70) A500/A600/A2000 [, 512]
??? 3.1 (40.70) A3000 [, 512]
??? 3.1 (40.70) A4000 [, 512]
??? 3.2 beta (43.1) Walker prototype [1996, 1024]
??? 3.9 (45.57) All Amigas (Patch-File) [2002, 512]

Czy ktoś spotkał te wersje? Druga sprawa to pliki zapisane w Kickstarcie (np. graphics.library, scsi.device i inne). Czy są one zapisane pod stałymi wektorami w Kickstarcie? Skąd program Remus/ROMsplit wie, gdzie się one znajdują. W katalogu Remus\SplitData są pliki ".dat" opisujące różne wersje Kickstartu, ale nie wiem co oznaczają dane w nich zawarte.
[#2] Re: Kickstart - wersje i struktura

@RomanWorkshop, post #1

Pomyśl skąd amiga wie gdzie je czytać ;)

Jest tam jakiś FS albo coś a'la tabelka z wektorami.
[#3] Re: Kickstart - wersje i struktura

@11111olo, post #2

No domyślam się, ale gdzie się to znajduje i z czym się to je?
[#4] Re: Kickstart - wersje i struktura

@RomanWorkshop, post #3

Nie zastanawiałem się nad tym jak to jest ale pliki są po kolei i nie ma znaczenia gdzie jest który, poza EXEC.LIBRARY który musi być pierwszy.

Po co Ci te informacje?
[#5] Re: Kickstart - wersje i struktura

@11111olo, post #4

Będę robił swój program ROManSplit do wyciągania plików z Kickstartu Poza tym każdy amigowiec powinien to wiedzieć i to ja tu zadaje pytania! No nic, poczekamy na wypowiedzi ekspertów.
[#6] Re: Kickstart - wersje i struktura

@RomanWorkshop, post #5

Nie mam w tej chwili za bardzo czasu ale jak Ci się chce to remusem wyciągnij wszystkie pliki a potem zobacz gdzie on się znajduje i co jest jeszcze dodatkowo napisane w kickstarcie.

Gdzieś to pewnie jest opisane ale żeby to znaleźć...

PS. Po co chcesz napisać identyczny program?
[#7] Re: Kickstart - wersje i struktura

@RomanWorkshop, post #5

Nie jestem pewien, ale chyba REMUS ma zapisane gdzieś lokalizacje plików z kickstartu. Chyba nie potrafi otworzyć kicka 1.3 i tego co właśnie nim zbudowałeś. Możesz się zapytać autora Remusa.
[#8] Re: Kickstart - wersje i struktura

@11111olo, post #6

Niestety ta metoda nie przyniosła żadnego efektu, gdyż w Kickstarcie nie ma żadnych nagłówków w plikach (ani nawet zagłówków). W jaki sposób jest to zrobione, to wiedzą tylko najstarsi gór... znaczy się amigowcy. Z tym programem to nie do końca serio mówiłem, ale może... Choćby dlatego, że Remus/ROMsplit nie działa na 68000. Można by napisać prostszy program pod CLI. Poza tym programiści tak mają, chcą tylko pisać programy i pisać...

Nie jestem pewien, ale chyba REMUS ma zapisane gdzieś lokalizacje plików z kickstartu. Chyba nie potrafi otworzyć kicka 1.3 i tego co właśnie nim zbudowałeś. Możesz się zapytać autora Remusa.

Chyba tak, pliki w Kickstarcie są zapisane na sztywno, a ich lokalizacje znajdują się w tych plikach ".dat" w katalogu Remus/SplitData z opisami dla różnych wersji Kickstartu.

Ostatnia aktualizacja: 09.02.2014 18:39:36 przez RomanWorkshop
[#9] Re: Kickstart - wersje i struktura

@sanjyuubi, post #7

Chyba... Jak sprawdzisz to napisz.
Aż mnie to tak ciekawi że nie mogę.
Tego nie wiem ale napisz skąd procesor zaczyna czytać KS.
[wyróżniony] [#10] Re: Kickstart - wersje i struktura

@RomanWorkshop, post #8

Zainteresuj się więc tą stałą RTC_MATCHWORD=$4AFC i zauważ, że występuje ona przed każdym "plikiem" w ROM'ie.
[#11] Re: Kickstart - wersje i struktura

@*y, post #10

Dzięki za podpowiedź. Dokumentacja AmigaOS się mi ukłoniła :) link
[#12] Re: Kickstart - wersje i struktura

@RomanWorkshop, post #11

"Aż mnie to tak ciekawi że nie mogę." "Poza tym programiści tak mają, chcą tylko pisać programy i pisać..."

Własne to by było ciekaw, gdy by do tego napisać jakiś program który był by wbudowany w interfejs a interfejs zapisywał całą komunikacje podczas startu, taka post card do amigi pod kicka v-1/v-2 do tego diody odpowiadające za najważniejsze układy /v-3 wersja dla ubogich rs albo usb /v-4 avangarde 68k.


v-1/v-2/v-4 posiadały by pamięć flash mogły by analizować cały czas /przydatne do testów/

To jest właśnie rozwijanie hobby/ oczywiście można by to sprzedawać ale byłą by też wersja diy.
[#13] Re: Kickstart - wersje i struktura

@11111olo, post #9

Chyba... Jak sprawdzisz to napisz.

Piszę chyba, bo to już jakiś czas temu sprawdzałem, ale mam zatarte wspomnienia i mi się tak kojarzy.

Tego nie wiem ale napisz skąd procesor zaczyna czytać KS.

Zaczyna czytać z adresu 0, a twoim zadaniem domowym jest dowiedzenie się dlaczego napisałem 0, a nie np. F80000.

Ostatnia aktualizacja: 09.02.2014 19:57:00 przez sanjyuubi
[#14] Re: Kickstart - wersje i struktura

@sanjyuubi, post #13

Przy niepełnym adresowaniu procesorowi wydaje się że czyta $000000 a faktycznie czyta $F80000.
[#15] Re: Kickstart - wersje i struktura

@11111olo, post #14

$0-$1FFFFF to adres pamięci CHIP, więc skąd tam się bierze kickstart? :) Akurat adres F80000 mieści się w granicach adresowanych 16MB, więc w grę w chodzi co innego.

Ostatnia aktualizacja: 09.02.2014 20:01:00 przez sanjyuubi
[#16] Re: Kickstart - wersje i struktura

@sanjyuubi, post #15

Kickstart ma tylko część młodszych linii adresowych podpiętych do szyny adresowych i gary przy resecie go wybiera więc procesor nie może czytać z ramu.

Jeszcze raz Ci napiszę - niepełne dekodowanie adresu.
Czy procesor będzie czytał w $00000 czy $10000 czy $20000 nie ma znaczenia jeśli jest wybrany rom.
[wyróżniony] [#17] Re: Kickstart - wersje i struktura

@11111olo, post #16

No to skoro wiesz, to czemu się pytasz, skąd procesor zaczyna czytać kickstart. To co napisałeś jest prawdą, ale nie pełną. Gary/Gayle wybiera ROM po resecie z powodu aktywnego sygnału OVL w CIA, dopiero po deaktywowaniu tego sygnału przez kickstart GARY/GAYLE przestaje dekodować ROM w tym obszarze, a pojawia się CHIPRAM.
[#18] Re: Kickstart - wersje i struktura

@sanjyuubi, post #17

Nie napisałem że wiem skąd procesor czyta po resecie a jedynie o niepełnym adresowaniu.
[#19] Re: Kickstart - wersje i struktura

@sanjyuubi, post #17

Dodam jeszcze, że po resecie każdy procesor 680x0 pracuje w trybie nadzorcy (Supervisor mode). Następnie w procesorach 68010+ jest zerowana wartość rejestru VBR. Później procesor odczytuje pierwsze 4-bajty z adresu $0 i ładuje je do rejestru A7 (SSP), ustawiając adres wierzchołka stosu (w pierwszych 4-bajtach Kickstartu nie ma tego adresu). Następnie procesor ładuje kolejne 4-bajty z adresu $4 do rejestru PC i wykonuje instrukcje właśnie od adresu, który znajduje się w rejestrze PC.
[#20] Re: Kickstart - wersje i struktura

@11111olo, post #18

Tak, ale niepełne adresowanie, nie jest przyczyną dekodowania kickstartu w przestrzeni chipramu po resecie, układ kickstartu ma przecież coś takiego co się nazywa ChipSelect, który jest aktywowany przez GARY/GAYLE tylko wtedy, gdy procesor się odwołuje do przestrzeni dla niego zarezerwowanej. Gdyby było tak jak pisałeś wcześniej, to cała mapa pamięci Amigi byłaby wypełniona tylko lustrzanym odbiciem kickstartu wzdłuż i wszerz, a tak nie jest.

Niepełne adresowanie daje o sobie znać tylko w jednym przypadku i występuje ono u 99% użytkowników Amigi, na kickstart jest przeznaczony obszar 1MB, w A500 kickstart 1.3 ma 256kB a w A600 512kB, co oznacza, że w A500 kickstart ma swoje lustrzane odbice aż 4 razy w swojej przestrzeni, a w A600 2 razy.
[#21] Re: Kickstart - wersje i struktura

@RomanWorkshop, post #19

w pierwszych 4-bajtach Kickstartu nie ma tego adresu

Jak to nie ma, pierwsze 4 bajty to ten adres. Sprawdzałem to kiedyś analizatorem logicznym, tzn nie sprawdzałem akurat konkretnie tego, tylko różnice cyklów pomiędzy 68000 a 68EC020 w A600.

Ostatnia aktualizacja: 10.02.2014 13:58:13 przez sanjyuubi
[#22] Re: Kickstart - wersje i struktura

@RomanWorkshop, post #1

A czy ma ktoś spis zawartości (jakie device, biblioteki itp. oraz ich wersje) poszczególnych wersji Kickstartu?
[#23] Re: Kickstart - wersje i struktura

@sanjyuubi, post #21

Pierwsze 4-bajty w różnych wersjach Kickstartu mają wartość $11114EF9 lub $11144EF9. Są też jakieś wersje beta, które mają inne wartości, ale nie działają pod WinUAE więc nie wiem co to za Kickstarty. Czego to jest adres? Adres rejestru A7 (SSP) jest ustawiany przez pierwszą instrukcję w Kickstarcie, wykonywaną przez procesor (lea $0400, A7).

A czy ma ktoś spis zawartości (jakie device, biblioteki itp. oraz ich wersje) poszczególnych wersji Kickstartu?

Właśnie piszę skrypt VBS (dla Windows), który będzie tworzył taki spis dla praktycznie każdego Kickstartu. Jak go skończę, to zamieszczę.

Ostatnia aktualizacja: 10.02.2014 14:24:36 przez RomanWorkshop
[#24] Re: Kickstart - wersje i struktura

@RomanWorkshop, post #23

Pierwsze 4-bajty w różnych wersjach Kickstartu mają wartość $11114EF9 lub $11144EF9. Są też jakieś wersje beta, które mają inne wartości, ale nie działają pod WinUAE więc nie wiem co to za Kickstarty. Czego to jest adres?

Nie wiem, ale to podobno jest ładowane do wskaźnika stosu SP, potem jest modyfikowany i tak przez kickstart, tak mi przynajmniej kiedyś powiedział Jakub Bednarski.
[#25] Re: Kickstart - wersje i struktura

@sanjyuubi, post #24

Zgadza się jest to ładowane do A7 (SSP) dlatego, że tak działają procesory 680x0, ale ta wartość według mnie nie ma żadnego znaczenia, bo i tak jest ona od razu zmieniana przez pierwszą instrukcję w Kickstarcie (lea $0400, A7), która równocześnie jest pierwszą instrukcją wykonywaną przez procesor.
[#26] Re: Kickstart - wersje i struktura

@RomanWorkshop, post #25

Też tak mi powiedziano, widocznie ta wartość ma jakieś znaczenie czysto ideologiczne znane tylko autorom i jest zwykłym wypełniaczem.
[#27] Re: Kickstart - wersje i struktura

@sanjyuubi, post #26

[#28] Re: Kickstart - wersje i struktura

@janekdrukarz, post #27

No i? Nie rozumiem assemblera, czy te 1111 to jest jakiś identyfikator do wykrywania ROMu pod adresem $F00000 (planowany flashROM) i skoku do niego pod adres F00002 gdzie znajduje się instrukcja $4EF9?
[#29] Re: Kickstart - wersje i struktura

@sanjyuubi, post #28

Nie, nie. Tak, jak mówiłeś 2 pierwsze bajty Kickstartu ($1111), to tylko wypełniacz. Dwa kolejne to początek kodu instrukcji JMP ($4EF9aaaaaaaa). Cztery następne to adres, pod którym znajduje się pierwsza instrukcja w Kickstarcie. Po resecie procesor ładuje pierwsze 4-bajty ($11114EF9) do rejestru A7 (SSP), a 4 kolejne do rejestru PC, a następnie wykonuje instrukcję o adresie w PC. Innym sposobem na wykonanie Kickstartu jest skok pod jego adres bazowy+2 ($F80002) i wtedy jest wykonywana instrukcja JMP ($4EF9aaaaaaaa), czyli skok do pierwszej instrukcji w Kickstarcie.
[#30] Re: Kickstart - wersje i struktura

@RomanWorkshop, post #23

Właśnie piszę skrypt VBS (dla Windows), który będzie tworzył taki spis dla praktycznie każdego Kickstartu. Jak go skończę, to zamieszczę.


To super :) Napewno przydałby mi się taki skrypt.
Jak dotąd znalazłem tylko spis (chyba niekompletny) kicka 3.1 -> http://aminet.net/package/docs/help/Kickstart
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem