Toon posts:

Taal voor Doctor v64

Pagina: 1
Acties:
  • 112 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik hoop dat deze topic mag omdat ik toch vrij specifiek ben.

Er zijn veel vragen over welke taal het beste is om mee te beginnen. Daar zijn genoeg topics over, met veel antoorden. Ze vragen dan vaak wat hun doel is.
Ik wil uiteindelijk graag mijn doctor v64 bios programeren. Dat gaat niet makelijk natuurlijk, en ik ben daar meschien niet eens slim genoeg voor. Maar dat weet ik pas als ik het probeer.
Ik neem aan dat niet alle talen geschikt zijn voor dat doel, en er zijn zeker wat die dat wel zijn maar niet geschikt zijn me te beginnen. (Ik heb helemaal geen ervaring met programeren.)
Ik ben niet geintereseerd in internet (webpagina's enzo), maar echt in exotiese hardware.
Welke weg(en) kan ik nemen? Zoals begin taal, en vervolg daarop?

  • Boss
  • Registratie: September 1999
  • Laatst online: 14-02 16:23

Boss

+1 Overgewaardeerd

Ik ken de doctor v64 niet (linkje?) maar volgens mij is C of C++ ongeveer de enige taal die naar zowat iedere processor op aarde te compilen is.

Dat lijkt me een goed begin dus.

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


  • Paitor
  • Registratie: Maart 2001
  • Laatst online: 18-01-2025

Paitor

rages doen :P

Boss schreef op dinsdag 22 augustus 2006 @ 16:10:
Ik ken de doctor v64 niet (linkje?) maar volgens mij is C of C++ ongeveer de enige taal die naar zowat iedere processor op aarde te compilen is.

Dat lijkt me een goed begin dus.
Ik geloof dat het een mod-chip voor de N64 betreft, met cheatcodes / voorgeprogrammeerde trainers?
In ieder geval is een taal als C inderdaad wel aan te raden, om direct met een assembly taal bezig te gaan lijkt me wel heel zwaar.

Live Life to the Max | Kom op konijntje doe maar huppele wiebele


Verwijderd

Bedoel je dit apparaat?. Dan zul je 6502 machinetaal moeten leren. Op zich heel simpel maar de vraag is wat je met het apparaat precies wilt doen. Met een emulator kun je veel meer en ze zijn veel gebruikersvriendelijker.

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
Verwijderd schreef op dinsdag 22 augustus 2006 @ 16:17:
Bedoel je dit apparaat?. Dan zul je 6502 machinetaal moeten leren. Op zich heel simpel maar de vraag is wat je met het apparaat precies wilt doen. Met een emulator kun je veel meer en ze zijn veel gebruikersvriendelijker.
Als je totaal geen programmeer-ervaring hebt, is 6502 ASM wel het laatste waaraan je moet beginnen. Als CPU om ASM voor te leren is de 6502 dan wel weer erg geschikt.

Als die Doctor V64 BIOS echt heilig voor je is, lijkt het me het beste om van begin af aan te leren programmeren op de 6502. Dus je neemt een C64 of Atari XE/XL emulator en begint daarop met BASIC. Als je dat een beetje kunt stap je over op C, en wanneer je dat een beetje onder de knie hebt stap je over op ASM. De laatste stap is dan de C64/Atari emulator in te wisselen door de echte Doctor V64 en z'n BIOS.

Al ontgaat me het nut ervan totaal. Is het niet dat je gewoon homebrew voor de N64 wilt maken??

[ Voor 31% gewijzigd door Genoil op 22-08-2006 18:23 ]


Verwijderd

Topicstarter
Verwijderd schreef op dinsdag 22 augustus 2006 @ 16:17:
Bedoel je dit apparaat?. Dan zul je 6502 machinetaal moeten leren. Op zich heel simpel maar de vraag is wat je met het apparaat precies wilt doen. Met een emulator kun je veel meer en ze zijn veel gebruikersvriendelijker.
Ja, het is dat aparaat.
Genoil schreef op dinsdag 22 augustus 2006 @ 18:09:
[...]


Als je totaal geen programmeer-ervaring hebt, is 6502 ASM wel het laatste waaraan je moet beginnen. Als CPU om ASM voor te leren is de 6502 dan wel weer erg geschikt.

Als die Doctor V64 BIOS echt heilig voor je is, lijkt het me het beste om van begin af aan te leren programmeren op de 6502. Dus je neemt een C64 of Atari XE/XL emulator en begint daarop met BASIC. Als je dat een beetje kunt stap je over op C, en wanneer je dat een beetje onder de knie hebt stap je over op ASM. De laatste stap is dan de C64/Atari emulator in te wisselen door de echte Doctor V64 en z'n BIOS.

Al ontgaat me het nut ervan totaal. Is het niet dat je gewoon homebrew voor de N64 wilt maken??
Geen homebrew, ben niet echt geintereseerd in games schrijven. Ik heb genoeg aan de gene die er zijn.

Voorbeeld: De dockter v64 heeft een ide cd-rom. En dan lijkt het me wel mogelijk de bios zo te schrijven dat hij met een HDD om kan gaan. (en meer natuurlijk).
Ik heb ook veel oude computer hardware (waarvan ik bij de helft niet eens weet wat het is), en om daarvoor ook "dingen" te schrijven / maken lijkt me ook heel interesant. Dus kort gezegt, controle krijgen over een stuk hardware. Dan laat ik even achterwegen dat ik dan kennis moet hebben over de werking wat dat stuk hardware.
Zou het dan een goed idee zijn om met BASIC te beginnen en waneer ik dat begrijp over te gaan naar C/C++? Of is ASM beter voor harware? Het gaat me om het begin, als dat er is komt de rest vanzelf wel. (zo gaat het meestel :) )
Als er meer mogelijkheden zijn is het ook goed, kies ik gewoon de gene die mij het best bevalt.
Maar hou er wel rekening mee dat ik nog nooit iets heb geschreven (op een simpele batch na dan :P ).

  • Johnny
  • Registratie: December 2001
  • Laatst online: 13-02 11:27

