C64Power Forum

Software => Programowanie => Wątek zaczęty przez: qus w 06 Lutego 2018, 10:10

Tytuł: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: qus w 06 Lutego 2018, 10:10
Mam dla Was coś ekstra!

Po co pisać w BASICu, V2 w dodatku, skoro możecie od razu pisać w assemblerze?

No, prawie...

Jeśli macie kawałek Linucha albo przynajmniej Cygwin/MinGW, to zapraszam do zbudowania sobie fantastycznego języka programowania dla ośmiobitowych zabytków.

Język nazywa się Atalan (ATAri LANguage  ;D) i przy umiejętnym pisaniu wypluwa kod assemblerowy zoptymalizowany tak dobrze, jakbyście pisali bezpośrednio w języku maszynowym.

Pełną specyfikację znajdziecie tu:

http://atalan.kutululu.org/

A dające się zbudować źródła - tu:

https://github.com/ssuukk/Atalan

Czemu o tym piszę? No cóż - to już prośba do zaawansowanych - przydałoby się trochę pomocy w ogarnięcu generatorów kodu dla naszego C64, ponieważ domyślnie Atalan generuje kod dla assemblera MADS pod Atari. Dla swoich projektów już częściowo przekonwertowałem instrukcje na ca65, odpowiadają za to pliki w katalogu:

cpu\m6502

m6502.asm - całkowicie przekonwertowany, jest OK, assembluje się. Ten plik zawiera kawałki "standardowej biblioteki Atalana", takie jak mnożenie, dzielenie, pisanie po ekranie.

m6502.atl - plik Atalana mówiący jak konwertować pośredni mikrokod atalana na assembler 6502 - tu jest trochę sałatki, ponieważ póki co tylko część instrukcji, tych, których potrzebowałem do moich projektów jest w formacie a65, reszta w MADS, co oczywiście może powodować że skompilowany plik assemblera też będzie zawierał mix mnemoników dla a65 i MADS (głównie chodzi o pseudokody dla rzeczy takich jak .byt, .word, tworzenie tablic itp.). Dodatkowo - w niektórych przypadkach brak tam konwersji mikrokodu na assembler i pewnych konstruktów, które Atalan teoretycznie ma, nie da się wykorzystać, DOPÓKI NIE DODA SIĘ ICH W TYM PLIKU w postaci kodu assemblerowego. Więc jest to dość łatwe, jak tylko rozkmini się minimalnie składnię tegoż pliku

I najfajniejsza chyba rzecz, którą ktoś miły mógłby chcieć pomóc rozwijać, to te pliki:

platform/c64/c64.atl i c64.asm

Pierwszy z nich zawiera np takie definicje:

borderColor @53280:color
backgroundColor @53281:color

Color: enum
 black
 white
 red
 cyan
 purple
 green
 blue
 yellow
 orange
 brown
 lightred
 garkgrey
 grey
 lightgreen
 lightblue
 lightgrey

Dzięki czemu potem w kodzie Waszego programu, kiedy chcecie czarną ramkę piszecie po prostu:

borderColor = Color.black
A Atalan, o ile w akumulatorze jest właśnie przypadkiem 0, podmieni tę linijkę na:

STA 53280
Fajnie?

Dalej w tymże pliku mamy definicję:

KLoad@$ffd5:  proc type:byte@cpu.a startAddr@(CPU.x,CPU.y):adr  -> state@cpu.c error@cpu.a lastByte@(cpu.x,cpu.y):adr  @cpu.a @cpu.x @cpu.y
Ale co znaczą te wszystkie symbole?

KLoad to procedura zawarta w pamięci pod adresem$ffd5 - to chyba jasne. Przyjmuje ona dwa argumenty, pierwszy nazywa się "type" i przenoszony jest przez rejestr A procesora, a drugi nazywa się startAddr i umieszczony zostanie w rejestach X i Y procesora. Procedura zwraca trzy wartości (serio!) zawarte w rejestrze C, A oraz adres w X+Y. I wywołujecie ją w swoim kodzie np. tak:

stan,blad,koniec = KLoad 1,$0800

Tadam? Fajnie?

Ostatnie krzaczki w linii informują generator kodu Atalana, że wywołanie tej proceduy wymaże zawartość rejestrów X, Y i A (zaawansowanym nie muszę tłumaczyć, po co to...)

Ten plik zawiera jeszcze parę innych pożytecznych skrótów, ale możnaby go rozszerzyć o wiele, wiele więcej, np. zmiany trybu graficznego, operowanie duszkami itp.

