Bok om Assembly 6502

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
Användarvisningsbild
Platis
Inlägg: 2464
Blev medlem: 24 november 2009, 20:19:28
Ort: Ljungby

Re: Bok om Assembly 6502

Inlägg av Platis »

Ny serie på tuben! :)
Användarvisningsbild
Hobbyisten
Inlägg: 2531
Blev medlem: 3 december 2017, 22:55:25

Re: Bok om Assembly 6502

Inlägg av Hobbyisten »

Hej haruki, jag råkar äga denna bok som jag köpte nån gång i tidernas begynnelse http://libris.kb.se/bib/7652360?vw=short Den är på den grundläggande nivå du söker. Finns tydligen att låna. Den riktar sig till processorerna Z80 och 6502. I den assemblerar man genom att skriva ett litet basicprogram som använder POKE för att skriva i minnesadresserna. Här är även en bok i pdf-format om den inte är för avancerad https://www.c64brain.com/wp-content/upl ... re_641.pdf

Jag skriver i denna tråd för att jag själv tragglar på samma nivå med min C64-replica nu. Jag sitter med denna assemblator nu https://csdb.dk/release/?id=85926 och kommer just nu inte vidare. Jag lyckas skriva memosymbolerna och värdena på data och register, exekvera, men får inte önskat resultat. Det verkar som om programmet ska ha decimala värden efter memosymbolerna, så om nån därute kunde hitta en dokumentation för nämnda assemblator så vore det tacksamt :)
guckrum
Inlägg: 1665
Blev medlem: 19 juni 2012, 09:04:27
Ort: Lund

Re: Bok om Assembly 6502

Inlägg av guckrum »

Det måste väl gå att felsöka? Hur ser ditt program ut, vad förväntar du dig och vad händer istället? Visa gärna.
Användarvisningsbild
Hobbyisten
Inlägg: 2531
Blev medlem: 3 december 2017, 22:55:25

Re: Bok om Assembly 6502

Inlägg av Hobbyisten »

Tack för svaret guckrum, jag vill bara som inledande testprogram ladda ett tal till ackumulatorn, addera ett annat tal till det och spara på vald adresss, valde 30122 decimalt vilket är inom users RAM. Om jag inte lägger RTS i slutet av instruktionerna så återvänder den till basictolken efter exekvering, men det rätta talet finns inte i registret, och minnet är fullt. Skriver jag RTS som sista instruktion så exekverar den även då och säger "started :" och "ready", men då blir jag kvar i assemblatorn (TASM). Går jag sedan manuellt till basictolken och PEEKar adressen så finns talet fortfarande inte där. Jag undrar om jag måste anropa adressen till assemblersnutten via SYS(x) från basictolken ? Problemet är att jag inte vet adressen till assemblersnutten. Jag begär inte att ni ska förstå av denna enkla beskrivning och ser som en liten utmaning att få det att fungera, men en manual till programmet vore bra som sagt :)
guckrum
Inlägg: 1665
Blev medlem: 19 juni 2012, 09:04:27
Ort: Lund

Re: Bok om Assembly 6502

Inlägg av guckrum »

Jag har inte använt den assemblern, är det kanske denna: http://turbo.style64.org/?

Om du assemblerar ungefär detta (antar att man kan sätta destinationsaddress som på första raden):

Kod: Markera allt

	* = $7d00
	lda #$0a
	adc #$01
	sta $1000
	rts
och kör "sys 32000" (dvs $7d00) borde programmet köra och stoppa värdet 11 ($0a + $01 = $0b) på address 4096 ($1000)?
Användarvisningsbild
Hobbyisten
Inlägg: 2531
Blev medlem: 3 december 2017, 22:55:25

Re: Bok om Assembly 6502

Inlägg av Hobbyisten »

hej guckrum, nja assemblatorn jag använder länkade jag till ovan. Turbo macro pro som du länkar till körde jag huvudet i väggen med att få igång. Kruxet är att jag inte vet hur jag ska återvända till basic sedan jag kört TASM.
Användarvisningsbild
Hobbyisten
Inlägg: 2531
Blev medlem: 3 december 2017, 22:55:25

Re: Bok om Assembly 6502

Inlägg av Hobbyisten »

