Någon guru på assembler till Intel 8035.

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
Mickecarlsson
EF Sponsor
Inlägg: 4797
Blev medlem: 15 april 2017, 18:06:15
Ort: Malmö
Kontakt:

Någon guru på assembler till Intel 8035.

Inlägg av Mickecarlsson »

Finns det någon här som är guru på assembler till 8035 (8048-familjen)?
Jag behöver ett litet debugprogram till mitt Compugame 66, och vet minst två till som har samma spel med fel som lär behöva detta.
Programmet ska loopa igenom ett några adresser som styr lamporna och en annan adress som styr de multiplexade 7-segments LED’na.
Varje adress tar 8 databitar, och de ska loopas decimalt 1, 2, 4, 8, 16, 32, 64 och 128, dvs, 000 0001 till 1000 000 i 8 steg.
Det är 5 adresser med 8 bitar plus de multiplexade LED’erna.

Jag har min (begränsade) kunskap på 6809, och inlärningströskeln för en ny processor är rätt stor känner jag.

Någon?
Användarvisningsbild
MiaM
Inlägg: 12535
Blev medlem: 6 maj 2009, 22:19:19

Re: Någon guru på assembler till Intel 8035.

Inlägg av MiaM »

Jag har aldrig skrivit kod för 8048/8748, men har en bok om att programmera den, som jag haft sen stenåldern. Tror typ gallrad biblioteksbok eller nåt sånt.

Ett kanske-tips är att Videopac G7000 / Magnavox Oddysey 2 också har 8048.

Om du bara vill att koden ska mata ut totalt 40 olika utdata i en lång loop så kan du i värsta fall skriva koden som att bara ladda värden och sen mata ut dem, ett i taget, utan att ens lära dig hur man skiftar bitar, gör loopar osv. Även ineffektivaste utrullade loppen på detta sätt ryms ju många gånger om i minsta EPROM:et du kan ha.

Annars är denna processor minst sagt lite speciell.

En hårdvarugrej värd att veta är att alla I/O-portar agerar antingen inport med pull-up eller så skickar de ut en nolla, och när man slår om till inport med pull-up så om jag minns rätt så skickar de en kort "etta"-puls för att få bättre flanksvar än vad en trött pull-up orkar.

Det verkar finnas asssemblator på github t.ex.

Den här guiden verkar vara en bra crash course:
https://jhnbyrn.github.io/951-KLR-PAGES ... _code.html

OBS att Intel säger "mov" men menar "load". Alltså Intel-mov är baklänges jämfört med t.ex. 68000, VAX med flera. (Jämför också att Zilog för Z80, som har en utökad variant av instruktionerna i 8080/8085, valde att döpa om mov till ld). Detta kan väl ställa till en del. Det känns som att man vill nog peta på assemblatorn så att mov istället skrivs som ld för att minimera risk.

Hur som helst så verkar det lätt att skriva kod som laddar register med ett värde och sen skriver den till I/O, och efter att ha gjort detta ett antal gånger hoppa tillbaka till början igen.
Castor
Inlägg: 2128
Blev medlem: 24 mars 2012, 13:03:49

Re: Någon guru på assembler till Intel 8035.

Inlägg av Castor »

Jag har skrivit en del för 8035, men det är länge sen, därefter har jag skrivit mycket för 8031 och dess senare släktingar.
Någon guru har jag nog aldrig varit men om du specar mera noggrant vad du vill göra så kanske jag kan hjälpa dig att komma igång.
Ett schema på hårdvaran är väl en bra start?
Användarvisningsbild
Mickecarlsson
EF Sponsor
Inlägg: 4797
Blev medlem: 15 april 2017, 18:06:15
Ort: Malmö
Kontakt:

Re: Någon guru på assembler till Intel 8035.

Inlägg av Mickecarlsson »

