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 HxC) + Digital Data Deicke HD64, SF314, UltraSatan, Gotek HxC, NetUSBee
Atari 800XE (SIMM EXP 1MB), Atari 800XL (RAMBO XL 256kB), Sinclair SPECTRUM+ (48kB), TIMEX Computer 2048 (48kB)
Commodore A600 (KS 1.3/3.1, 2MB CHIP RAM, 4MB FAST RAM, CF 4GB, Gotek FF)

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