Jag har lyckats starta den näst sista revisionen av turbo macro pro, problemet är bara att den inte lagrar ackumulatorns värde i angiven minnesadress. Det är alltså TMP+REU jag använder, REU är för att hantera minnesexpansion, men har grejat mycket nu utan att få assemblatorn att skriva i THE C64 egets minne :humm:
Huvudmenyn för att hantera externt minne har R som nyckel http://turbo.style64.org/docs/turbo-macro-pro-editor

Som lite kuriosa kommer här C64:ans minneskarta. Undrar om den är samma på min emulator ?
vmd-map-c64.png
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Hobbyisten
Inlägg: 2531
Blev medlem: 3 december 2017, 22:55:25

Re: Bok om Assembly 6502

Inlägg av Hobbyisten »

Kommer inte vidare med assembler till min emulator THE C64. Både program och dator verkar buggiga och 1+1 blir 3 i det fallet, får väl använda datorn som den spelmaskin den huvudsakligen är. Vill man assemblera på 6502/6510 kan man lika gärna göra detta på en crossassembler (till Windows i mitt fall).
guckrum
Inlägg: 1665
Blev medlem: 19 juni 2012, 09:04:27
Ort: Lund

Re: Bok om Assembly 6502

Inlägg av guckrum »

Eller så kan du använda en hederlig "maskinkodsmonitor", dvs en radassembler + disassembler som enkelt får plats på några kilobyte i C64ans minne utan expansioner etc. Det var så man gjorde på stenåldern. Antagligen snabbare att komma igång på det sättet också.
Användarvisningsbild
Hobbyisten
Inlägg: 2531
Blev medlem: 3 december 2017, 22:55:25

Re: Bok om Assembly 6502

Inlägg av Hobbyisten »

Jag har kommit att fatta att om man expanderar datorns minne så kan vissa adresser i RAM-minnet ändras. Den enda youtubevideon som finns om assembler på THE C64, där säger han att man ska köra Turbo Macro Pro - varianten UTAN minnesexpansion (REU). Den har jag inte lyckats ladda in än, men den här gåtan börjar närma sig sin lösning hoppas jag :)
guckrum
Inlägg: 1665
Blev medlem: 19 juni 2012, 09:04:27
Ort: Lund

Re: Bok om Assembly 6502

Inlägg av guckrum »

Ja, CPUn har 16 adressledningar och kan "bara" adressera 65536 adresser. Om man redan har 64kB RAM och vill stoppa in mera måste man alltså byta ut delar av det minne CPUn "ser". C64an gör ju detta från början, det är 64kB RAM och sedan ligger det diverse ROM överlagrat på detta RAM. Vill du använda allt RAM måste du alltså switcha bort ROMen, det går inte att ha båda samtidigt. Undvik extraminne, det var ingen som använde det då det begav sig och jag har svårt att se att det ger dig några fördelar i den fas du befinner dig.
Användarvisningsbild
Hobbyisten
Inlägg: 2531
Blev medlem: 3 december 2017, 22:55:25

Re: Bok om Assembly 6502

Inlägg av Hobbyisten »

Kan man kan switcha bort ROM:et från CPU'n ? Där finns ju instruktionerna i hur den ska arbeta med RAMets instruktioner, hur cursorn står, vilken tangent som trycks ned osv. Om du säger att den switchar bort bara basictolkens ROM (som är stort) så är jag dock med.
guckrum
Inlägg: 1665
Blev medlem: 19 juni 2012, 09:04:27
Ort: Lund

Re: Bok om Assembly 6502

Inlägg av guckrum »

Du kan switcha bort både basic- och kernal-ROMen och använda RAMet som ligger "under".
Användarvisningsbild
anders_bzn
Inlägg: 5431
Blev medlem: 17 december 2008, 19:22:18
Ort: Kävlinge
Kontakt:

Re: Bok om Assembly 6502

Inlägg av anders_bzn »

IMG_20200822_122745.jpg
Finns på svenska. Rodnay Zaks har också skrivit en om Z80.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
guckrum
Inlägg: 1665
Blev medlem: 19 juni 2012, 09:04:27
Ort: Lund

Re: Bok om Assembly 6502

Inlägg av guckrum »

Ja, det var den jag lärde mig av också.
Skriv svar