Moin Moin,
ich habe ein Problem mit dem wiederherstellen der alten Copperliste. Alles funzt soweit nur wenn ich versuche die alte Copperliste wieder zu aktivieren geht was schief und ich komme nicht mehr sauber aus dem PRG raus.
Anbei mal der Assembler Code. Ist mit dem SEKA3.2
gemacht.
Wäre cool wenn mir jemand sagt was ich falsch mache.
Schon mal thanx
init:
execbase = 4
openlibary = -552
ciaapra = $BFE001
coplist1 = $DFF080
forbid = -132
permit = -138
color00 = $DFF180
farbe1 = $0000
run:
move.l execbase,a6 ; System AUS
jsr forbid(a6)
clr.l d0
lea gfxname,a1
jsr openlibary(a6)
move.l d0,gfxbase
; move.l #MeinCopper,coplist1 ; Adresse der neuen Copperliste
Waitmouse:
move.w farbe1,$DFF180
add #$1,farbe1
move farbe1,d4
btst #6,$BFE001
bne Waitmouse
System_AN:
move.l gfxbase,a0 ;System AN
clr.l d0
jsr openlibary(a6)
move.l d0,a4
; move.l 38(a0),coplist1
jsr permit(a6)
clr.l d0
rts
gfxname:dc.b "graphics.libary",0
even
gfxbase:dc.l 0
MeinCopper:
dc.w color00,$0000
dc.w $8001,$fffe
dc.w color00,$0700
dc.w $a00f,$fffe
dc.w color00,$0000
copperliste_ende:
dc.w $ffff,$fffe
Navigation
«
«
«
Amiga Future
«
Community
«
Knowledge
«
Last Magazine
«
Service
«
Search
«
Social Media
«
Advertisement
«
Partnerlinks
Es werden für mehr Seite noch 12 (25) neue Abos benötigt.
12 (25) new 1-Year-subscriptions are required for more pages.
Make a Subscription NOW!
More Infos: http://25.amigafuture.de
12 (25) new 1-Year-subscriptions are required for more pages.
Make a Subscription NOW!
More Infos: http://25.amigafuture.de
Probleme mit der Copperliste
Alles über programmieren am Amiga, Pegasos, Aros...
Moderator: AndreasM
Da solltest du nochmal in Ruhe drüberschauen und dir überlegen, was jede einzelne Stelle tut.
Beispiel: zweimal OpenLibrary aber kein CloseLibrary
Ansonsten gibt es dort ein funktionierendes Beispiel: http://eab.abime.net/showpost.php?p=711170&postcount=5
Beispiel: zweimal OpenLibrary aber kein CloseLibrary
Ansonsten gibt es dort ein funktionierendes Beispiel: http://eab.abime.net/showpost.php?p=711170&postcount=5
-
- Grade reingestolpert
- Posts: 1
- Joined: 22.10.2017 - 09:58
Post by _StingRay_ »
Der Code enthält etliche Fehler und kann so nicht funktionieren!
1.Die graphics.library wird nie geöffnet, da der Name nicht
korrekt geschrieben wurde (es fehlt ein "r" bei library)!
gfxname:dc.b "graphics.libary",0
2. move.l gfxbase,a0 ;System AN
clr.l d0
jsr openlibary(a6)
Kann und wird auch nicht funktionieren! gfxbase wird zum einen NULL sein (siehe 1) und es macht absolut keinen Sinn, openlibrary hier aufzurufen, zudem die Parameter komplett falsch sind!
3. move.l d0,a4
; move.l 38(a0),coplist1
Selbst wenn der Code bei 2. korrekt wäre, würde hier auch nicht die Copperlist des Systems wiederhergestellt werden. GfxBase in a4, eine Zeile später wird GfxBase in a0 vorausgesetzt.
Fazit: Dieser einfache Code enthält soviele gravierende Fehler, dass Du Dir erstmal Grundlagen aneignen solltest, bevor Du wild drauflos codest. Ausserdem solltest Du in der Lage sein, einen Debugger zu bedienen, denn damit kannst Du solche Fehler selbst lokalisieren und beheben.
1.Die graphics.library wird nie geöffnet, da der Name nicht
korrekt geschrieben wurde (es fehlt ein "r" bei library)!
gfxname:dc.b "graphics.libary",0
2. move.l gfxbase,a0 ;System AN
clr.l d0
jsr openlibary(a6)
Kann und wird auch nicht funktionieren! gfxbase wird zum einen NULL sein (siehe 1) und es macht absolut keinen Sinn, openlibrary hier aufzurufen, zudem die Parameter komplett falsch sind!
3. move.l d0,a4
; move.l 38(a0),coplist1
Selbst wenn der Code bei 2. korrekt wäre, würde hier auch nicht die Copperlist des Systems wiederhergestellt werden. GfxBase in a4, eine Zeile später wird GfxBase in a0 vorausgesetzt.
Fazit: Dieser einfache Code enthält soviele gravierende Fehler, dass Du Dir erstmal Grundlagen aneignen solltest, bevor Du wild drauflos codest. Ausserdem solltest Du in der Lage sein, einen Debugger zu bedienen, denn damit kannst Du solche Fehler selbst lokalisieren und beheben.
Post Reply
4 posts
• Page 1 of 1
Return to “Amiga Programmieren”
Jump to
- Amiga Future
- ↳ Internes
- ↳ Termine
- Computer
- ↳ Amiga und Kompatible Allgemein
- ↳ Amiga und Kompatible Spiele
- ↳ Amiga und Kompatible Hardware
- ↳ Amiga Programmieren
- ↳ Amiga Emulation
- ↳ Amiga General Chat english
- ↳ Andere Systeme
- Sonstiges
- ↳ Kleinanzeigen - Classifieds
- ↳ OffTopic
- APC&TCP
- ↳ APC&TCP-News
- ↳ APC&TCP-Support
- ↳ CygnusEd Support
- ↳ DigiBooster Support
- ↳ Roadshow Support