Johnny

ondergewaardeerde internetguru

Heb je op het moment al programmeerkennis?

Het programmeren van een interface met hardware is niet zomaar iets waar je makkelijk mee kan beginnen, je hebt ook documentatie/kennis nodig van de hardware waar je mee wilt werken.

[ Voor 34% gewijzigd door Johnny op 22-08-2006 18:59 ]

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


  • MetroidPrime
  • Registratie: Oktober 2003
  • Laatst online: 25-01 09:16

MetroidPrime

Turn it up loud, captain!

Verwijderd schreef op dinsdag 22 augustus 2006 @ 18:47:
Voorbeeld: De dockter v64 heeft een ide cd-rom. En dan lijkt het me wel mogelijk de bios zo te schrijven dat hij met een HDD om kan gaan. (en meer natuurlijk).
Ik heb ook veel oude computer hardware (waarvan ik bij de helft niet eens weet wat het is), en om daarvoor ook "dingen" te schrijven / maken lijkt me ook heel interesant. Dus kort gezegt, controle krijgen over een stuk hardware. Dan laat ik even achterwegen dat ik dan kennis moet hebben over de werking wat dat stuk hardware.
Zou het dan een goed idee zijn om met BASIC te beginnen en waneer ik dat begrijp over te gaan naar C/C++? Of is ASM beter voor harware? Het gaat me om het begin, als dat er is komt de rest vanzelf wel. (zo gaat het meestel :) )
Als er meer mogelijkheden zijn is het ook goed, kies ik gewoon de gene die mij het best bevalt.
Maar hou er wel rekening mee dat ik nog nooit iets heb geschreven (op een simpele batch na dan :P ).
Voor zoiets moet je meestal wel assembler gebruiken. Het is aan te raden om te beginnen met C (eventueel door een andere taal als opstapje te nemen, zoals bijvoorbeeld Java) en om pas daarna assembler te leren. Dan moet je je ook nog eens gaan verdiepen in hoe de hardware werkt en hoe het filesystem dat je wilt gaan gebruiken werkt. Dit is wel een erg grootschalig project voor iemand zonder programmeerervaring. Je moet er dus rekening mee houden dat de kans groot is dat je het nooit af krijgt.

Het is misschien verstandiger om eerst uit te zoeken of iemand anders al zoiets een keer voor elkaar gekregen heeft.

"Some girl on the street outside the bar just asked me if I was saved yet." "Yeah? What did you say?" "I told her 'I saved at the checkpoint a couple of minutes back and I can reload from there if I die.'


  • JeromeB
  • Registratie: September 2003
  • Laatst online: 29-12-2025

