View unanswered posts | View active topics It is currently Fri Apr 19, 2024 9:40 pm



Reply to topic  [ 10 posts ] 
 Where can you learn if you don't have lots of money? 
Author Message

Joined: Wed Jan 16, 2013 2:33 am
Posts: 165
If you don't have money or resources, where can you learn?

You can download an easy to use computer emulator called Vice. It is a Commodore computer emulator:

http://www.viceteam.org/

There are free programs on this link:

http://www.commodore.ca/download/download.htm

There are manuals on this link:

http://www.commodore.ca/manuals/default.htm

There are also magazine articles to learn from:

http://www.commodore.ca/gallery/magazin ... e-1-43.htm

The magazines: Compute and Compute's Gazette are also found on ebay. You can buy the CD's there and you won't have to spend time downloading them.

I am also a free consultant on the C-64 as long as I am here and as long as I have the time to help people program. If hardware is above your ability on this website, I suggest learning how a lot of other people learned. Learn with something that is easy.

I learned by typing programs into my Commodore 64 every day. I then went through the Commodore reference manual and went through every command. I then got books, magazines and then I learned Basic again in high school and then I learned it again in college.

If people want to get involved and don't know where to start, I suggest an elementary background in this.

If anyone wants to locate free Atari emulators, I might try my hand at that but I am off to bigger things right now.


Thu Jan 31, 2013 3:16 am
Profile

Joined: Tue Dec 11, 2012 8:03 am
Posts: 285
Location: California
Reading through topics on the SparkFun forum last night, I was amazed that people are so stuck on C and to a lesser extent BASIC for microcontrollers, then they advise not to even waste your time with 8-bit ones but to go directly to the 32-bit. I'm sure it's related, and that they would find 8-bit to be totally adequate for most applications if they were to help themselves to the efficiency of assembly, especially with a good set of macros which does a lot to raise the level of the language. The products I've developed with the PICs and one with a very small 65c02 PCB did almost everything in 8-bit, meaning the places in the code where they could have benefitted from 16-bit (or wider) registers or memory were very few, and the overall benefit would be pretty insignificant. Something was said on 6502.org recently about how keystroke programming of early programmable calculators brings quite a benefit later for grasping assembly language. Today, the grasp of assembly seems to be getting lost, and the way around it seems to be to just waste processing power because it's available to waste.

However, I also think I'm seeing a slowness for some to dive into 6502 (and other processors) because of the cost and/or complexity (whether real or only perceived) of the development system. A nice thing about the C64 was that it was its own development system and target computer all in one, and inexpensive, with editor, display, keyboard, mass storage, assembler, and hobbyist-friendly I/O. People may discount the low resolution of its display, the low clock speed, slow disc access, etc., but the C64 definitely got a lot of people into assembly-language programming, and I think those will have an advantage that will never be enjoyed by people who never do get into assembly.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources


Mon Feb 04, 2013 8:59 pm
Profile WWW

Joined: Wed Jan 16, 2013 2:33 am
Posts: 165
I would call this the Arduino Syndrome which is a polite term for "cheating". Arduino is a microcontroller invented for art students so they could set up motors and lights to / for their art. The microcontroller has a bootloader called "C" which is simply an interpreter that makes things easier and Arduino. The art student just cuts and pastes some code and feels like he or she arrived at being an EE student / programmer when in most cases they didn't write the code or draw the schematic. They are, in most cases, just copying or "cheating" while others are learning and advance to more advanced chips.

I looked at the build of materials on Hackaday for a clock and after I got done pricing it, the cost of it was over $100 dollars and I could probably buy ten clocks for what the whole project cost and the habit is for someone to add a microcontroller or unnecessary parts to something that doesn't need it. I saw a project on Hackaday where someone wanted to operate a drill but a simple switch wouldn't do for him so he added a microcontroller which isn't a hack in my opinion.

Some of them feel that Assembly Language is a dead skill set:

http://forums.parallax.com/showthread.p ... d+skillset

I think when we let other programs do our thinking, we lose our ability to think.


Tue Feb 05, 2013 2:37 pm
Profile

Joined: Tue Jan 15, 2013 10:11 am
Posts: 114
Location: Norway/Japan
Well, maybe it's better to link to the original story and not to the parallax forum.. where they're definitely not buying the 'dead skill' thinking :).. anyway the original is here: http://www.embeddedinsights.com/channel ... -skillset/ but even that author isn't really saying so.

Back when I developed on minicomputers and things got too stressful I would always set off a day for doing assembly programming only, that was very relaxing and gave me my energy back.

-Tor


Tue Feb 05, 2013 2:49 pm
Profile

Joined: Wed Jan 16, 2013 2:33 am
Posts: 165
The main thing is that some students are letting the bootloader do all the work and they aren't interested in learning more about the microcontroller but they want to stand proud and appear as if they know as much about E.E. as someone with learning and a degree.

