I learnt programming at the deep end. As a teenager I taught myself assembler for the Motorola 68000 that was at the heart of my Atari ST (my parents couldn't afford an Amiga - or perhaps they were just fed up with buying me computers!)
I loved the challenge of assembly language, it was eccentric, obtuse and difficult. But what I really got a kick out of, and what I now miss from the high-level programming I do for a living and computer use in general, is the sense that I was manipulating the hardware directly and that there were few layers of abstraction between me and what the computer was doing.
Obviously it's horses for courses and nobody would want to program something like a GUI based operating system in assembler! But for throwing stuff around the screen it was awesome.
Whilst the Arduino IDE is of course a fairly high level of abstraction and simple projects require little in the way of manipulating hardware (which is the whole point of Arduino, making tangible computing accessible to all) what I love about Arduino is that, as my projects increase in complexity, it's placing me back in that world of hardware. I'm looking up data sheets again, using interrupts, thinking about clock cycles Etc.
I suppose I'm a bit the opposite. I like playing with hardware/electronics but love Arduino because the platform takes care of big chunks of the electronics side and pushes projects back towards my real skill set i.e. coding.
Yep. I remember (and enjoyed) the Atari ST vs. Amiga 500 war... and then the brief Atari Falcon vs. Amiga 1200 battle... happy days.
But as you hinted there, the ST's capabilities and popularity in music has made it a real legend. I recall seeing a video recently where some music producer chap (not a big name producer mind) was still using one on a track.
I only acknowledge my respect to Atari here because noone I knew at the time is around to listen.
Hahaha! We should publisize arduino with pop culture. Kids should thinnk arduino as cool instead of geeky.
Read my personal text. I taught myself x86 assembly in early-mid 90's, plus 386 assembly. Lots of virtual reality in 386. You as a program think you have continuous ram but the processor made that up with virtual memory management. Just when the CPU thought it's in control of the reality, the motherboard says, yeah, BTW, I've split up your bytes among 8 banks of ram. Plus, your I/O address isn't all together.
I eventually gave up assembly in college. Too much to learn for too many hardware, and too little time before everything is gone and new stuff come out.
I learnt programming at the deep end. As a teenager I taught myself assembler for the Motorola 68000 that was at the heart of my Atari ST
That ain't the "deep end" - the deep end was was coding on a Apple IIe in 6502 assembler using the ROM monitor to enter the opcodes in hex! Made the assembler I had on my TRS-80 Color Computer (6809) seem like a dream! When I left home and got a chance to code in 68000 assembler on an Amiga, it seemed like a high-level language compared to everything else. Then I started playing with 80x86 assembler, and wishing that Commodore had taken over the world (argh!! segmented memory architecture!!).
Now watch, somebody's gonna come in here and "show me up" with flippin' switches on an Altair front panel, or keying in hex on a Kim-1, or (shudder) decks of punched cards...
Come on, you old farts - I know you're out there!!!
;D
Ha! We had MIDI ports so there!
Both the Amiga and ST suck - the TRS-80 Color Computer 3 owns 'em both! HAHAHA...
Seriously, though - I own both an Amiga and a CoCo 3 (as well as my old CoCo 2) - and lately they've been doing things with the CoCo 3 that one would think could only be done on something much more high end...
mowcius: ;D ;D ;D
Read my personal text. I taught myself x86 assembly in early-mid 90's, plus 386 assembly. Lots of virtual reality in 386.
cr0sh, that could be where I got that comment. See, I read a book on making PC games with my brother back in the 90's. The book was translated into Chinese so we didn't even remember the original author. We were trying to make a wolf3d-like game but never got close. That rend386 looks that era.
BTW, I have a "my first Kim book" on my bookshelf. It's before my time with computers (hard to pinpoint year of print I guess people back then didn't have a new edition every year) but I also have a bunch of 6502-based computer labs in a plastic suitcase thingys stacked on my lab shelf with state property ids >:( :(. You have to write a program, convert it into numbers, and type the numbers in the memory, then execute at certain memory address.
For segment registers, blame MZ for the invention on reloading programs at different locations. I used to load games on my appleII with a tape recorder (yes) and the trick was knowing which game starts at what address.
How will I teach vectors to kids that will grow up without clocks? (What is counterclockwise?)
cr0sh, that could be where I got that comment. See, I read a book on making PC games with my brother back in the 90's. The book was translated into Chinese so we didn't even remember the original author. We were trying to make a wolf3d-like game but never got close. That rend386 looks that era.
Rend386 dates from 1991 - so, yeah - your book very well could have referenced it...
BTW, I have a "my first Kim book" on my bookshelf. It's before my time with computers (hard to pinpoint year of print I guess people back then didn't have a new edition every year) but I also have a bunch of 6502-based computer labs in a plastic suitcase thingys
Yeah - I have a ton of "old computer books" myself - including a first edition K&R, and this one "self-printed" book that details the bare-bones method of constructing a computer from TTL logic...
stacked on my lab shelf with state property ids . You have to write a program, convert it into numbers, and type the numbers in the memory, then execute at certain memory address.
That's called "hand assembly" - basically what I had to do on the Apple IIe (didn't have an assembler, only the monitor ROM); I have this old Radio Shack experimenter's "lab" kit that allows you to build and program a dead-simple 4-bit cpu (old and small microcontroller or something of that nature) - you have to code the same way, but you "type" on a hex keyboard (like a simplified KIM-1). Then of course, there's the Altair - where you have to flip the switches to set the bits of the address/byte you are entering - ugh.
For segment registers, blame MZ for the invention on reloading programs at different locations. I used to load games on my appleII with a tape recorder (yes) and the trick was knowing which game starts at what address.
I actually think it was just the "way it was done" at the time to get more memory in a limited address space. The TRS-80 (actually Tandy) Color Computer 3 used a similar method to map 128K and 512K into an essentially 64K address space of the 6809 (using a custom MMU chip - later, people managed to make it map up to 2M and beyond).
How will I teach vectors to kids that will grow up without clocks? (What is counterclockwise?)
Well, providing that the Earth doesn't spin madly out of orbit, or any other unforseen celestial incident occurs - there's always the sun and moon...
Come on, you old farts - I know you're out there!!!
If you insist. I have in fact keyed in cylon blinking light programs on an 8080 system using panel switches (I don't recall whether it was an Altair or not) (it was, however, somewhat before there were cylons! Close, though.)
Despite its reputation, punched cards on a 70s era mainframe weren't so bad (did that too); that was generally source code. Yeah, you had to write it down before you started punching cards, but after that it seems it was a lot easier than the cassette tapes the micro people were using.
I've also used an actual ASR33 teletype, A Hazeltine 2000 CRT terminal, DECWriters, punched tape, DECTape, and 9-track magtape.
In fact, the whole mainframe culture that paralleled early microcomputers was pretty cushy by comparison (as long as someone else was paying for most of the equipment!) You could play some pretty good games on the 300 to 2400bps terminals that we got to use. It was in fact so attractive an environment that I didn't get my first working "personal computer" until the MSDOS 2.1 days, WELL after the pioneers had been programming their Apple ][s, Atari, Amiga, CoCos, and Commodores... ("Why should I spend $1000+ for a toy when they let me play with millions worth of equipment (plus ARPANet!) at school/work?")
I learned abacus in grade school. You still have to memorize all the rules to calculate. It's an amazing adding machine that lots of accounting (adding subtracting) were done with abaci in the old days. There would be a gaint agacus spanning the desktops/countertops of several clerks. They would each use a section to do their accounting. It would get loud just with the beads hitting one another and the bars.
Hahaha, I used punch cards too! But only for bookmarks. My boss had a big box of those in his lab. People would occasionally grab a few for scratch paper or bookmarks. My first programming experience was BASIC on apple 2. "call -151" for ??? ;D
Looking at the output of ps axl on my Linux box and realizing that I have no idea what half of the processes are doing, it easy to see why I like Arduino.
My nick "drhex" comes from the days when I wrote Amiga Assembler in straight hex code as data statements in a basic program, because I disliked the Seka assembler... Got it to do mandelbrot calculations at 10000 iterations/second when compiled C with the floating point libraries did only a tenth of that!
Now with Arduino, I can have detailed clockcycle-control again!
I learned BASIC on a Trash 80 in high school. The highlight was a game I made that was like a slot machine . You placed a bet and pulled the "handle". I actaully tried to sell it for a couple of bucks on ... wait for this... a cassette tape!
Programminng an Arduino on a MAC is so much easier.