Jak ktoś jest chętny do pomocy, to zapraszam...
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: Raf w 06 Lutego 2018, 12:51
Kiedyś już o tym pisałem na forum, doczekal się ten projekt bibliotek dla c64, czy wciąż tylko Atari?
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: sajmosia w 06 Lutego 2018, 12:51
Twierdzisz, ze:

KLoad@$ffd5:  proc type:byte@cpu.a startAddr@(CPU.x,CPU.y):adr  -> state@cpu.c error@cpu.a lastByte@(cpu.x,cpu.y):adr  @cpu.a @cpu.x @cpu.y

Jest bardziej czytelne niz :

  LDX #$08
  LDY #$00
  LDA #$01
  JMP $FFD5

IMHO, Dla mnie to wyglada troche jak kolejne rozwiazanie do problemu, ktorego nie ma.

Pozdro.
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: qus w 06 Lutego 2018, 13:19
Kiedyś już o tym pisałem na forum, doczekal się ten projekt bibliotek dla c64, czy wciąż tylko Atari?

Projekt jest martwy. Jedyne biblioteki dla c64, które są to uzupełniony przeze mnie plik c64.atl

Dalsze jego rozszerzenie nie jest niczym trudnym.

Twierdzisz, ze:

KLoad@$ffd5:  proc type:byte@cpu.a startAddr@(CPU.x,CPU.y):adr  -> state@cpu.c error@cpu.a lastByte@(cpu.x,cpu.y):adr  @cpu.a @cpu.x @cpu.y

Jest bardziej czytelne niz :

  LDX #$08
  LDY #$00
  LDA #$01
  JMP $FFD5


Twierdzę że

stan,blad,koniec = KLoad 1,$0800 (1 - słownie: jedna linijka)

jest czytelniejsze niż:

  LDX #$08
  LDY #$00
  LDA #$01
  JMP $FFD5
  STA blad
  STX <koniec
  STY >koniec
  BCC obsluz_status
(8 - słownie OSIEM linijek)

I raczej nie jestem w tym odosobniony, jak sądzę...
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: V-12/Tropyx w 06 Lutego 2018, 13:21
W życiu nie zamienię:

  LDX #$08
  LDY #$00
  LDA #$01
  JMP $FFD5

na:

KLoad@$ffd5:  proc type:byte@cpu.a startAddr@(CPU.x,CPU.y):adr  -> state@cpu.c error@cpu.a lastByte@(cpu.x,cpu.y):adr  @cpu.a @cpu.x @cpu.y

Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: qus w 06 Lutego 2018, 13:28
No i słusznie, bo ta linijka:

KLoad@$ffd5:  proc type:byte@cpu.a startAddr@(CPU.x,CPU.y):adr  -> state@cpu.c error@cpu.a lastByte@(cpu.x,cpu.y):adr  @cpu.a @cpu.x @cpu.y

Nic nie robi... To fragment pliku nagłówkowego atalana... Czytanie ze zrozumieniem nie boli...
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: sajmosia w 06 Lutego 2018, 13:34
Twierdzę że

stan,blad,koniec = KLoad 1,$0800
jest czytelniejsze niż:

  LDX #$08
  LDY #$00
  LDA #$01
  JMP $FFD5

I raczej nie jestem w tym odosobniony, jak sądzę...

Tylko tak sie sklada, ze :

stan,blad,koniec = KLoad 1,$0800Nie znaczy nic bez:
KLoad@$ffd5:  proc type:byte@cpu.a startAddr@(CPU.x,CPU.y):adr  -> state@cpu.c error@cpu.a lastByte@(cpu.x,cpu.y):adr  @cpu.a @cpu.x @cpu.y

Co jeszcze bardziej komplikuje sprawe. Tutaj widac ewidentny brak doswiadczenia w programowaniu.

Znam magikow, ktorzy twierdzili, ze sie naucza "EF, Code First, LinQ" i wszystkiego wokolo, zeby sie nie musieli uczyc SQL.  EF jest w miare swieze, pelne bledow i z brakiem wielu rzeczy, ktore dostepne sa tylko w SQL. Na koniec dnia nie mieli wyjscia musieli sie nauczyc SQL, ktory jest na rynku od ~40 lat, stabilny jak skala i nie bez powodu wciaz uzywany.

Teraz tu jest piekne rozwiazanie, ktore zmusza cie do nauki innego podejscia do assemblera, niz nauczenie sie assemblera, wiec zanim zaczniesz od razu powiem Ci co sie stanie :

Kiedy juz sie nauczysz Atalana od deski do deski i juz bedziesz wiedzial wszystko, co mozna wiedziec na tema atalana, to stanie sie to wtedy, gdy staniesz przed problemem, ktory mozna zalatwic tylko w assemblerze i wrocisz do punktu wyjscia.

