OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 28.03.2024, 20:04

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 6 ] 
Autor Zpráva
 Předmět příspěvku: Autoloader II
PříspěvekNapsal: 05.03.2023, 10:57 
Offline
Kecálek

Registrován: 13.01.2023, 09:42
Příspěvky: 88
Has thanked: 0 time
Been thanked: 24 times
Tento autoloader je naopak určený pro propojení s vlastním programem, stačí jen doplnit na konec programu vlastní kód a doplnit adresy programu.


Kód:
        *= $02ed

         lda #$f6
         sta $0329

         jsr $f4f3
         jmp my program ; prog address <<<<<


         *= $0300
         .word $e38b,$a483,$a57c,$a71a
         .word $a7e4,$ae86
         .byte 0,0,0,0
         jmp $b248
         .byte 0
         .word $ea31,$fe66,$fe47,$f34a
         .word $f291,$f20e,$f250,$f333
         .word $f157,$f1ca

         .word $02ed
         .word $f13e,$f32f,$fe66,$f4a5
         .word $f5ed

         *= my program


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Autoloader II
PříspěvekNapsal: 06.03.2023, 11:57 
Offline
Radil
Uživatelský avatar

Registrován: 23.05.2013, 20:30
Příspěvky: 322
Bydliště: Východní Čechy
Has thanked: 2 times
Been thanked: 48 times
Josef01 píše:
Tento autoloader je naopak určený pro propojení s vlastním programem, stačí jen doplnit na konec programu vlastní kód a doplnit adresy programu.


Kód:
        *= $02ed

         lda #$f6
         sta $0329

         jsr $f4f3
         jmp my program ; prog address <<<<<


         *= $0300
         .word $e38b,$a483,$a57c,$a71a
         .word $a7e4,$ae86
         .byte 0,0,0,0
         jmp $b248
         .byte 0
         .word $ea31,$fe66,$fe47,$f34a
         .word $f291,$f20e,$f250,$f333
         .word $f157,$f1ca

         .word $02ed
         .word $f13e,$f32f,$fe66,$f4a5
         .word $f5ed

         *= my program


Pro inspiraci:

https://codebase64.org/doku.php?id=base ... disk_files

Jinak metoda, která přepíše vektory defaultníma není zrovna ideál, co se týče kompatability pro různé periférie.

_________________
JMP $FCE2

C64, C128DCR, IDE64, SuperCPU64, 1541 Ultimate-II, MMC Replay, FC3, REU 2MB, Geroram512, NeoRAM 2MB, RR-Net, SilverSurfer, Wiznet64 , 1541-II,1571,1581,Oceanic


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Autoloader II
PříspěvekNapsal: 06.03.2023, 12:24 
Offline
Kecálek

Registrován: 13.01.2023, 09:42
Příspěvky: 88
Has thanked: 0 time
Been thanked: 24 times
Díky za info, ten odkaz jsem uváděl v příspěvku Autoloader I. Ty vektory jsou po zapnutí v defaultu, jaký by mohl nastat problém, když se tam objeví ty samé hodnoty, které sa pak hned v hlavním kódu dají upravit?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Autoloader II
PříspěvekNapsal: 06.03.2023, 14:23 
Offline
Radil
Uživatelský avatar

Registrován: 23.05.2013, 20:30
Příspěvky: 322
Bydliště: Východní Čechy
Has thanked: 2 times
Been thanked: 48 times
Josef01 píše:
Díky za info, ten odkaz jsem uváděl v příspěvku Autoloader I. Ty vektory jsou po zapnutí v defaultu, jaký by mohl nastat problém, když se tam objeví ty samé hodnoty, které sa pak hned v hlavním kódu dají upravit?


Vektory jsou v defaultu pouze pokud C64 nepoužívá žádnou utility cartridge.Cartridge, které mají svůj fastloader, rozšíření basicu jako třeba AR,FC3 a další si vektory přepisují vektorem mapovaný do IO1/2 (DExx-DFxx),kde mají svoji ROMku s rutinama na seriový fastload a rozšíření basicu nebo pár bajtů RAM (případ AR).Pokud by ten autostart program byl větší, desítky,stovky bloků,tak se tímto způsobem vyřadí vektor pro LOAD a bude ten program loadovat pomalou původní rychlostí,což je opruz a nikdo nechce.U souboru, který má pár bloků a pokud se dál už nenahrávají další části to zas takový problém není.

_________________
JMP $FCE2

C64, C128DCR, IDE64, SuperCPU64, 1541 Ultimate-II, MMC Replay, FC3, REU 2MB, Geroram512, NeoRAM 2MB, RR-Net, SilverSurfer, Wiznet64 , 1541-II,1571,1581,Oceanic


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Autoloader II
PříspěvekNapsal: 06.03.2023, 18:06 
Offline
Kecálek

Registrován: 13.01.2023, 09:42
Příspěvky: 88
Has thanked: 0 time
Been thanked: 24 times
Díky za vysvětlení. Existuje mnoho způsobů, jak počítač přimět k autostartu, musí se holt zvolit správný. Schválně to vyzkouším s Epyx nebo SSS 5 apod. Našel jsem i řadu Autoloaderů, které nefungovaly a musela tam být nějaká chyba, buď přepisem, nebo samotnou podstatou programu.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Autoloader II
PříspěvekNapsal: 06.03.2023, 22:39 
Offline
Radil
Uživatelský avatar

Registrován: 23.05.2013, 20:30
Příspěvky: 322
Bydliště: Východní Čechy
Has thanked: 2 times
Been thanked: 48 times
Josef01 píše:
Díky za vysvětlení. Existuje mnoho způsobů, jak počítač přimět k autostartu, musí se holt zvolit správný. Schválně to vyzkouším s Epyx nebo SSS 5 apod. Našel jsem i řadu Autoloaderů, které nefungovaly a musela tam být nějaká chyba, buď přepisem, nebo samotnou podstatou programu.

Nejelegantnější metoda je hybridní kod s validním basic headerem, tu mám vyzkoušenou,že funguje na všem,není to ale přesně jako příklad z codebase.

_________________
JMP $FCE2

C64, C128DCR, IDE64, SuperCPU64, 1541 Ultimate-II, MMC Replay, FC3, REU 2MB, Geroram512, NeoRAM 2MB, RR-Net, SilverSurfer, Wiznet64 , 1541-II,1571,1581,Oceanic


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 6 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 6 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz