Temat: Loader dumpów cartridge

Czy istnieje program, który pozwalałby załadować 8 lub 16 kilowy obraz typowego carta z pliku w odpowiedni obszar pamięci i odpaliłby go zgodnie z danymi zawartymi w nagłówku tego dumpa? Jeżeli nie, to czy są jakieś przeszkody techniczne, które by to definitywnie uniemożliwiały? Pomijam możliwość sterowania MMU przez kod carta, który spowodowałby niepożądane odłączenie ramu z wgranym juz dumpem.

2

Odp: Loader dumpów cartridge

nie wszystkie daloby sie zaladowac...
https://github.com/dmlloyd/atari800/blo … C/cart.txt

http://atari.pl/hsc/ad.php?i=1.

3

Odp: Loader dumpów cartridge

Jest emulator cartów pod Sparta DOS X i VBXE. VBXE staje się cartem, a emulator przepisując dane analizuje zawartość i odpowiednio modyfikuje plik *.car tak, by odwołania szły w odpowiednio inne miejsce.

Chyba, że chodziło o coś innego wink

Ostatnio edytowany przez Pin (2019-12-16 23:45:59)

ADRES: pin@atari.pl - konto zlikwidowane. Aktualny adres: pin(at)atari8.info

4

Odp: Loader dumpów cartridge

ale wiesz ze wystarczy dodac nalowek zeby cart byl rozpoznawany jako binary file z adresem ladowania i dodac wektor run

http://atari.pl/hsc/ad.php?i=1.

5

Odp: Loader dumpów cartridge

O to mi mniej więcej chodziło, czy się da odpalić dump wczytując go z pliku na gołym xl/xe pod $8000 i robiąc skok w odpowiednie miejsce. Popatrzę na budowę nagłówków tu i tam. I popróbuję na początek zrobić ręcznie exeka z dumpa carta, takiego który nie ma bankowania, no bo wiadomo.

6

Odp: Loader dumpów cartridge

Da się. Zależnie od typu carta wykonuje się najpierw CARTINI a potem ewentualnie CARTRUN: http://atariki.krap.pl/index.php/Cartri … C4%99ci%29
Ale zanim się tego dokona proponuję zresetować POKEY-a.

Edit: Niektóre gry potrafią nadpisać fragment obszaru carta, więc nie wszystko się tak da odpalić bez modyfikacji programu.

Edit 2: Nie pamiętam dokładnie, ale między CARTINI a CARTRUN może też być konieczne ustawienie RAMTOP i ponowne otwarcie E:

Edit 3: Coś w tej podobie:

  org $2000

  lda #%00000000
  sta SKCTL ;$D20F
  ldy #8
?clr sta POKEY,y  ;$D200
  dey
  bpl ?clr
  lda #%00000011
  sta SKCTL  ;$D20F
  jsr ?init
  ldx #$00
  lda #CLOSE ;$0C
  sta ICCMD,x ;$342
  jsr JCIOMAIN ;$E456
  lda #>$A000    ;$8000 dla 16K
  sta RAMTOP ;$6A
  lda #OPEN ;$03
  sta ICCMD,x
  lda #<e
  sta ICBUFA,x ;$344
  lda #>e
  sta ICBUFA+1,x
  lda #RW ;%1100
  sta ICAX1,x ;$34A
  txa
  sta ICAX2,x ;$34B
  jsr JCIOMAIN
?run jmp (CARTRUN) ;$BFFA
?init jmp (CARTINI) ;$BFFE

e .byte 'E:',$9B

  run $2000

Edit 4: Być może RAMTOP trzeba ustawić przed wywołaniem CARTINI, no i trzeba pamiętać że pamięć wtedy jest czysta, więc może przyda się jeszcze jakiś kod czyszczący od $400 do RAMTOP. Żeby zrobić to odpornym na RESET trzeba by jeszcze ustawić COLDST, BOOT oraz CASINI/DOSINI i DOSVEC na adresy odpowiednio ?init i ?run.

Edit 5: Spotkałem się z cartami, które inaczej inicjalizują się po włączeniu komputera a inaczej po RESET zależnie od flagi WARMST.

Ostatnio edytowany przez mono (2019-12-17 19:47:56)

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

7

Odp: Loader dumpów cartridge

Dzięki za wskazówki - przetrawiam...

8

Odp: Loader dumpów cartridge

mozna tez tak:

        org $D36D
        .HE FF

        org $8000-$10
        ins 'MoonPatrol.car'

        org $BFFD
        .HE 4C
        RUN $BFFD


big_smile


===
i binarka

Ostatnio edytowany przez xxl (2019-12-17 19:04:51)

Post's attachments

car_nalowek.obx 16.04 kb, liczba pobrań: 6 (od 2019-12-17) 

Tylko zalogowani mogą pobierać załączniki.
http://atari.pl/hsc/ad.php?i=1.

9

Odp: Loader dumpów cartridge

XXL - do niebankowanych cartów owszem.

ADRES: pin@atari.pl - konto zlikwidowane. Aktualny adres: pin(at)atari8.info

10

Odp: Loader dumpów cartridge

przeczytaj pierwszy post.

http://atari.pl/hsc/ad.php?i=1.

11

Odp: Loader dumpów cartridge

Carty 8K i 16K o które pyta Autor chyba nigdy nie były bankowane...