Zaden kompiler nie da Ci dokladnej ilosci cykli potrrzebnych na wykonanie Twojego kodu takze cokolwiek potrzebuje byc bardzo dokladne w czasie, napisane w czymkolwiek innym niz assemblerze odpada.

Tak czy inaczej, jesli uwazasz, ze jest wart uwagi to prosze bardzo :)

Powodzenia :)
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: Raf w 06 Lutego 2018, 13:36
Zacząłem pisać posta ale gdzieś go wcieli a dotyczył tego, że debugować i tak trzeba w czystym asemblerze.
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: sajmosia w 06 Lutego 2018, 13:39
Zacząłem pisać posta ale gdzieś go wcieli a dotyczył tego, że debugować i tak trzeba w czystym asemblerze.

Dokladnie :)

Przypomina mi to tekst nauczycielki od matematyki w podstawowce :

Cytuj
Nie kombinuj, tylko wez sie bracie do roboty

Pozdrawiam :)
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: qus w 06 Lutego 2018, 13:45
Tylko tak sie sklada, ze :

stan,blad,koniec = KLoad 1,$0800Nie znaczy nic bez:
KLoad@$ffd5:  proc type:byte@cpu.a startAddr@(CPU.x,CPU.y):adr  -> state@cpu.c error@cpu.a lastByte@(cpu.x,cpu.y):adr  @cpu.a @cpu.x @cpu.y

Co jeszcze bardziej komplikuje sprawe.

To tak komplikuje sprawę, jak istnienie pliku stdio.h komplikuje programowanie w C...

Cytuj
Tutaj widac ewidentny brak doswiadczenia w programowaniu.

Nie przejmuj się, masz jeszcze dużo czasu żeby się nauczyć. Kiedyś było trudno, ale teraz jest dużo materiałów online. Programowanie może być naprawdę wielką frajda!

Cytuj
Teraz tu jest piekne rozwiazanie, ktore zmusza cie do nauki innego podejscia do assemblera, niz nauczenie sie assemblera, wiec zanim zaczniesz od razu powiem Ci co sie stanie :

Kiedy juz sie nauczysz Atalana od deski do deski i juz bedziesz wiedzial wszystko, co mozna wiedziec na tema atalana, to stanie sie to wtedy, gdy staniesz przed problemem, ktory mozna zalatwic tylko w assemblerze i wrocisz do punktu wyjscia.

...ponieważ kompilatory kompilują kod do magicznego zestawu instrukcji, który jest zupełnie inny od niemagicznego asemblera, w którym da się zrobić dosłownie wszystko.

Cytuj
Zaden kompiler nie da Ci dokladnej ilosci cykli potrrzebnych na wykonanie Twojego kodu takze cokolwiek potrzebuje byc bardzo dokladne w czasie, napisane w czymkolwiek innym niz assemblerze odpada.

Ooooj, mnie się nie sipieszy! Zawsze skłonny jestem poświęcić szybkość dla ekspresywności.
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: sajmosia w 06 Lutego 2018, 13:52
Ooooj, mnie się nie sipieszy! Zawsze skłonny jestem poświęcić szybkość dla ekspresywności.

Nie chodzi o szybkosc czy ekspresywnosc, tylko synchronizacje w czasie :)

Poprosze o przyklad programu napisanego w Atalanie, ktory wyswietli cokolwiek w gornej albo dolnej ramce obrazu :)

Pozdrawiam.
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: qus w 06 Lutego 2018, 14:02
Słuchaj - jest tu cała masa osób, która chciałaby coś sobie napisać na C64 - a to "słówka", a to jakąś bazę danych, prostą grę czy "mój pierwszy program na c64". Trwa wątek o prostej podmiance polskich znaków...

I teraz pytanie - czy mają dłubać w Basicu V2 który umie dosłownie nic, flow kodu kontoluje poleceniem "goto" a zmieszczenie tego co po "then" w 80 znakach to czasem sztuka, czy może mogliby nauczyć się prostego i sympatycznego języka, który się kompiluje do źródła w assemblerze? PEEK, POKE, DATA, czy porządny język?

Poprosze o przyklad programu napisanego w Atalanie, ktory wyswietli cokolwiek w gornej albo dolnej ramce obrazu :)

Proszę o przykład gry z listy http://www.lemon64.com/games/votes_list.php, która wyświetla coś w górnej lub dolnej ramce, inaczej szkoda czasu na kodowanie czegoś tak bezużytecznego.

Jeśli znajdziesz przykład, to trudno - będę musiał spróbować...
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: sajmosia w 06 Lutego 2018, 14:23
https://www.youtube.com/watch?v=VfhJM2Gaeew

