[#1] ASM-PROblem
Witajszyn!

Sprawa jest następująca: używam sobie WinUAE 1.0.0 + wb3.1 oraz asmpro 1.16i. Jest taki prosty programik z copperlistą, której adres ładujemy

do COP1LCH i LCL. Prog jednak zamiast wyświetlać to, co teoretycznie chyba powinien, tworzy dziwne efekty na ekranie. Pod debuggerem klik

powoduje jeszcze wyjście z programu, ale pod wb'em szósty bit rejestru od myszki zdaje się być ciągle wyzerowany. Źródełko wygląda tak:

COP1LCH	=	$dff080	;starsze slowo
COP1LCL		=	$dff082	;mlodsze slowo
COPJMP1		=	$dff088	;starter cp1
KLEECK		=	$bfe001

start:	move.l #copper_list, COP1LCL
				;wpisanie adresu copperlisty do OBYDWU rejestrow (move.L)
	move.w #0, COPJMP1
				;uruchomienie copperlisty
w_mouse:
	btst #6, KLEECK
	bne w_mouse
	rts
	
copper_list:
	dc.l	$01000000
	dc.l	$01800000	;do kom. $180 wysylamy wart. koloru tla
	dc.l	$4001fffe		;czekamy na kolumne 76 i wiersz 3
	dc.l	$01800fff	;tlo biale
	dc.l	$4101fffe		;czekamy na 4e
	dc.l	$01800000	;tlo czarne
	dc.l	$fffffffe		;koniec copperlisty


Jak widać, prawie na żywca przepisane z książki Adama Doligalskiego. :) Tam jednak ów Pan nie wspominał błedzie, jaki mi się trafił. Co więc jest

nie tak?

BTW: Jakiś pomysł na zmuszenie asm'a pro do zmiany rozdzielczości (opcja select screen mode istnieje tylko na guziku...).
BTW2: ASM-One1.49RC-1 (i trochę wcześniejsze wersje także) przy uruchamianiu wykazuje niejaki error #80000006 - da się coś z tym zrobić?

pozdrawiam serdecznie
Nawrócony z PC ;)

[#2] Re: ASM-PROblem

@NzPC, post #1

powinienes miec pasy poziome..

hmm uzywasz winuae w trybie aga??
Jezeli tak to poszukaj na (ami)necie koda ktory
umozliwia poprawne uruchomienie copperlisty na ukladach aga

[#3] Re: ASM-PROblem

@NzPC, post #1

Nie ufałbym bezgranicznie emulatorowi na Twoim miejscu.
Właśnie dlatego programowanie kości specjalizowanych bez systemu ssie. ;)

[#4] Re: ASM-PROblem

@AmiChris, post #2

"powinienes miec pasy poziome.."

Efektem z pasami jest, ale raczej nie taki jakiego chciałem - ot, jakieś śmieci z bufora (wyglądają jak workbench w designie typu noise ;) ), dokładnie sprawdzają się tu słowa Mini'ego...

Co do łatki - mogę prosić o jakieś konkrety?

[#5] Re: ASM-PROblem

@NzPC, post #1

Witam

Po pierwsze musisz mieć włączoną opcje safety w AsmPro - to pozwoli Ci pisać właśnie programy, które nie zabijają systemu i odtwarzają system; to właśnie robi ASmPro z opcją safety.

Teraz najważniejsze wpisz przed copperlistą coś takiego:
SECTION copper,DATA_C

To powie Asemblerowi, że copperlista jest umieszczona w Chip Ram, czyli tak jak powinno być. Zawsze umieszczaj sekcje, bo nie wszyscy mają sam Chip w swoich kompach a raczej mało jest osób które nie mają FAST ram (ewentualnie SLOW ram). Pamiętaj, że amiga wymaga by pewne dane były w CHIP ram (dane dla blittera , coppera, spriajty). Stosuj wtedy właśnie SECTION jakaśnazwa,DATA_C. Warto poczytać sobie o SECTION.

Popełniłeś podstawowy błąd powinno być
start: move.l #copper_list,COP1LCH

Bo u Ciebie było move.l #copper_list,$dff082, co modyfikowało kawałek copperlisty 1 i copperlisty 2.


Powinno zadziałać. Pozostaje jeszcze dodać na końcu copperlisty jeszcze raz tajemnicze $fffffffe - zdaje się a1000 ze starymi kościami tego potrzebowały.

Jeśli masz AsmPro odpalonego w PAL to na pewno zadziała, sprawdzałem w DBLNTSC też działa ale są przekłamania bo monitor nie chwyta o co chodzi, bo jest źle skonstruowana copperlista dla takiej rozdzielczości.

Odpalaj AsmPro w PAL , jeśli chcesz bez większego wysiłku - nie trzeba pisać startupa - zobaczyć przykłady np z książki Adama Doligalskiego.

A jeśli chodzi Ci o zmiane rozdzielczości np ASmPRo to zmien i save. AsmPRo nagra preferencje do ENVARC: i po kłopocie. Oczywiscie musisz mieć zainstalowane te rozdzelczośći, ale jeśli nie grzebałeś w startup-sequence to powinieneś mieć zainstalowane co trzeba.

A propos BTW2: możliwości są dwie:
1) odpalić ASm-One na prawdziwej amidze
2) dac sobie spokój z AsmOne i pobawić się innym/lepszym asemblerem (np Barfly)
W przypadku 2) trzeba już napisać procedure/y zabijające i oddawające system

pozdrawiam

[#6] Re: ASM-PROblem

@asman, post #5

Worx! Jeszcze tylko problem z klikiem pozostał - brak reakcji po odpaleniu z CLI...

Dzięki, pozdrawiam

[#7] Re: ASM-PROblem

@NzPC, post #4

to nie jest latka tylko kod startowy dzieki ktoremu program bedzie dzialal (prawie)zawsze dobrze...
zabij mnie ale nie pamietam nazwy...

[#8] Re: ASM-PROblem

@NzPC, post #6

Bez porządnych procedur typu "zabij system" i "oddaj system" tego problemu nie rozwiążesz. Poszukaj takich routinek na sieci ewentualnie daj znaka do prześle Ci.

pozdrawiam

Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem