Cartridge dużej wielkości i przełączanie Banków.

Szukasz drobnej pomocy przy kodowaniu, albo chcesz przedstawić światu swoją gotową lub w trakcie realizacji produkcję? To właściwy dział.
Wiadomość
Autor
sdm
Posty: 8
Rejestracja: 27 gru 2022, 15:36

Cartridge dużej wielkości i przełączanie Banków.

#1 Post autor: sdm »

Witam.
Chciałbym poprawnie skonfigurować kod 64TASS pod jakiś większy niż 16KB rozmiar cartridge'a.
Interesuje mnie info jakie są popularne formy Cart'a do C64 większego rozmiaru jak 128 czy 256KB - No i jak oczywiście będzie działać przełączanie Banków w takim przypadku (domyślam się, że wtedy CART LO jest jako Fixed Bank i CART HI zostaje ustawiony jako przełączalny?
Zerkając na mapę pamięci C64 to mamy CART LO od $8000 do 9FFF i CART HI $A000-BFFF ale także CART HI $E000-FFFF - czy te dwa Banki HI to jest opcja do wyboru aby przykładowo nie wchodzić w ROM BASIC a dalej mieć 16KB Cart'a?

Jestem zielony w temacie.

Gordian
Posty: 234
Rejestracja: 14 cze 2021, 13:32

Re: Cartridge dużej wielkości i przełączanie Banków.

#2 Post autor: Gordian »

Witaj,
nie mam dużej wiedzy w tym temacie, ale może coś pomoże link: https://codebase64.org/doku.php?id=base:crt_file_format (kartridże 5, 7, 15, 17, 19).

sdm
Posty: 8
Rejestracja: 27 gru 2022, 15:36

Re: Cartridge dużej wielkości i przełączanie Banków.

#3 Post autor: sdm »

Ciekawie wygląda "Ocean type 1" - ma aż do 512KB. Przełącza się zapisując numer BANK'u 0-63 do $DE00.
Pytanie jak zdefiniować wszystko w 64TASS aby było OK?

mono
Posty: 27
Rejestracja: 03 lis 2008, 18:52
Grupa: tristesse
Kontakt:

Re: Cartridge dużej wielkości i przełączanie Banków.

#4 Post autor: mono »

Tutaj jest chyba pełniejsza dokumentacja http://ist.uwaterloo.ca/~schepers/formats/CRT.TXT
Ale z TASem nie pomogę. Ja sobie generuję nagłówki ręcznie.

Edit: A tu przykładowy kod obsługi: https://codebase64.org/doku.php?id=base ... _rom_image
tu coś o nagłówku, boocie i NMI: https://www.c64-wiki.com/wiki/Cartridge ... ge_boot-up

ytm
Posty: 13
Rejestracja: 08 sie 2021, 22:06

Re: Cartridge dużej wielkości i przełączanie Banków.

#5 Post autor: ytm »

Jeszcze jeden przykład: https://github.com/msolajic/c64-magic-desk-512k - ten rodzaj jest emulowany przez VICE.

Tutaj jest podłączony tylko /ROML, czyli 8K w obszarze $8000-$9FFF), a rejestrem $DE00 wybiera się bank albo wyłącza cart zupełnie (do następnego resetu).

Awatar użytkownika
zbych
Posty: 45
Rejestracja: 08 mar 2018, 11:24

Re: Cartridge dużej wielkości i przełączanie Banków.

#6 Post autor: zbych »

Dodam swoje 3 grosze: możesz też użyć carta typu EasyFlash, daje 512kb, myślę że to można szybko testować sobie na real hardware.

Ja w pliku prg nie dodawałem żadnego dodatkowego nagłówka, ani wektorów startu, tylko standardowo tak jak w prg adres załadunku i od razu kod wykonywalny.

Obraz z prg można wygenerować tak:
cartconv.exe -t easy -i crtMain.prg -o MyEasyFlaskCart.crt -p

EasyFlash ma tego plusa daje dodatkowo możliwość zapisu danych. Więcej szczegółów o tym można znaleźć w dokumentacji:
http://skoe.de/easyflash/files/devdocs/ ... rogRef.pdf

sdm
Posty: 8
Rejestracja: 27 gru 2022, 15:36

Re: Cartridge dużej wielkości i przełączanie Banków.

#7 Post autor: sdm »

Dla pewności spytam - tryb 16K Mode (8 KiB at $8000 8 KiB at $A000) przełącza w PARACH oba LO/HI Carta? Nie ma możliwości zostawić np. LO jako stały (fixed bank) i przełączać sobie jedynie HI ?

Awatar użytkownika
zbych
Posty: 45
Rejestracja: 08 mar 2018, 11:24

Re: Cartridge dużej wielkości i przełączanie Banków.

#8 Post autor: zbych »

sdm pisze:
08 sty 2023, 11:15
Dla pewności spytam - tryb 16K Mode (8 KiB at $8000 8 KiB at $A000) przełącza w PARACH oba LO/HI Carta? Nie ma możliwości zostawić np. LO jako stały (fixed bank) i przełączać sobie jedynie HI ?
Nie, przynajmniej mi o tym nic nie wiadomo, jedynie tryb 8k daje możliwość przełączania banku odwrotnie niż piszesz czyli w obszarze $8000 a w $A000 jest zwykła pamięć. Ja carta po prostu używałem jak "pamięci masowej" - włączałem carta, wczytywałem to co potrzebowałem i wyłączałem, bo wiadomo że przy włączonym carcie mamy w tych obszarach pamięć ROM więc zostawianie na stałe carta ma sens w przypadku grafiki albo kodu który nie ma elementów samomodyfikacji.

ODPOWIEDZ