JeromeB

woei

Misschien moet je maar eerst eens JavaScript proberen. 8)7

Ik begrijp niet waarom iemand eerst een programmeertaal moet leren als hij zich wil bezig houden met hardware-architectuur/embedded-systemen. Ik kan mij nog enigszins indenken dat het op den duur handig is om een lagere programmeertaal (bijv. C) leren, maar dat lijkt mij in eerste instantie niet nodig.

Ik zou voorral veel informatie opzoeken over de werking van embedded-systemen, interfaces en andere hardware-architecturen (inc. assembly). Dit is waarschijnlijk niet makkelijk. Documentatie is soms moeilijk te begrijpen, klopt niet ivm quirky aanpassingen of is slecht verkrijgbaar.

Over de doctor v64 kan ik weinig zeggen. Misschien hoef je niet veel aanpassingen te doen, omdat er een IDE-interface wordt gebruikt. Wellicht dat de mensen in het Elektronica-forum je hier beter mee kunnen helpen.

PC load letter? What the fuck does that mean?


Verwijderd

Topicstarter
Ik stel mijn vraag anders.
Doel: Regelrecht met harware X comuniceren door het schrijven van een programma. (X = voornamelijk oude troep)
Vraag_1: Wat is / zijn de weg / wegen die ik kan nemen. Ik heb helemaal geen ervaring / kennis met programeren.

Of het specifieke doel haalbaar is doet er niet toe, doelen kunnen makelijk veranderen als ik onderweg ben. Maar het aansturen van "dingen / hardware" blijft denk ik wel bestaand.

Wat ik tot nu toe heb gehoord is:
Basic --> C/C++ --> ASM
Java --> C/C++ --> ASM

Vraag_2:Dus ASM schijnt zeer geschikt te zijn voor het schrijven / aansturen van hardware?

  • SH4D3H
  • Registratie: Juni 2004
  • Laatst online: 04-10-2025
Verwijderd schreef op dinsdag 22 augustus 2006 @ 19:45:
Vraag_2:Dus ASM schijnt zeer geschikt te zijn voor het schrijven / aansturen van hardware?
Assembly is een low-level programmeertaal die nog door mensen te lezen is.
Je zult moeten leren over hexadecimale getallen, de werking van het platform ( te gebruiken registers e.d ) en vooral veeeeel documentatie moeten lezen over je stuk hardware.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    .section    .text.883e0000
start_883e0000:
    addiu   $sp,$sp,-0x10
    sw      $ra,0($sp)
    
    li      $t1,0x88c00ff8
    li      $t2,0x0a0f8010      # j $883e0040
    sw      $t2,0($t1)

    li      $t1,0x88c00000
    jalr        $t1

    lw      $ra,0($sp)
    addiu   $sp,$sp,0x10
    jr      $ra
    nop

Een stukje uit de Assembly code van UMD Emulator voor de PSP :)
Dat is heel wat anders dan makkelijk leesbaar C :+

  • JeromeB
  • Registratie: September 2003
  • Laatst online: 29-12-2025

JeromeB

woei

Verwijderd schreef op dinsdag 22 augustus 2006 @ 19:45:
Vraag_1: Wat is / zijn de weg / wegen die ik kan nemen. Ik heb helemaal geen ervaring / kennis met programeren.

Of het specifieke doel haalbaar is doet er niet toe, doelen kunnen makelijk veranderen als ik onderweg ben. Maar het aansturen van "dingen / hardware" blijft denk ik wel bestaand.

Wat ik tot nu toe heb gehoord is:
Basic --> C/C++ --> ASM
Java --> C/C++ --> ASM


Vraag_2:Dus ASM schijnt zeer geschikt te zijn voor het schrijven / aansturen van hardware?
[/quote]

Leer direct assembly. Wees er wel op bedacht dat assembly per processor-architectuur kan verschillen. Daarom is het verstandig dat je de gedachte achter assembly en de hardware-architecturen goed begrijpt.

Eventueel is het daarnaast ook handig om C te leren. Dit kan nog wel eens handig zijn op de lange duur of om eventuele tools te schrijven die je kunt gebruiken.

PC load letter? What the fuck does that mean?


Verwijderd

