Frage zum 8Kb Speicher reservieren.

ZX-Team Forum
Antworten
funkheld
User
Beiträge: 193
Registriert: 16.11.2010, 18:20

Frage zum 8Kb Speicher reservieren.

Beitrag von funkheld » 05.11.2017, 13:24

Hallo, guten Tag.

Ich möchte 8kb reservieren für ASM-Code.
ich habe den Speicher auf 48 KB im EightyOne eingestellt.

Kann ich von 32768 bis runter 24576 den Speicher für ASM so festlegen :

Poke 16388,0
Poke 16389,32
New


Danke.
Gruss

Benutzeravatar
PokeMon
User
Beiträge: 4568
Registriert: 31.08.2011, 23:41

Re: Frage zum 8Kb Speicher reservieren.

Beitrag von PokeMon » 05.11.2017, 13:30

POKE 16389 reicht in der Regel aus, das 16388 sowieso auf 0 ist.
Allerdings muss hier die oberste Adresse festgelegt werden.
Das ist normalerweise 128 (=32768 für 32k RAM).
Wenn Du 8k reservieren willst wäre als 128-32 (8*4*256) = 96 in 16389 zu poken und dann NEW einzugeben.
Wer seinen Computer ehrt, lebt nicht verkehrt.

Benutzeravatar
Paul
User
Beiträge: 2573
Registriert: 10.03.2010, 12:01
Wohnort: Germanys west end

Re: Frage zum 8Kb Speicher reservieren.

Beitrag von Paul » 05.11.2017, 13:40

Die 32*256 ergeben allerdings 8192. Das ist für RAMTOP zu niedrig. Keine Ahnung was der ZX81 damit macht.
Normalerweise steht dort 128 drin. Das heißt RAM von 16k bis 32k.
Wenn du davon etwas wegnehmen möchtest musst du die (bei 8k 32) von der 128 subtrahieren.
Also 96 poken.
Allerdings ist bei 48K RAM ja schon 32k RAM von 32768 bis 65535 reserviert.
Von daher eventuell nicht nötig was zu ändern.
Liebe Grüße Paul
Theoretisch ist zwischen Theorie und Praxis kein Unterschied.
Praktisch allerdings wohl.

funkheld
User
Beiträge: 193
Registriert: 16.11.2010, 18:20

Re: Frage zum 8Kb Speicher reservieren.

Beitrag von funkheld » 05.11.2017, 13:47

Danke für die Antwort.
Allerdings ist bei 48K RAM ja schon 32k RAM von 32768 bis 65535 reserviert.
Von daher eventuell nicht nötig was zu ändern.
Hmmm..., wird der nicht für das Basicprogramm genommen?
Oder ist es mein Speicher für ein ASM-Programm wenn nichts weiteres wie etwa WRX eingeschaltet wurde ?
Wo liegt denn das mein Basicprogramm ?

Danke.
Gruss

Benutzeravatar
PokeMon
User
Beiträge: 4568
Registriert: 31.08.2011, 23:41

Re: Frage zum 8Kb Speicher reservieren.

Beitrag von PokeMon » 05.11.2017, 14:07

BASIC kennt üblicherweise nur die 16k RAM von 16k-32k. Theoretisch kann BASIC auch bis 48k nutzen, beim Überschreiten der 32k Grenze (Adresse 32768) wird es aber schwierig mit dem Display File. Je nach Größe muss es sich sonst den Speicher mit ASM Programmen teilen. Der Bereich 32-48k ist für ASM Programme nur nutzbar, wenn das Gerät (Hardware) die sogenannte M1NOT Modifikation hat oder beim Emulator das entsprechende Config gesetzt ist. Man muss sich aber darüber im Klaren sein, dass das Programm dann nicht auf jeder Hardware lauffähig ist.
Wer seinen Computer ehrt, lebt nicht verkehrt.

funkheld
User
Beiträge: 193
Registriert: 16.11.2010, 18:20

Re: Frage zum 8Kb Speicher reservieren.

Beitrag von funkheld » 05.11.2017, 16:06

Danke für die Info.

Also am besten das ASM-programm in die 1. Remzeile ?
Warum ist der Bereich 32kb - 48kb nur in bestimmten fällen für mich nutzbar ?

Um mich fit zu halten beim Proggen mit dem ZX81 und meinen 69 Jahren nutze ich den wunderbaren EightyOne mit 48kb , WRX, HRG , Printer und ZXPand. Das ist meine Grundlage und man hat hier eine Fehlerquelle ausgeschlossen : den Lötkolben.....
Ich habe in den letzen Jahren an viele Hardware in der Elektronik rumgebastelt und Experimente gemacht.
jetzt kommt der andere Teil dran.

Gruss

Benutzeravatar
PokeMon
User
Beiträge: 4568
Registriert: 31.08.2011, 23:41

Re: Frage zum 8Kb Speicher reservieren.

Beitrag von PokeMon » 06.11.2017, 00:12

funkheld hat geschrieben:
05.11.2017, 16:06
Danke für die Info.

Also am besten das ASM-programm in die 1. Remzeile ?
Warum ist der Bereich 32kb - 48kb nur in bestimmten fällen für mich nutzbar ?
Ja, am Besten in die 1. REM Zeile.
Mit der ZX-IDE kann der Code auch an andere Adressen einfach geschoben werden resp. die Startadresse wird dann automatisch berechnet. Bei 1. REM Zeile ist es immer auf Adresse 16514.

Der Bereich 32k-48k ist nur mit M1NOT Modifikation nutzbar. Ausführbarer Code wird hier von der ULA als Video interpretiert und hat meist Abstürze oder unkontrolliertes Verhalten zur Folge. Der Grund ist, dass die ULA den Bereich unvollständig codiert und immer bei A15=1 Video interpretiert obwohl normalerweise nur der Bereich 48-64k aufgrund der Spiegelung Video Code enthalten kann. M1NOT ändert das Verhalten resp. macht eine vollständigere Adressdecodierung.

Man kann den Bereich 32-48k aber ohne Probleme als Datenbereich nutzen. Daher liegt dort auch oft HRG Speicher. :wink:
Wer seinen Computer ehrt, lebt nicht verkehrt.

Benutzeravatar
mrtinb
User
Beiträge: 62
Registriert: 30.12.2016, 07:16
Wohnort: Kolding, Denmark
Kontaktdaten:

Re: Frage zum 8Kb Speicher reservieren.

Beitrag von mrtinb » 06.11.2017, 07:00

Betrachten Sie es so:
16k-32k: Basic oder ML (oder Daten)
32k-64k: Basic oder Daten
8k-16k: Extra ML oder Daten, UDG
Martin
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube

funkheld
User
Beiträge: 193
Registriert: 16.11.2010, 18:20

Re: Frage zum 8Kb Speicher reservieren.

Beitrag von funkheld » 06.11.2017, 08:31

Danke für die Info.
Daher liegt dort auch oft HRG Speicher.
Also den Screen, den man sieht von HRG?


GRuss

Benutzeravatar
PokeMon
User
Beiträge: 4568
Registriert: 31.08.2011, 23:41

Re: Frage zum 8Kb Speicher reservieren.

Beitrag von PokeMon » 06.11.2017, 23:48

Ja.
Wer seinen Computer ehrt, lebt nicht verkehrt.

Antworten