1

witam,

czesto zdarza sie, ze podczas ladowania program zapisuje sobie dane w "bezpiecznym" miejscu, ponizej jest kilka przykladow

1. $100-$17f stos
2  $480-$4ff bufor basica
3. $580-$5ff bufor fp
4. $600-$67f
5. $680-6ff

ktory przedzial adresow jest uzywany i przez jaki dos/program ladujacy z dysku/kasety itp.

druga sprawa, jakie jest memlo przy dosach/loaderach? niestety sam nie jestem w stanie tego sprawdzic z powodu braku wszystkich mozliwych konfiguracji hardwaru ;-) prosil bym o konkrety; sama odpowiedz "$2000" jest kiepska...

odpowiedzi na te pytania napewno wielu ulatwia pisanie wlasnych programow a userom oszczedza nerwow przy przelaczaniu konfiguracji ;-)

http://atari.pl/hsc/ad.php?i=1.

2

dwa przykładowe konfigi dla Sparta DOS X 4.42, oraz memlo z tym związane:

wersja "wypas" :)

use banked $cf
device sparta
device sio
set path=car:;:;b:>programs>
set prompt=$l$p>
set batch=b:>autoexe2.bat
device quicked /n
device color
device arclock /t
device runext b:\sys\runext.cfg
device comexe
device e:\vbxe_n\s_vbxe 15 144
device b:\sys\con /e


WYNIK: MemLo - > $12cf


Wersja MINI:

use banked
device sparta
device sio

WYNIK: MemLo - > $0eba

.. jak widać, przy nawet dość rozbudowanym konfigu memlo jest dość nisko ;)

Domniemam, iż przy SDLOAD (Draco) memlo będzie znacznie poniżej wersji mini dla Sparty X, lecz najlepiej niech w temacie wypowie się Draco :)

Kontakt: pin@usdk.pl

3

Na stos lepiej nie wczytywać, bo korzystają z niego loadery turbo. To było przyczyną, że intro moje i Eru "działało tylko na emulatorze".

$400-$6ff jest zasadniczo wolne, chyba że używasz BASICa, FP lub kasety. DOSy i loadery nie powinny tu siedzieć.

Memlo teoretycznie może być dowolnie wysoko - jak masz załadowanego XLF, Bug Huntera itp. W praktyce najgorszy znany mi goły DOS to 2.5+Chaos CP, gdzie memlo było $21xx. Bardzo popularny jest DOS II+, gdzie memlo=$2000, więc programy dla DOSa innego niż Sparta zasadniczo nie powinny się ładować niżej. Moje programy zwyczajowo piszę tak, aby kończyły się do $BBFF.

https://www.youtube.com/watch?v=jofNR_WkoCE

4

czyli jak narazie aby zachowac "wspolny mianownik" odpada punkt 1 a memlo to $2000

http://atari.pl/hsc/ad.php?i=1.

5

1. jakis czas temu sie pytalem tutaj, jakie jest bezpieczne memlo dla sparty x. otrzymalem odpowiedz, ze $2000 - wiec niezaleznie od dosa - tego adresu sie mozesz trzymac. ja tak robie i jeszcze sie nie sparzylem.
2. w mojej ca-2001 mam top drive'a, ktory ma loader turbo na stronie 1 lub 6 (do wyboru). tym samym obalam teorie, jakoby strona 6 byla bezpieczna.
3. jest jeszcze opcja hardcore: mozesz napisac relokowalna binarke pod sdx - laduje sie zawsze od memlo, jakie by ono nie bylo.

6

czyli pozostaje tylko:

2  $480-$4ff bufor basica
3. $580-$5ff bufor fp

> ... aby kończyły się do $BBFF

nie rozumiem, dlaczego?

http://atari.pl/hsc/ad.php?i=1.

7

Możesz skończyć i na $BFFF, tylko dobrze jest wtedy zgasić ekran, względnie trzymać swój kawałek DL-ki ze screenem w miejscu, gdzie nie zostanie nadpisana. W sumie bardziej estetyka niż praktyka, ale za to ile radochy. :)

I Ty zostaniesz big endianem...

8 Ostatnio edytowany przez Pin (2009-12-11 23:46:38)

xxl napisał/a:

nie rozumiem, dlaczego?

.. ja też nie, ale rozumiem jedno: Programy Foxa działają nawet na grzebieniu - i to mi wystarczy :)

Kontakt: pin@usdk.pl

9

xxl napisał/a:

czyli pozostaje tylko:

2  $480-$4ff bufor basica
3. $580-$5ff bufor fp

Jakie są przeszkody w użyciu $400-$47f i $500-$57f ?

xxl napisał/a:

> ... aby kończyły się do $BBFF

nie rozumiem, dlaczego?

To wytłumaczył Miker. Od $BC20 jest zwykle DL.

https://www.youtube.com/watch?v=jofNR_WkoCE

10 Ostatnio edytowany przez xxl (2009-12-14 10:18:45)

od $400 jest bufor magnetofonu ale od $500 sie zgadza,

1. $480-$4ff bufor basica
2. $500-$57f wolne
3. $580-$5ff bufor fp

http://atari.pl/hsc/ad.php?i=1.

11

Jeśli program ma się ładować pod rozsądnym DOS-em, trzeba przyjąć minimalne memlo = $2000. Natomiast asekuranckie minimalne memlo dla loadera to będzie pewnie $0C00 (ogólnie loader łatwo może mieć mniej, pod warunkiem, że to nie jest format SDX i dysk z 512-bajtowymi sektorami, wtedy zaczyna się problem ze zmieszczeniem wszystkiego pomiędzy $0700 a $0BFF - a dobrze by było móc gierki ładować z takiego dysku, bo to i pojemność większa i szybkość znacznie lepsza).

KMK
? HEX$(6670358)

12

Pamiętam, że jak coś tworzyłem, to trzymałem się następujących zasad:

Soft DOS-owy - od $2000 w górę
$0100 (pierwsza połówka strony stosu) była przeze mnie "nie tykana", gdyż niektóre systemy turbo do stacji z tego korzystały
$0600 (słynna szósta strona) - nie ruszałem jej z tych samych względów co $0100

natomiast bezczelnie używałem $0400-$05ff np. do prostych loaderów/incjalizerów przerzucających np. pod ROM, lub do dodatkowej pamięci załadowane bloki i tego typu "popierdułek".

Jeżeli program miał "olewać DOS-a", to starałem się, aby był wczytywane na jego poziomie a dopiero po załadowaniu "rozpakowywał się/generował", aby nie schodzić poniżej $2000 podczas ładowania