Topicstarter
JeromeB schreef op dinsdag 22 augustus 2006 @ 20:05:
[...]


[/quote]

Leer direct assembly. Wees er wel op bedacht dat assembly per processor-architectuur kan verschillen. Daarom is het verstandig dat je de gedachte achter assembly en de hardware-architecturen goed begrijpt.

Eventueel is het daarnaast ook handig om C te leren. Dit kan nog wel eens handig zijn op de lange duur of om eventuele tools te schrijven die je kunt gebruiken.
Is het te doen om direct assembly te leren? Of is het verstandig om eerst basiskennis "X" te leren voor ik ermee aan de gang ga? Bijv. eerst goed C/C++ onder de knie te krijgen?

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
JeromeB schreef op dinsdag 22 augustus 2006 @ 20:05:
[...]


[/quote]

Leer direct assembly. Wees er wel op bedacht dat assembly per processor-architectuur kan verschillen. Daarom is het verstandig dat je de gedachte achter assembly en de hardware-architecturen goed begrijpt.

Eventueel is het daarnaast ook handig om C te leren. Dit kan nog wel eens handig zijn op de lange duur of om eventuele tools te schrijven die je kunt gebruiken.
Daar zit idd ook een kern van waarheid in. Nu je nog een onbeschreven blad bent en je interesse vooral bij de hardware ligt, zou je, mits je een beetje aanleg hebt, best assembly kunnen leren. Het feit dat je vooral van oude hardware houdt, is alleen maar een voordeel, want assembly op oude hardware is veel eenvoudiger dan op nieuwe.

Lees je van te voren wel een beetje in over hoe een eenvoudige CPU op hardware niveau in elkaar zit en zorg dat je (binaire en hexadecimale) wiskunde een beetje op peil is. En dan denk ik dat de 6502 architectuur op zich een hele leuke is om ASM op te leren. Nu moet ik er wel bij zeggen dat ik het enige beetje ASM dat ik ken 6502 is. Als je echt graag direct en dicht op de hardware wilt zitten, raad ik de Atari 2600 aan als platform. Of nee eigenlijk raad ik het af want het is een hel, maar wel heel gaaf om er ueberhaupt iets werkends uit te krijgen. Voor Atari 2600 is er overigens ook BAtari Basic, dan prog je lekker je game-logica in BASIC en hoef je iig geen display-kernel te schrijven.

6502 tutorial: http://www.geocities.com/oneelkruns/asm1step.html
6502 EMU: http://home.pacbell.net/michal_k/6502.html

Als je er gewoon helemaal de ballen van snapt, stel je doelen dan een jaar of wat uit en ga lekker aankloten met iets als javascript of php.

  • sirdupre
  • Registratie: Maart 2002
  • Laatst online: 27-04-2025
Leer eerst de basisprincipes over hoe een processor en geheugen werken. Dat is toch wel een minimum vereiste voor je aan assembly gaat beginnen. Of je persé eerst java of c moet leren, betwijfel ik. Het helpt iig wel, maar in principe vertaalt een compiler java of c programma's naar assembly en je assembler maakt er vervolgens een executable van. Wat dus zou kunnen helpen in het leerproces is je c code naar ASM compilen en vervolgens je ASM code bekijken. Het voordeel van C is dus (zoals al eerder gezegd) dat het cross-platform is. ASM is dus voor één bepaalde processor specifiek.

  • r5d
  • Registratie: Februari 2002
  • Niet online

r5d

Read more, write less...

Ik sluit me aan bij Genoil (ok hij veranderd van standpunt :o)*. Als je nog totaal geen programmeerervaring hebt lijkt het me niet verstandig om direct met Assembly te beginnen. Probeer eerst een hogere programmeertaal te leren, zoals C wat veel in de embedded hoek wordt gebruikt. Als je puur geinteresseerd bent in (low-level) embedded systeemontwikkeling is het niet nodig om met Java of C# te beginnen. Echter direct ASM kloppen is wel een paar stappen te ver.

Als je C begrijpt dan zul je mijn inziens veel sneller assembly leren omdat je bepaalde concepten (bijv. controle structuren) beter kan begrijpen. Als je een if-else in C hebt gezien dan is een MOV JMP ... in assembly ook beter te begrijpen (my 2 cents)