Atari 1040STe (TOS 1.62/2.06 UK, 4MB RAM), Atari 1040STfm (TOS 1.04 UK, 1MB RAM, BLiTTER, Gotek FF)
Digital Data Deicke HD64 (Megafile 60), SF314, UltraSatan, Gotek HxC, NetUSBee
Atari 65XE (64kB), Atari 800XL (64kB), Sinclair SPECTRUM+ (48kB), TIMEX Computer 2048 (48kB)

12

Odp: Loader dumpów cartridge

a - faktycznie, umknęło mi wink

ADRES: pin@atari.pl - konto zlikwidowane. Aktualny adres: pin(at)atari8.info

13

Odp: Loader dumpów cartridge

Patrzę na ten nagłówek pliku od XXL-a i widzę, że ma on 2 bloki. Drugi w nim to obraz carta w formacie .car i ładowany jest z przesunięciem w dół o $10 (pod $7FF0) aby odrzucić pierwsze 16 zbędnych bajtów pliku .car. Ok, jasne. Ale nie wiem co daje ustawienie 255 w komórce $D36D z pierwszego bloku. Patrzę po manualach, ten obszar adresów należy do PIA, ale co konkretnie robi ten rejestr?

edit. ślepiąc dalej i pomijając listing, dopatrzyłem się faktycznie 4 bloków w tym pliku.

Ostatnio edytowany przez laborant (2019-12-18 22:56:47)

14

Odp: Loader dumpów cartridge

to jest PORTB

http://atari.pl/hsc/ad.php?i=1.

15

Odp: Loader dumpów cartridge

Wydaje mi się, że PORTB przełączający obszary i funkcje tych obszarów pamięci to $D301.  Więc nie wiem, czy myślimy o tym samym i jest pomyłka w tym loaderze, czy jednak nie połapałem się o co chodzi z tym $D36D.  Pewnie to drugie.

Edit. ale jak to PORTB to przynajmniej wiem czemu 255, więc znów krok do przodu.

Ostatnio edytowany przez laborant (2019-12-18 23:18:40)

16

Odp: Loader dumpów cartridge

rownie dobrze moze byc $D33D, $D3F9. PORTB zaadresujesz na stronie D3 dowolna wartoscia, wazne zeby najmlodsze dwa bity mialy postac 01
                 
czyli adres %1101 0011 xxxx xx01

pod x mozesz dac losowe wartosci 0/1

http://atari.pl/hsc/ad.php?i=1.

17

Odp: Loader dumpów cartridge

nie słuchajcie tego szarlatana. PortB jest na $D301 smile

ADRES: pin@atari.pl - konto zlikwidowane. Aktualny adres: pin(at)atari8.info

18

Odp: Loader dumpów cartridge

Atari tak chciało...

19

Odp: Loader dumpów cartridge

Pin napisał/a:

nie słuchajcie tego szarlatana. PortB jest na $D301 smile

Popieram... trza człekowi wyjaśnić, że pozostałe adresy to rejestry/cienie a nie zaciemnać kod adresami z tyłka! :-)

https://systemembedded.eu/
"...Mówił mi to jeden facet, który znał się na atari i takich różnych rzeczach. On mówił, że procesor 6502 to był początkowo procesor wojskowy. On ma tajne funkcje, nie wiadomo w ogóle, co one mogą robić..."
ABBUC Member #319. Preferowana forma kontaktu: email

20

Odp: Loader dumpów cartridge

laborant napisał/a:

Wydaje mi się, że PORTB przełączający obszary i funkcje tych obszarów pamięci to $D301.  Więc nie wiem, czy myślimy o tym samym i jest pomyłka w tym loaderze, czy jednak nie połapałem się o co chodzi z tym $D36D.  Pewnie to drugie.

Edit. ale jak to PORTB to przynajmniej wiem czemu 255, więc znów krok do przodu.

To proste - jak masz ULTIMATE to Ci nie zadziała, jak chciał XXL dając powtórzony rejestr. To zwykła zawiść i nie powiem co jeszcze, bo mnie dely zbanuje, ale przychodzi mi słowo na k kończące się na o.

Sikor umarł...

21

Odp: Loader dumpów cartridge

Czy chodzi o kaletnictwo?:-)

22

Odp: Loader dumpów cartridge

Przypominam, że temat dotyczy loadera obrazów kartridży. Kolejny wykolejający post spowoduje przyznanie nagród przewidzianych w regulaminie.

Czy możecie wyjaśnić, Stirlitz, dlaczego wasz służbowy adres stirlitz@rsha.gov.de ma aliasa justas@gru.su?
Nie czytam PM. Proszę używać e-mail.

23

Odp: Loader dumpów cartridge

Sikor napisał/a:

To proste - jak masz ULTIMATE to Ci nie zadziała

Nie prawda. Bledne dzialanie atari z ta modyfikacja objawia sie przy zapisie powyzej $D380 a wiec uzyty adres $D36D jest bezpieczny rowniez dla Ultimate1MB.

Ostatnio edytowany przez xxl (2019-12-19 09:02:53)

http://atari.pl/hsc/ad.php?i=1.

24

Odp: Loader dumpów cartridge

Ok, to już wszystko jasne. Myślę, że te zapętlone rejestry w tym obszarze to nie cienie, a raczej zapas ramu na nieokreślone rejestry jakiegoś rozbudowanego PIA w przyszłości.

25

Odp: Loader dumpów cartridge

może to PIA jest po prostu uproszczone, poszli po kosztach, gdyby miał reagować na ściśle określony zakres to wymagałby pewnie kilku dodatkowych układów , bramek

nie znam się, więc się wypowiadam smile

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C