Strona 1 z 1

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

: 27 gru 2022, 15:43
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.

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

: 27 gru 2022, 17:20
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).

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

: 27 gru 2022, 17:50
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?

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

: 28 gru 2022, 02:14
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

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

: 29 gru 2022, 11:06
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).

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

: 07 sty 2023, 14:20
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

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

: 08 sty 2023, 11:15
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 ?

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

: 08 sty 2023, 15:26
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.