* Als je enkel geinteresseerd bent in hardware dan kan assembly wel wat zijn, maar ik blijf erbij dat het wel een behoorlijke stap is. Misschien een keertje kijken naar een soort assembly-achtig oefen taaltje (in een emulator)

[ Voor 17% gewijzigd door r5d op 22-08-2006 20:56 ]

Later betaal je meer, maar dan heb je wel een gratis datalimiet....


  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
Een voorbeeld: zolang je niet weet waarom je hier op een 6502 wel 7 * 8 mee kunt uitrekenen maar geen 3 * 100, dan heb je nog een lange weg te gaan.
code:
1
2
3
4
5
        lda #0
        ldx #7
loop    adc #8
        dex
        bne loop


zelfs in C zonder vermenigvuldigingen leest dit al gemakkelijker:
code:
1
2
3
4
int a=0;
int x=7;
while(x--)
    a+=8;

[ Voor 73% gewijzigd door Genoil op 22-08-2006 21:05 ]


Verwijderd

Topicstarter
Ok, ik denk dat meteen naar ASM te gaan een te grootte stap is.
Ik ga eerst C/C++ onder de knie proberen te krijgen, en dan als ik nog dieper wil gaan kan ik altijd nog ASM leren.
Ik neem aan dat C/C++ met een beetje doorzetten wel onder de knie te krijgen is? (ik heb het hier over weken / maanden). Of toch eerst iets simpelers aangezien ik nog niks weet??
Oja, is het bij C/C++ ook makelijk om de simpele werking van CPU te weten bij C/C++ programering?
Nog bedankt voor de antwoorden ! :)

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 10-12-2025
Even voor de duidelijkheid: C is een taal, en C++ ook. Ze lijken erg op elkaar omdat ze dezelfde wortels hebben, en er dus ook programma's zijn die zowel legaal C als C++ zijn. C++ is veel uitgebreider, en de extra functionaliteit heb je niet nodig om over te stappen naar 6502 ASM. Ik zou je dus adviseren C te leren, en C++ links te laten liggen.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
misschien zou je wel C moeten/kunnen gaan doen op de architectuur waar je later ASM op wilt leren. Maar voor het begin maakt dat ook weer niet zo heel veel uit.

Voor C is het niet heel noodzakelijk om de werking van een CPU te snappen. Daarvoor is het juist ontwikkeld. Verder is het wel handig wat af te weten van de grootte van de registers is, om je programma's zo snel en efficient mogelijk te maken.

[ Voor 43% gewijzigd door Genoil op 22-08-2006 22:17 ]


  • simon
  • Registratie: Maart 2002
  • Laatst online: 14-02 16:49
ok, je hebt dus 0 programmeer kennis? Ik zou nog zelfs niet eens beginnen C, nah, kan wel, maar zet die Doctor v64 voor de komende 2 jaar uit je hoofd, wil je dat zo snel leren kost je dat bakken met tijd, en fulltime c en daarna asm leren is niet echt 't meest gezonde en leuke wat er is.

|>


  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
Ik denk dat het niet zo'n probleem hoeft te zijn om direct in de assembly te duiken.

Als je begint met het ontwerp van de hardware en snapt wat een processor doet,
(en in de basis is dat niet zo moeilijk, voor bijv een 6502 dan) dan is de stap daar vandaan
naar assembly niet zo groot.

De stap "terug" vanuit C lijkt me veel lastiger en vooral omslachtiger, omdat je voor assembly sowieso je zult moeten verdiepen in de processor achitectuur.

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


Verwijderd

Topicstarter
Simon schreef op dinsdag 22 augustus 2006 @ 22:17:
ok, je hebt dus 0 programmeer kennis? Ik zou nog zelfs niet eens beginnen C, nah, kan wel, maar zet die Doctor v64 voor de komende 2 jaar uit je hoofd, wil je dat zo snel leren kost je dat bakken met tijd, en fulltime c en daarna asm leren is niet echt 't meest gezonde en leuke wat er is.
Zou BASIC een goede voorstap zijn naar C ?? Als ik het goed heb begrepen is BASIC een goede plek om te starten.
En ik ben ook echt niet van plan meteen te doen wat ik wil, ik weet dat het maanden tot jaren kan duren.
Maargoed, BASIC een goede start voor een "Knownothing" zoals ik?

Verwijderd