Nie wiem, czy jest na Twojej liscie, ale mysle, ze gre Bomb Jack chyba wiekszosc zna :)

Pozdro.
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: qus w 06 Lutego 2018, 14:27
No, cóż. Słowo się rzekło :D A jak się uda, to co?
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: sajmosia w 06 Lutego 2018, 14:32
To wtedy porownamy Twoj super latwy, prosty i czytelny kod do tego w assemblerze tutaj:

http://codebase64.org/doku.php?id=base:removing_the_top_bottom_border

I werdykt zostawimy czytelnikom :)

Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: qus w 06 Lutego 2018, 14:36
Którzy wypowiedzą się oczywiście na temat czytelności kodu w atalanie i w assemblerze? :D
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: sajmosia w 06 Lutego 2018, 14:42
Na razie nie mamy co porownac :)
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: qus w 06 Lutego 2018, 15:12
No ale wiesz - no risk no fun. Spodziewałem się jakiejś deklaracji typu - "to wtedy zjem swojego SIDa 6581 R4 AR z czosnkiem i cebulką".
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: Raf w 06 Lutego 2018, 15:41
A cc65 ujezdzaliscie?
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: qus w 06 Lutego 2018, 15:56
A Ty nie miałeś przypadkiem pomóc mi z konfigiem ld65?
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: sajmosia w 06 Lutego 2018, 16:12
No ale wiesz - no risk no fun. Spodziewałem się jakiejś deklaracji typu - "to wtedy zjem swojego SIDa 6581 R4 AR z czosnkiem i cebulką".

Nie ma sensu skladac jakichkolwiek deklaracji :)

A cc65 ujezdzaliscie?

Nie i SDCC Tez nie :)

IMHO Jest tyle materialu dostepnego na Assembler w necie, ze atakowanie czegokolwiek innego mija sie z celem, skoro pewne rzeczy mozna zrobic tylko w assemblerze...

Pozdro.
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: qus w 06 Lutego 2018, 16:42
Tchórz?
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: sajmosia w 06 Lutego 2018, 16:44
Tchórz?

Nie mam czego sie bac :)

Czekamy na program :)
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: Raf w 06 Lutego 2018, 19:13
A Ty nie miałeś przypadkiem pomóc mi z konfigiem ld65?
Jeszcze na to nie spojrzalem w praktyce, popatrzalme tylko na to co tam wkleiles :)
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: qus w 06 Lutego 2018, 19:36
Tchórz?

Nie mam czego sie bac :)

Czekamy na program :)

No, cóż. Nikt nie powie, że nie dałem Ci szansy z tego wybrnąć.

Do zobaczenia jutro, miłych snów.  ;D
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: sajmosia w 06 Lutego 2018, 20:17
No, cóż. Nikt nie powie, że nie dałem Ci szansy z tego wybrnąć.

Dobrze :):):)

Z niecierpliwoscia czekam, zeby sie przekonac jak bardzo mocno jestem pograzony :):):)

Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: SylwesterH w 07 Lutego 2018, 09:15
qus ja również uważam, że sajmosia ma rację . Mam wrażenie, że nie możesz do siebie dopuścić faktu, że nie masz racji, ale w prosty sposób sajmosia ci napisał, abyś poparł to przykładami. Myślę, że jak już tak bardzo chcesz programować "bejzikowym" stylem, to bym ci polecił np. KickAss IDE :)
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: qus w 07 Lutego 2018, 09:34
Słuchaj - niestety, przeciw Samosiei jest matematyka.

No i kod.

Szkoda tylko, że nie brnął w to dalej, aby zrobić z siebie idiotę, bo przynajmniej ja bym nie musiał.

Kończę redagować właśnie post.
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: qus w 07 Lutego 2018, 09:38
Zapraszam:

http://c64power.com/forumng/index.php?topic=8045.0
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: SylwesterH w 07 Lutego 2018, 10:43
Ja miałem na myśli, że sajmosia raczej miał rację odnośnie cyklowania w assemblerze. Szczerze mówiąc to sam jestem ciekaw, bo nigdy wcześniej nie słyszałem o języku programowania Atelan, więc zaczynam czytać ten link do wątku, który podałeś :)
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: qus w 07 Lutego 2018, 10:58
Jeżeli mał rację na temat cyklowania w asemblerze, to znaczy że musi istnieć coś innego niż assembler, do czego kompiluje się kod programu w języku wyższego poziomu. Trzeciej alternatywy nie ma...
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: hobocti77x w 10 Lutego 2018, 08:57
Jest jakis problem z msvcr100.dll . Kompilator sie uruchamia  wyskakuje komunikat o bledzie poczym kompilator konczy prace bez pliku wynikowego . Prosze o danie dzialajacej wersji tego pliku.
Jezyk jwwydaje sie ciekawy wiec chcialbym go potestowac.
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: qus w 10 Lutego 2018, 09:09
Oj, ale z Windowsami to ja Ci nie pomogę (nie to żebym był jeden z tych, co się brzydzą Widnowsów), po prostu nic na nich nie budowałem. Nie możesz spróbować na Linuxie?