Tack Castor,
Jag håller på att slutföra schemat, hittade en del tokiga fel i det första jag gjorde, slutför det nya förhoppningsvis i dag eller i morgon.
Jag vet inte om du kollat in projekttråden om spelet, det är ett CPU-kort, ett stort lamp-kort där det sitter ett ljudkort och ett LED-kort och ingångar för knappar.
Har suttit ett par dagar med en ”beeper” och spårat ledningsbanor på lamp-kortet till de två 41612-kontakterna. Jag kunde nu reda ut vilka utgångar på CPU-kortet som driver vad på lamp-kortet och hur LED-multiplexern funkar.
Jag har ett originalschema, men det är i så dålig kvalitet att man knappt kan se vilka pinnar det är på IC’na.

Jag återkommer inom kort.

EDIT: här är tråden om spelet: viewtopic.php?t=103452
Användarvisningsbild
Mickecarlsson
EF Sponsor
Inlägg: 4797
Blev medlem: 15 april 2017, 18:06:15
Ort: Malmö
Kontakt:

Re: Någon guru på assembler till Intel 8035.

Inlägg av Mickecarlsson »

Här är ett icke färdigt schema :D
Det mesta är på plats, ett par tåtar till som ska letas upp vart dom tar vägen, städa upp ett misstag jag hittade då jag antog :( att det såg likadant ut. Vilket det inte gör.
Castor, du kan se hur det ser ut. Vad jag kan tolka det till så styrs utgångarna via U15 (4028) på adresserna
0x100 - LED multiplexer
0x101 - U-A2
0x102 - U-A4
0x103 - U-A5
0x104 - U-A6
0x105 - U-A8
Alla 74LS373

Ingångarna P1.0 - P1.5 tillsammans med T1 är för knappar. T0 är kopplad till en omkopplare, antingen 1 eller 0 på denna ingång.
P2.3 styr vilket EPROM som ska läsas, finns bara ett, så den har egentligen ingen funktion.

P1.6, P1-7, P2.4, P2.5 och P2.6 är statiska omkopplare som ställer om funktioner i spelet. De är antingen 1 eller 0, standard är att P1.6 och P2.5 är 1.

I första skedet vill jag testa alla utgångar, dvs, en 1:a på en utgång på 74LS373 ger jord på ULN2003 som tänder en lampa.
Loopa igenom alla utgångarna, tänd en lampa i taget. När alla utgångar är loopade, gör samma sak igen, fast låt lamporna bli tända, detta för att lasta spänningsdelen och se om där är något som ballar ur.
Sak samma med 7-segmentarna. Dessa kan testas i en loop, ett segment och en display i taget. Loopa a-g (dp används inte) en display i taget. Loopa sen alla displayerna, för att till sist ha alla segmenten tända på alla displayer.

Jag har försökt dissassemblera prommet, men får en tokig del mitt i koden, en ogiltig OP, ska se om jag kan köra det i en emulator i stället.

Vill du ha schemat i KiCad 9 fixar jag det. Kommer att ladda upp det inom kort till GutHub.

EDIT: Nyare schema längre ner i tråden
Senast redigerad av Mickecarlsson 13 maj 2025, 09:31:34, redigerad totalt 1 gång.
Användarvisningsbild
MiaM
Inlägg: 12535
Blev medlem: 6 maj 2009, 22:19:19

Re: Någon guru på assembler till Intel 8035.

Inlägg av MiaM »

Som sagt, dessa mikrokontrollers kan inte ge en "etta" ut. De antingen skicka ut en nolla, eller agera ingångar med pull-up.

För att testa resten av hårdvaran så kan du kolla databladet hur stark denna pull-up är, och bara köra motsvarande motstånd med mikrokontrollern urplockad ur sin sockel.

Såklart vore ett testprogram bättre, men ändå.
Användarvisningsbild
Mickecarlsson
EF Sponsor
Inlägg: 4797
Blev medlem: 15 april 2017, 18:06:15
Ort: Malmö
Kontakt:

Re: Någon guru på assembler till Intel 8035.

Inlägg av Mickecarlsson »

Ehhhh, alla utgångar i spelet drivs av 74LS373 och de styrs via en adressavkodare och utgångarna latchas med 8 databitar.
Tror du behöver kolla schemat Mia :D
Användarvisningsbild
MiaM
Inlägg: 12535
Blev medlem: 6 maj 2009, 22:19:19

Re: Någon guru på assembler till Intel 8035.

Inlägg av MiaM »

Ja men då är det bara att ta ur 8035 ur sin sockel. Alla ULN ska driva då.
Användarvisningsbild
Mickecarlsson
EF Sponsor
Inlägg: 4797
Blev medlem: 15 april 2017, 18:06:15
Ort: Malmö
Kontakt:

Re: Någon guru på assembler till Intel 8035.

Inlägg av Mickecarlsson »

Nja, kolla schemat, det sitter en 74LS373 mellan CPU och resten av 74LS373 som driver ULN’erna.
Finns inte en chans att de latchar ut data på utgångarna utan CPU.
Användarvisningsbild
Mickecarlsson
EF Sponsor
Inlägg: 4797
Blev medlem: 15 april 2017, 18:06:15
Ort: Malmö
Kontakt:

Re: Någon guru på assembler till Intel 8035.

Inlägg av Mickecarlsson »

Nyare schema, det tar tid, men snart är jag framme vid ett användbart schema.
Senast redigerad av Mickecarlsson 13 maj 2025, 15:20:36, redigerad totalt 1 gång.
Användarvisningsbild
Mickecarlsson
EF Sponsor
Inlägg: 4797
Blev medlem: 15 april 2017, 18:06:15
Ort: Malmö
Kontakt:

Re: Någon guru på assembler till Intel 8035.

Inlägg av Mickecarlsson »

Och för den som vill grotta ner sig i koden till spelet har jag till sist lyckats disassemblera epromet.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Mickecarlsson
EF Sponsor
Inlägg: 4797
Blev medlem: 15 april 2017, 18:06:15
Ort: Malmö
Kontakt:

Re: Någon guru på assembler till Intel 8035.

Inlägg av Mickecarlsson »

Ny version av schemat, fixade till en pinsam feldragning av förbindelse.
EDIT: Nyare schema längr ner i tråden
Senast redigerad av Mickecarlsson 15 maj 2025, 11:03:04, redigerad totalt 1 gång.
ELTompa
Inlägg: 520
Blev medlem: 27 februari 2017, 22:13:28
Kontakt:

Re: Någon guru på assembler till Intel 8035.

Inlägg av ELTompa »

Kul att se schema. Men kan du inte reducerade storleken, packa det bättre. Som det är nu går det inte att zoom in så man ser nått i mobilen :)
Användarvisningsbild
Mickecarlsson
EF Sponsor
Inlägg: 4797
Blev medlem: 15 april 2017, 18:06:15
Ort: Malmö
Kontakt:

Re: Någon guru på assembler till Intel 8035.

Inlägg av Mickecarlsson »

Jag kanske gör det senare, just nu är fokus på att få dit alla komponenter, och jag vill ha allt på ett blad. I KiCad väljer du symbolen nr 2 på höger sida, cursorn blir då rund och ett klick på en ledare visar hela signalvägen med highlight.
Då kan man se vart signalen tar vägen.
Hade det uppdelar innan, men det blev ett j-a hoppande mellan olika scheman.
Schemat är inte gjort för mobiltelefoner :D
Användarvisningsbild
MiaM
Inlägg: 12535
Blev medlem: 6 maj 2009, 22:19:19

Re: Någon guru på assembler till Intel 8035.

Inlägg av MiaM »

Förslag/klagomål:

Schemat går säkert lätt att läsa för dig som jobbat med burken ett tag.

Men för alla andra så är det helt oläsligt med avseende på LED-displayerna när namnen på signalerna är nära på slumpmässigt valda.

Tips/önskemål: Döp om signalerna så att de heter LEDa, LEDb och LEDdp för segmenten och LED1...LED14 för common på varje sjusegmentdisplay.

Rekommenderar också att bryta ut välkända signaler som _RESET så att de inte visas som linjer utan bara "dyker upp".
Skriv svar