Konference: Commodore C64 a další

Od: LHS
Datum: 7.1.2013 21:15
Předmět: Re: Příkaz SAVE v Basicu


Budu to tahat hodně z paty, je to už dááávno, co jsem to řešil, ale díky
za reminiscenci na mládí...

Když je někdo všech lůzrů futrál a socka k tomu a chtěl by řešit 
stroják/assembler a nemá ani cartridge, tak může oblbnout rutinu SAVE. 
Např. jsem resetoval demo, pomocí POKE 53265 a POKE 53272 jsem si 
zjistil, kde v paměti je charset, co si chci uložit.

V zeropage se vyskytují pointery Basicu, kolem adres $2B - $48. Už fakt 
nevim přesně který, ale je tam i počáteční a koncová adresa
 "aktuálního 
programu" (myslim že 2B+2C je start a 37+38 je end, ale fakt jen 
myslim). Takže do těchto pointerů můžeš zapsat např. adresy $2000 a 
$2800 a když dáš v Basicu SAVE, uloží se tato paměť.

Předpokládal bych, že rutina LOAD naplní tyto pointery podle toho, co 
natáhla. Proto když nahraješ hru, která má 1 řádek se SYS a zbytek je 
stroják a dáš hned SAVE, tak to funguje správně.


LHS



Factor6 (c64 tu byla ta zakroucena vec pandora.cz) napsal(a):
>
> Zajímala by mě jedna věc.
>
> Debilní Basic na C64 má příkaz SAVE, ale neumožňuje určit adresu a
> délku, případně typ ukládaného souboru.
> Co vlastně ten basicovský SAVE ukládá?
>
> Nechápu to kvůli jedné věci. Když nahraju něco co je ve strojáku do
> paměti, třeba z kazety hru s basicovým spouštěcím řádkem SYS a
> následně to uložím pomocí SAVE"NAZEV" tak jak ten počítač ví, od
které
> adresy a jak dlouhý blok má uložit?
>
> (všude jinde na jiných kompech (kromě Atari) jde u SAVE totiž zadat
> parametr od jaké adresy a jak dlouhý blok se má ukládat, tak jako na
> C64 v nějakém cartridge-monitoru).
>
> Možná v tom mám hokej, ale rád bych tohle pochopil.
>
> F6
>
> ---
> Pobyty na horách se slevou
> http://raketa.cz/slevy/pobyty/hory/
>

Ostatní příspěvky vlákna:

 
[2013/1 (22)] [2013/5 (8)] [2013/11 (3)]


[2012 (5)] [2013 (33)]