One company decided to not fight the Arduino users but rather sell their boards and sensors to the users since they have such a following.

And others feel very strongly about their microcontroller so I can't speak against the Arduino without having trouble.


Tue Feb 05, 2013 3:14 pm
Profile

Joined: Tue Dec 11, 2012 8:03 am
Posts: 285
Location: California
The embeddedlights.com article was mainly geared toward very large projects on processors that are almost too complex for each person to understand the assembly language adequately, and then they kind of make the assumption that that's what all programming is now. I haven't worked on any of those processors, and I can hardly imagine such large projects. I was talking to a programmer a few days ago whose work really had nothing in common with mine. He managed the merging of work from large teams of programmers, and said the compile times usually went all night, if not longer-- undoubtedly on computers far more powerful than my own PCs. I like working for small companies in niche markets though and being practically the whole department.

One of the commenters wrote after the article,
Quote:
Ok, one of my assertions: Writing assembler costs more in development and maintenance. Hypothetical situation – given that you’re going to get about the same code anyway, would you rather write ten lines of C, or 100 lines of assembler? [My assumption: it takes an average of ten asm instructions to represent one line of C/C++ - I know this is highly application and processor-specific] Ok, you went with assembler, fair enough. Now you need to add a major new feature. Even though you did a sterling job of compartmentalizing your code, you still have to modify 1000 lines of assembler. Chances are, that equates to less than 100 lines of a high level language that need to be reviewed and edited.

Has he never heard of macros?? Doing a search for "macro" on the page comes up with only one occurrence, and that is that someone said they use a macro assembler. There was nothing said about macros. I frequently have lots of macro calls in a row, and each one may replace many lines of assembly, and much more readably. And when I write a portion of assembly in Forth, I can have (in addition to macros) several assembly instructions on one line, grouped logically, which also helps maintainability.

All of this is a bit O.T. for the low-budget person learning a microprocessor though; because he's not going to be diving in, right from the start, to a 32-bit processor with multiple levels of caches, deep pipelining, branch prediction, memory protection, breaking instructions down into simpler ones before execution, etc.. He will probably start, and should start, on something much simpler; and something like the C64, whether real or simulated, is a good place. The C64 was made for over 10 years (which is nearly unheard of in this field) and was the best-selling computer model of all time.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources


Tue Feb 05, 2013 6:56 pm
Profile WWW

Joined: Wed Jan 16, 2013 2:33 am
Posts: 165
Garth wrote:
He will probably start, and should start, on something much simpler; and something like the C64, whether real or simulated, is a good place. The C64 was made for over 10 years (which is nearly unheard of in this field) and was the best-selling computer model of all time.


The C-64 seemed to me to have been built off of the Commodore Pet, and the Vic 20. The C-64 seemed to carry over in the C-16 and again in the C-128. I think the Amiga carries a little of that over with the SID chip and Sprites. I think if you look at the Atari that Jack built carried some of the same concepts over and Commodore even hired the Speak and Spell team which came to nothing. They kind of stole the concept of player missile graphics from the Ti-994A and I remember when I went to the local computer store for joysticks. I was a little confused when the store manager told me to buy an Atari joystick for my Commodore 64 and then said, "Trust me".

BASIC is the perfect environment to learn on and you can do ASSEMBLY or 65XX code as well.


Tue Feb 05, 2013 8:11 pm
Profile

Joined: Tue Dec 11, 2012 8:03 am
Posts: 285
Location: California
Quote:
BASIC is the perfect environment to learn on and you can do ASSEMBLY or 65XX code as well.

and I seem to remember some machine-language routines being POKEd in with BASIC programs.

One of my high-school friends who went on to get his degree in chemical engineering at Cal Poly, Pomona got a job at Commodore when the VIC-20 was being made. Unfortunately I've lost contact with him. I think I still have some C16 keyboards here, along with all the C64 and C128 stuff.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources


Tue Feb 05, 2013 8:48 pm
Profile WWW

Joined: Wed Jan 16, 2013 2:33 am
Posts: 165
Garth wrote:
execution, etc.. He will probably start, and should start, on something much simpler; and something like the C64, whether real or simulated, is a good place. The C64 was made for over 10 years (which is nearly unheard of in this field) and was the best-selling computer model of all time.


The C-64 can be brought up to speed. There is a CD by the Toronto Pet's User Group which was a very large user group in the world and the CD offers years of stuff on it:

http://www.tpug.ca/2009/12/tpug-library-cd-available/

And NKC Electronics offers some more modern day hardware for the original Commodore 64 if you have support:

http://www.nkcelectronics.com/Classic-C ... _c_39.html


Wed Feb 06, 2013 10:55 pm
Profile

Joined: Tue Dec 11, 2012 8:03 am
Posts: 285
Location: California
Thanks! I'll add them to my links page.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources


Wed Feb 06, 2013 11:15 pm
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 10 posts ] 

Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software