Ale pan Google mówi:

Problem MSVCR100.dll - brak Microsoft Visual C++ 2010 x86

Dodatkowo - jeśli chcesz bawić się Atalanem, przygotuj się na trochę segfaultów - to właśnie je chcę wyeliminować. Jednak zawsze da się napisać kod nieco inaczej, aby je ominąć.

Sprawdź zaktualizowaną dokumentację tu:

https://github.com/ssuukk/Atalan

A i jeszcze :D Jeśli niechcący pobierzesz nowe źródła z gita, to program z przykłądu z tamtego wątku się nie skompiluje, bo SEI robi się już inaczej.
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: hobocti77x w 10 Lutego 2018, 09:19

Problem MSVCR100.dll - brak Microsoft Visual C++ 2010 x86
Problem w tym ze ta wersja przynajmniej u mnie nie dziala prawidlowo z kompilatorem (mam win 7) , znalazlem jeszcze z 5 innych i to samo.
Czytalem tu  http://atarionline.pl/forum/comments.php?DiscussionID=595 (http://atarionline.pl/forum/comments.php?DiscussionID=595) ze ten problem jest/ byl dosc powszechny, niestety nikt nie podal informacji ktora wersja dll dziala.

Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: qus w 10 Lutego 2018, 12:47
A pod czym budujesz? Mingw? Cygwin? A mózg łatwiej jakimś visual studuo? Są darmowe wersje.
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: malik_cjm w 10 Lutego 2018, 13:17
Skompilowalem za pomoca mingw.

https://drive.google.com/open?id=11F1lBxT_Q3bsuww0RFBTq_TZlkh7t6iT

Dajcie znac czy zadzialalo.
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: qus w 10 Lutego 2018, 14:50
Jeśli planujecie się tym bawić, to dodatkowo pamiętajcie, że:

1) potrzeba Wam jeszcze assemblera ca65 (albo samodzielnie wyedytować wynikowy plik assemblerowy do Waszego ulubionego assemblera, pamiętając o .org albo *=)

2) aby załadować assemblowany plik na c64 potzebujecie dodać do wynikowej binarki przynajmniej dwa bajty adresu ładowania, takie jak podaliście w org

3) na linuksie wszystko zbuduje się samo, łącznie z dwoma bajtami adresu i linią SYS xxxx w BASICu, aczkolwiek jest problem z konfiguracją linkera, która powoduje jakieś dziwne przesunięcia w adresach, więc tak jakby nie działało :D
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: hobocti77x w 10 Lutego 2018, 19:06
Skompilowalem za pomoca mingw.

https://drive.google.com/open?id=11F1lBxT_Q3bsuww0RFBTq_TZlkh7t6iT

Dajcie znac czy zadzialalo.
U mnie wyskakuje komunikat ze program jest niezgodny z moja wersja windows. Mam windows 7 32 bit UK
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: malik_cjm w 10 Lutego 2018, 19:08
Zapomnialem dopisac ze build tylko 64bity.
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: malik_cjm w 10 Lutego 2018, 23:32
Skopilowalem jeszcze na 32bity.

https://drive.google.com/open?id=11F1lBxT_Q3bsuww0RFBTq_TZlkh7t6iT
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: qus w 11 Lutego 2018, 18:23
OK, dla próbująych Atalane - zassijcie sobie z gita nowe pliki z katalogów cpu, platform oraz przykład z katalogu test/c64. Jest tam pokazane jak w Atalanie zrobić procedurę na przerwaniach. Kod nie testowany, więc pewnie jeszcze nie zadziała. Ale jak kto zna assembler, to sobie poprawi wynikowy plik.
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: Kisiel w 17 Marca 2018, 01:24
teaser !
Temat umarł czy jakiś hajden dra (g olo queen) gone ?
Tytuł: Re: Pisz w assemblerze lepiej nisz Budyń (znajomość assemblera niewymagana)!
Wiadomość wysłana przez: qus w 05 Kwietnia 2018, 09:06
Nie mam na razie czasu na pisanie dalej, ale skoro sam Kisiel się domaga, to chyba będę musiał musieć.