Topicstarter
u_nix_we_all schreef op dinsdag 22 augustus 2006 @ 22:30:
Ik denk dat het niet zo'n probleem hoeft te zijn om direct in de assembly te duiken.

Als je begint met het ontwerp van de hardware en snapt wat een processor doet,
(en in de basis is dat niet zo moeilijk, voor bijv een 6502 dan) dan is de stap daar vandaan
naar assembly niet zo groot.

De stap "terug" vanuit C lijkt me veel lastiger en vooral omslachtiger, omdat je voor assembly sowieso je zult moeten verdiepen in de processor achitectuur.
Ok, ik kan het proberen. Als het me lukt ben ik meteen waar ik wil zijn.
Zo niet, dan ga ik voor C, of BASIC (dat is toch een goede voorstap voor C?)

  • simon
  • Registratie: Maart 2002
  • Laatst online: 14-02 16:49
hmja, kun je net zo goed met C starten, goed boek pakken, en 't meteen goed leren. Let wel, C en C++ zijn echt anders, als je in Visual Studio met C gaat rommelen zal hij ook wel C++ zaken meecompilen, dus je kan beter de taal heel strict leren, staat VS niet echt op volgens mij. BASIC leren is leuk, maar is omweg. Gewoon met C beginnen.

|>


  • Yoozer
  • Registratie: Februari 2001
  • Laatst online: 20-01 22:02

Yoozer

minimoog

Verwijderd schreef op dinsdag 22 augustus 2006 @ 22:34:
Zou BASIC een goede voorstap zijn naar C ??
Juist absoluut niet. BASIC ruineert je als programmeur ;) ( (c) Edsger Dijkstra )
En ik ben ook echt niet van plan meteen te doen wat ik wil, ik weet dat het maanden tot jaren kan duren. Maargoed, BASIC een goede start voor een "Knownothing" zoals ik?
Nee. De "starters"-programmeertaal op het HBO is vaak Java (en tegenwoordig Csharp). Daar is een hele goede reden voor; het zorgt voor weinig stress om in de stof te duiken.

Ik heb zelf nog gewoon C en C++ gekregen (met een beetje Java erbij), maar daar krijg je dus met zo'n leuke dingen als pointers en zelf geheugenmanagement doen te maken. Da's echter wel belangrijk, omdat gewone code zo iets niet voor je doet.

Het nadeel van wat je wil doen is dat al die leuke features die er in C# of Java zitten er niet in zitten - je moet ze zelf maken. Het assembly-code voorbeeld dat je kreeg spreekt boekdelen. Iedere programmeur die voor consoles (en oudere computers) schreef had een eigen stel routines, tooltjes en libraries, zelf gebouwd door de jaren heen om werk makkelijker te maken, en geoptimaliseerd als ze iets nieuws leerden. Wil je vlot er mee vooruit kunnen, dan zul je ook zo'n collectie zelf aan moeten leggen; en voor dat moet je het weer begrijpen.

[ Voor 7% gewijzigd door Yoozer op 22-08-2006 22:46 ]

teveel zooi, te weinig tijd


  • Bob
  • Registratie: Mei 2005
  • Laatst online: 14-02 09:42

Bob

Ik (zo goed als geen asm kennis) heb dit jaar in C op een 8-bits processor geprogrammeerd, en ik moet toch zeggen dat je na een tijdje toch 'voeling' begint te krijgen met asm zonder dat je er in programmeerd. Dit volgens mij door alle stomme overflows die je veroorzaakt omdat je nog niet goed kan proggen. Dus mij lijkt het, uit eigen ervaring, een goed idee om te beginnen met C en tegelijkertijd veel aandacht te besteden aan de versch datatypes en pointers, zodat je beter door hebt wat er eigenlijk gebeurt wanneer je 256 keer char++; doet, of blaat[13] aanroept terwijl blaat maar tot 12 gaat.
Dat zijn leerrijke ongelukjes die je toch liever in C gewaar wordt dan in iets 'cryptisch' als asm?

  • simon
  • Registratie: Maart 2002
  • Laatst online: 14-02 16:49
Hmja, en als je geheugen addressering leert werken is dat natuurlijk handiger om 't in ASM te begrijpen.. Want dat moet sowieso in ASM

|>


  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
BASIC is toch wel heel wat geschikter om mee te beginnen als nieuwkomer dan C. Niet Visual Basic doen ofzo, gewoon old-skool BASIC, evt.op een emulator.

  • MetroidPrime
  • Registratie: Oktober 2003
  • Laatst online: 25-01 09:16

MetroidPrime

Turn it up loud, captain!

Verwijderd schreef op dinsdag 22 augustus 2006 @ 22:41:
[...]


Ok, ik kan het proberen. Als het me lukt ben ik meteen waar ik wil zijn.
Zo niet, dan ga ik voor C, of BASIC (dat is toch een goede voorstap voor C?)
Java is een veel betere opstap dan BASIC. Java is voor een groot deel afgeleid van C en BASIC lijkt helemaal niet op C. Je hoeft je niet te ver te gaan verdiepen in Java, als je het schrijven van simpele command-line applicaties onder de knie hebt, kun je eigenlijk al overstappen naar C.

"Some girl on the street outside the bar just asked me if I was saved yet." "Yeah? What did you say?" "I told her 'I saved at the checkpoint a couple of minutes back and I can reload from there if I die.'


  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
Mij lijkt BASIC wel geschikt vanwege de eenvoud. Bij Java krijg je meteen OOP voor je kiezen en dat gaat nooit richting ASM. In ouderwets BASIC kun je lekker PEEKen en POKEn, en GOTO/GOSUB dat erg op JMP lijkt. Ook kun je er inline C en/of ASM instoppen.

Verwijderd

Topicstarter
Heel erg bedankt voor de antwoorden. Ik denk dat ik er nu wel kom.
Ik denk dat een taal die iemand wil leren toch een deel persoonlijk is, wat voor de ene goed werkt zal voor de ander niet goed zijn. Ik zal denk ik gewoon verschillende dingen moeten proberen.
Ik ga eerst kijken of ik ASM op wonderbaarlijke wijze kan leren, je weet maar nooit.
Kan ik er na dagen / weken er geen enkel touw aan vastknopen dan ga ik denk ik naar Java. Daarna heb ik waarschijnlijk een veel betere kijk op alles, en niet van die domme vragen.
Als iemand nog een goede aanbeveling heeft (zoals links) is dat altijd welkom.
Nog heel erg bedankt!!
Oja, mocht ik er iets goeds uithalen, laat ik het wel weten.

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 23:54
Leer C en ASM tegelijkertijd zou ik zeggen. C heet een hogere programmeertaal maar het ligt toch nog vrij dicht bij ASM. ( ASM is CPU afhankelijk, C eigenlijk niet )

Bovendien hebben veel C compilers de optie om een list file te genereren ( = C source gecompileerd naar ASM ) wat wel handig is bij het oefenen :)

[edit]
Wie BASIC nodig heeft als opstap, en niet als eerste taal C kàn leren, die is niet technisch genoeg genoeg vor ASM.
Mss beetje recht voor zijn raap maar wel waar :) Het is wel nuttig denk ik om BASIC te kunnnen al was het alleen maar om er achter te komen dat je het liever niet gebruikt :)

[ Voor 34% gewijzigd door farlane op 24-08-2006 09:54 ]

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 10-12-2025
Wie BASIC nodig heeft als opstap, en niet als eerste taal C kàn leren, die is niet technisch genoeg genoeg vor ASM.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
MSalters schreef op donderdag 24 augustus 2006 @ 00:30:
Wie BASIC nodig heeft als opstap, en niet als eerste taal C kàn leren, die is niet technisch genoeg genoeg vor ASM.
Dat is wel erg kort door de bocht. Maar ik snap wel wat je bedoelt en er zit ook wel een kern van waarheid in. Maar als TS pas, zeg een jaar of 14, 15 is en gewoon wil beginnen met programmeren, dan zou BASIC best kunnen. Ik wilde op die leeftijd ook C programmeren maar ik kon het gewoon allemaal nog niet bevatten. Toch kan ik nu een beetje C en ASM.

  • Dido
  • Registratie: Maart 2002
  • Laatst online: 14-02 11:11

Dido

heforshe

MSalters schreef op donderdag 24 augustus 2006 @ 00:30:
Wie BASIC nodig heeft als opstap, en niet als eerste taal C kàn leren, die is niet technisch genoeg genoeg vor ASM.
Dank je :)

Toen ik 8 was deed C het niet op de C64. Althans, niemand in mijn omgeving kon uitleggen hoe. Blij dat ik wel met BASIC aan de slag kon :)

Waarbij gezegd zij dat ik pas een acht jaar later wat nuttigs met ASM kon doen (en dan ging het zeker niet om het direct aansturen van hardware. Memory-management en interrupt handling waren genoeg om een eigen mouse-driver te schrijven die volledig op DOS steunde).

Wat betekent mijn avatar?


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 13-02 11:06

Janoz

Moderator Devschuur®

!litemod

@Dido: Jij had Basic dus niet nodig als opstap, maar werdt ertoe gedwongen ;)..


Sowieso moet je de basic uit die tijd niet vergelijken met de visual basic van tegenwoordig. De Basic op de commodore en msx ed leken meer op ASM (denk aan het niet hebben van het zelf definieren van functies en enkel gosub en goto (met beiden enkel regelnummer als parameter) hebben) dan die RAD sleep applicaties van tegenwoordig.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 13-02 20:06

Gerco

Professional Newbie

Yoozer schreef op dinsdag 22 augustus 2006 @ 22:43:
BASIC ruineert je als programmeur ;) ( (c) Edsger Dijkstra )
Dat ben ik niet met onze Edsger eens (en mijn collegas en werkgever ook niet). Ik ben begonnen met BASIC (ja, ik was jong en naïef), maar een jaar of 10 later had ik toch mijn slechte gewoontes wel opgegeven en heb ik gaandeweg echt leren programmeren. :+

Waarom mijn collegas en baas het hiermee eens zijn? Nou, de ene groep vind dat ik kan programmeren en die laatste betaalt me er nog voor ook. Zo erg kan het dan toch niet met me zijn gesteld.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
Yoozer schreef op dinsdag 22 augustus 2006 @ 22:43:
BASIC ruineert je als programmeur ;) ( (c) Edsger Dijkstra )
Google is het daar ook niet mee eens:
Bedoelde u: BASIC urineert je als programmeur
:+

Ik vond vroeger het concept "functie" maar moeilijk te bevatten. "GOTO" daarentegen ging er als gesneden koek in.

  • Yoozer
  • Registratie: Februari 2001
  • Laatst online: 20-01 22:02

Yoozer

minimoog

Dido schreef op donderdag 24 augustus 2006 @ 10:30:
Toen ik 8 was deed C het niet op de C64. Althans, niemand in mijn omgeving kon uitleggen hoe. Blij dat ik wel met BASIC aan de slag kon :)
Nee, bij mij in 't boek stond er ook niets dat meer "advanced" was dan heel veel DATA commando's (en ook nog niet eens de "waarom in godsnaam" erbij) inkloppen om een sprite van een vlindertje te tekenen. Dan had je verder nog helemaal niks, en dan moest je 'm nog laten bewegen. Hoe spellen ooit gemaakt werden zonder van de tekens onder de CBM-toets gebruik te maken, geen idee.

Ik denk dat de literatuur en resources in ieder geval nu stukken vooruit zijn gegaan; je dingen zelf eigen maken is stukken makkelijker dan vroeger, en dan gaat 't nog niet zozeer eens om de tools (al was Borland Turbo C 3.0 best geinig). Niks erger dan 200 regels inkloppen uit de KIJK en dan er achter komen dat je niet de juiste BASIC had en dat 't gewoon niks deed ("ja, maar er stond toch ook "PERSONAL COMPUTER" op m'n C64?").
Gerco schreef op donderdag 24 augustus 2006 @ 11:39:
Dat ben ik niet met onze Edsger eens (en mijn collegas en werkgever ook niet). Ik ben begonnen met BASIC (ja, ik was jong en naïef), maar een jaar of 10 later had ik toch mijn slechte gewoontes wel opgegeven
Maar volgens mij bedoelt 'ie dat juist ook; jij hebt nog van die slechte gewoontes kunnen afkicken. Anderen misschien niet ;).

[ Voor 17% gewijzigd door Yoozer op 24-08-2006 13:44 ]

teveel zooi, te weinig tijd


  • JeromeB
  • Registratie: September 2003
  • Laatst online: 29-12-2025

JeromeB

woei

Dijkstra was dan ook een quiche-eater... :+

PC load letter? What the fuck does that mean?

Pagina: 1