Slashdot Mirror


Programming the Commodore 64: the Definitive Guide

Mirk writes "Back in 1985 it was possible to understand the whole computer, from the hardware up through device drivers and the kernel through to the high-level language that came burned into the ROMs (even if it was only Microsoft BASIC). The Reinvigorated Programmer revisits R. C. West's classic and exhaustive book Programming the Commodore 64 and laments the decline of that sort of comprehensive Deep Knowing."

245 comments

  1. "Tape Storage" image turns to goatse? by Anonymous Coward · · Score: 0

    I was studying the "Tape Storage" image in that article, and after about three or four minutes it switched to goatse. :( Beware!

    1. Re:"Tape Storage" image turns to goatse? by DarrenBaker · · Score: 1

      The lady doth protest too much, methinks.

    2. Re:"Tape Storage" image turns to goatse? by Anonymous Coward · · Score: 0

      Steve Jobs, is that you?

  2. Frist psot! by heffel · · Score: 3, Funny

    Atari 800 rules!

    1. Re:Frist psot! by ProfM · · Score: 3, Funny

      Atari 800 rules!

      Here we go again ... "which platform is better" flamewar. Everybody KNOWS that the Sinclair ZX80 was best.

    2. Re:Frist psot! by Nimey · · Score: 3, Insightful

      The Apple ][, clearly.

      --
      Hail Eris, full of mischief...

      E pluribus sanguinem
    3. Re:Frist psot! by Anonymous Coward · · Score: 1, Informative

      But it took the XE series to get the BASIC right so that bugs were removed and a shorthand parser added to save a bit of typing. The XLs still needed cartridges to get the better version. (I think the Commodore folks mostly missed out on that kind of thing.) And by the time Atari had the 8-bit formula mostly right, all the attention and support moved to the 16-bit ST computers. (Commodore fans did share in this kind of thing with the transition to Amiga. Yet they still had a bigger 8-bit user base to fall back on.)

      Strangely enough, sometimes you also needed an interpreter software to run XL software on an XE. I think that was necessary because some programmers found about the few XL bugs and considered them a feature. We had (have?) our rivalry, but I feel Commodore folks missed out on some of the fun.

    4. Re:Frist psot! by Anonymous Coward · · Score: 0

      You know nothing of the Jay Miner magic that was the Atari 8 Bit.

    5. Re:Frist psot! by ClosedSource · · Score: 2, Informative

      Of course Jay Miner put his magic into the Amiga as well.

    6. Re:Frist psot! by Low+Ranked+Craig · · Score: 1

      TI-99/4A with the extended BASIC module was far superior to all of them.

      --
      I still cannot find the droids I am looking for...
    7. Re:Frist psot! by hairyfeet · · Score: 2, Informative

      Oh please! The Commodore VIC-20 was sold by the Shat and nothing and nobody beats the Shat, especially when he is wearing his heavily armored TJ Hooker hair piece. Final score Commodore- over 9000-everyone else-0.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    8. Re:Frist psot! by Phoghat · · Score: 1
      Where did you get yours? I bought my Sinclair in an Pakistani cigar store where I used to buy coffee. It was ~ $89

      Loved that Mother. Wish I could find some NOS, keep a couple and eBay the rest

      --
      Think of how stupid the average person is, and realize half of them are stupider than that.
    9. Re:Frist psot! by maxwell+demon · · Score: 2, Insightful

      Well, at least ZX BASIC was the best BASIC I've ever seen. In which other BASIC could you put Formulas in strings and evaluate them at runtime, without writing a specialized formula interpreter yourself?

      --
      The Tao of math: The numbers you can count are not the real numbers.
    10. Re:Frist psot! by wmac · · Score: 1

      Agreed. VIC20 was my first step into PCs :) My first Basic program was a number guessing game :)

    11. Re:Frist psot! by soundguy · · Score: 1

      Beat most of them by a few years too. The 99/4 came out in 1978 and had console basic. The 99/4A and the Extended Basic cartridge arrived in 1979. It was the first 16-bit processor in consumer-land, had 256 color graphics, and a Yamaha 4-voice audio chip. It had an optional 5.25" floppy disk system, acoustic-coupled 300 baud modem, assembler cartridge, and a voice synthesizer add-on. All others were mere toys by comparison.

      --
      Nothing worthwhile ever happens before noon
    12. Re:Frist psot! by rvw · · Score: 1

      TI-99/4A with the extended BASIC module was far superior to all of them.

      Exactly like Video 2000 was far superior to VHS, except for its user base...

  3. Indeed by 2phar · · Score: 1

    Oh what fun raster interrupts were.

    1. Re:Indeed by davester666 · · Score: 5, Interesting

      There doesn't appear to be any section on custom high-speed communication with the external floppy drive unit. IIRC, you could upload a small program to the drive, and then you could in particular read data from the drive a lot faster than the 'OS' normally supported. This technique was also used to do copy protection for a bunch of titles, primarily by stepping the drive head 1/2 between tracks then doing reads. Production disk duplication could write to both the track & between tracks [or could write a wide enough track to cover the whole area], but regular floppy drives couldn't write both [you could either write on the track, or between tracks].

      Not that I was interested in this stuff or anything.

      --
      Sleep your way to a whiter smile...date a dentist!
    2. Re:Indeed by mrmeval · · Score: 1

      That's in an exhaustive 1541 ROM dis-assembly book. I do not now recall who published or wrote it. It had exhaustive detail on how the drive's rom worked. Using that and some machine code I actually found out you could store a file on the floppy that on power on would boot no-knock code. I used that for several years. Then tech got more difficult and less accessible for a time.

      Now with small devices like the Arduino and Make Magazine's controllers many people are learning and better creating things with reasonably easy to understand tech.

      --
      I'd go on a Vegan diet but the delivery time from Vega is too long. --brownkitty
    3. Re:Indeed by mrmeval · · Score: 1

      It's been so long I cannot recall if the code was in that book or if I used this portion of it to create the program.
      http://project64.c64.org/hw/1541_tricks.txt

      I can't even find the program that ran on the C64 to stop the knock on the 1541.

      --
      I'd go on a Vegan diet but the delivery time from Vega is too long. --brownkitty
    4. Re:Indeed by Anonymous Coward · · Score: 0, Insightful

      blah blah blah

      Yet another wanker who doesn't realize that encapsulation and abstraction are IMPROVEMENTS.

      You want to know all the details. Fine. Go nuts. I don't need to re-invent the wheel. I would rather spend my time solving high level problems.

      The world works better when there are specialists doing things. It allows us to not have to divide our efforts a million different ways. I have no idea how a video card works (beyond the basics), and that's a good thing. Rather than studying video cards (and generalize) I was able to spend my time refining my specialty. I could be a shitty video card guy with shitty (my discipline) skills, or I could be a non-video-card guy with great (my specialty) skills. Which one do you think is more useful. I'll give you a hint: someone else can be really good at video cards. 2 complimentary specialists are always better than two competing generalists.

      Don't think so? Then tell me: did you build your own house? Your own car? No? Why not? Because someone else was better at it than you? How could that possibly be? BECAUSE THEY ARE A SPECIALIST.

      The world doesn't need 4 billion people with a basic skill set to do everything. It needs specialists who can excel. This is one of the fundamental concepts of capitalism.

      But my words are wasted here. No doubt modded as "troll" for pointing out the obvious.

    5. Re:Indeed by Anonymous Coward · · Score: 0

      Was Inside Commodore DOS: The Complete Guide to the 1541 Disk Operating System the book you were thinking of?

      That book along with the VIC-20 and C-64 operating system manuals and "Mapping the Commodore 64" and "VIC-20 and C-64 Toolkit: BASIC" from Compute Books comprised much of my programming reading when I was a teen. I also absorbed the manuals that came with the Apple // as well.

    6. Re:Indeed by Anonymous Coward · · Score: 0

      Yep. The Amiga 1000 did the copy protection by no half measures (just half tracks) too. It was interesting (even if it did make the floppy grind like it was eating itself). They wouldn't do the same thing to say put copy protection on some new medium would they? Putting a track with decryption information on a disk where there normally isn't supposed to be any data? Noo. They wouldn't try that with any modern high density optical storage system. No, not coughDcoughVcoughDcough at all. But by the time we got to the Amiga, with 3 processors, things were already getting messy. All you can do now (with modern systems) is know the overview of how everything works, and then when things break (or if you want to become master of a piece) drill down into the information and become master of that part. Given enough time, you might become master of it all. The intricate parts of USB, Firewire, SATA, the GPU, APIC, CPU (with sub parts ALU, pipeline, Writable control store, etc. and software parts that correspond to the hardware (stack/round robin scheduler(or equiv) corresponding with pipeline, TLB corresponding with L1/L2/L3 cache, etc) drivers (elevator scheduling, with particular drives), APIC with Power management/ACPI and interrupt assignment etc. are each world unto themselves. Interprocess communication using pipes and sockets has always been a 'more advanced' topic, much like virtual machines, things that the early commodore hardware didn't do to much of. Things are *not* like they used to be. Go ahead and lament if you want to, but I don't see anything getting less complicated either. Once you start tossing in true neural networks and cerebral cortex data input caps (for humans tired of typing), computers will grow more complex exponentially. Welcome to 1999/er 2009/er 2010 brave soldier!

    7. Re:Indeed by Anonymous Coward · · Score: 0

      I had that one - "Inside Commodore DOS" by Immers and Neufeld:
      http://www.amazon.com/Inside-Commodore-DOS-Complete-Operating/dp/0835930912
      (and only $3.50 used!)

      As for the routines, most speed utils (FastLoad, WarpSpeed {my favorite}) would use an extra line or two to help with the data (using the ATN or /SRQ as an additional bit), but most just skipped the redundant error-checking routines CBM had "over-engineered" into the 1540/1.

      Now I'm gonna have to hook up my 64s and have some fun...

    8. Re:Indeed by swehack · · Score: 1

      Haha but you're right. I still have my C64 manual and it shows how to load drives like floppy and tape with BASIC clearly. Also chapter 8 is about making music on the c64, what an amazing time it was when computer manuals showed how to program.

    9. Re:Indeed by 2phar · · Score: 1

      WHOOOOSH

    10. Re:Indeed by NCG_Mike · · Score: 1

      I recall the copy protection on disks was generally rubbish. Ocean's disks were a simple lda and nop. Skate or Die was much harder because it had a load of XOR'ing loops that decoded the next set of loops. Took an age to get through.

    11. Re:Indeed by fwarren · · Score: 4, Interesting

      Yet every day, I put young pups to shame. It does not matter if it is troubleshooting hardware, or software. It does not matter if it is dealing with programing or configuring. My mental map of the problem is different than theirs.

      The skills I learned back in the 80's on a computer that you could understand, I still use today. My "concept" of what a computer is was formed by understanding the whole. RAM, ROM, interrupts, I/O, how the CPU works. All from a machine with 64K or RAM and 20K of ROM.

      Under the hood, under all of that abstraction. Is a PC that is very much like a C64. With the C64 people learned mastery of their system. With the PC, so much hardware is out there. It is impossible to learn it all inside out and take advantage of every feature of it. So greater power has always been obtained in the PC world by moving to faster hardware, not by utilizing the current hardware better. It is all abstraction running on very fast, underutilized hardware.

      The techs coming out of college for the last 20 years do not understand a computer conceptually like those who learned this stuff in the 70's or 80's. When it comes to trouble shooting all of this abstraction, many folks have no idea that there is anything beneath the abstraction.

      I recently attended a college programming class as a requirement for a degree. The instructor gave us a quiz at one point and there was only 5 students out of 60 that passed. Why? Because most students did not know how to write a program on a piece of paper. Without intellisense holding their hand they could not code. I learned to program from the manual that came with my C64. I learned to program better by typing in programs from Compute! Magazine. I have written hundreds of pages of code on paper and typed it into a computer at a later time. It is a skill I take for granted. Without the abstraction of Intellisense most of the class was rendered useless.

      Something has been gained, but something has also been lost. When I was a kid I dreamed of computers that could do a 10th of what they do now. I learned everything I could about them. Lived, dreamed, ate, slept computers, computers, computers. Now days. My kids can buy a laptop with 3 gigs of RAM for the price of a C64 and 1541 drive. And what do they do with it? Program? Nope. They learn their friends on FaceBook, not programming. They play games, not write them. They pirate music, not create it.

      It looks like those who understand a computer and really make it do something will always remain a small, elite Priesthood.

      --
      vi + /etc over regedit any day of the week.
    12. Re:Indeed by IamTheRealMike · · Score: 1

      The reality is somewhere between the two.

      You're right that specialization is fundamental and not needing to understand, say, CPU architecture is an improvement.

      On the other hand, just because you don't need to understand how computers work anymore, doesn't mean it's a bad idea to do so.

      I have been interviewing a lot of Java programmers lately. Many of them have a very weak understanding of how Java actually works. For a lot of projects, this doesn't matter. However it is very typical that, for instance, candidates underestimate the memory usage of their code by half because they don't know Java characters are 16 bit. Perhaps it's not surprising that Java programs have a reputation for being slow and bloated. And it goes without saying that for many real world programming problems, you are working within a memory and CPU budget, so not knowing the basic costs of the abstractions you work with is going to cause problems sooner or later.

      Joel on Software has a good article on leaky abstractions. In my humble opinion, every working programmer should have read and pondered it.

    13. Re:Indeed by Anonymous Coward · · Score: 0

      blah blah blah

      Yep, you're a hero alright. No doubt about it. With that big head of yours and air of superiority. Should we worship you now or do we all get together so we can do a whole group worship thing?

      Yet another wanker who doesn't realize that encapsulation and abstraction are IMPROVEMENTS.

      Great, yet another asswipe who doesn't realise that people have hobbies that they enjoy and has to be a jerk to everyone else.
      Well, I hope you get a flat tire one day and while you're waiting for the specialist to arrive, you miss that all-important meeting. Then again, you probably can't drive a car because there are specialists for that. Everyone should have a chauffeur. No sense wasting time on learning petty skills.

    14. Re:Indeed by exomondo · · Score: 3, Insightful

      And what do they do with it? Program? Nope. They learn their friends on FaceBook, not programming. They play games, not write them. They pirate music, not create it.

      Computers used to be primarily for those interested in computers, now they are exactly what they were designed to be, a tool to get things done. There are probably just as many - if not more - young tinkerers and hobbyist programmers, but the computer userbase has grown phenomenally since the old C64 days such that the percentage of that userbase is much lower. The people who use them simply for facebook, games and pirating music are likely not the sort of people who would write fast loaders and the like anyway.

    15. Re:Indeed by ezratrumpet · · Score: 1

      I think I would've done nearly anything to get that book when I was 12.

      I would've learned everything in it. I was starving to know the mysteries that little machine held, to command its magic for myself and CREATE beautiful, elegant things.

      Such books weren't available in the mountains. Now they all have interwebs, and I'm just about ruthless with those who take instant knowledge for granted.

    16. Re:Indeed by Anonymous Coward · · Score: 0

      Sounds like you slot perfectly into the 'doesn't know what s/he doesn't know' category.

      Sounds like plenty of people have pointed this out to you as well, and you've developed this
      callous 'but I'm a specialist!' instead of facing up to the fact that a good software enginner really
      needs to have a good appreciation of what's going on from hardware up to OS and THEN on to
      how the higher level VM or language interpreter works.

      It's ALL important you know.

    17. Re:Indeed by Anonymous Coward · · Score: 0

      Amen, and fuck black people too!

    18. Re:Indeed by mzs · · Score: 1

      Rather what fun it was when they weren't there, say most clone PC VGA cards.

    19. Re:Indeed by fwarren · · Score: 1

      Oh I am sure somewhere out there are young people who are learning things that will drive technology in the future. To do that, they will have to understand the under-the-hood stuff. And I KNOW there are young programmers out there. I just don't know any.

      I have worked with Girl Scouts, Boy Scouts, Cub Scouts, helped in classes at High School, Jr High School and grade school. I admit I live in a county with less than 100,000 people. I just have not found anyone under 30 that programs or has a great grasp of what really goes on under the hood of a computer programming wise.

      I tangently knew some geeks when I was in in High-School (I was such an outsider, I did not even fit in with the geeks). I know what they had for equipment and the kind of things they were into. I have seen what the High Schools around here has to offer. These kids do not hold a candle to the kids of my generation.

      I am glad the masses use them as a tool. I am just saying overall, people who choose to go into the IT Field are lacking skills I take for granted and I learned on my Commodore 64.

      They know how to program a firewall or create a skin for the sims. But they have no idea of what memory mapped I/O or an interrupt is.

      --
      vi + /etc over regedit any day of the week.
    20. Re:Indeed by Anonymous Coward · · Score: 0

      Interesting that you take an arguably better way of the world working (leaving driving to specialists) and then you shove it into the mold that apparently the only specialist drivers are chauffeurs when in actuality the majority of them are drivers of public transport or taxis.

  4. Sweet! by Junior+J.+Junior+III · · Score: 4, Funny

    Now, I can finally stop waiting and get to programming my Commodore 64!

    --
    You see? You see? Your stupid minds! Stupid! Stupid!
    1. Re:Sweet! by ae1294 · · Score: 4, Funny

      Now, I can finally stop waiting and get to programming my Commodore 64!

      I know right! I finally got my Beowulf Cluster of c128's running GNU/linux doing seti@home work!!! Sure it's drawing about 200amps but damn it's a sweet setup and only takes about 24 days per unit!

    2. Re:Sweet! by Anonymous Coward · · Score: 0

      C128! MAN, I wish I had that. It's almost twice as 64!

      But the games run the same though ;-)

  5. 6510 Machine Language by headkase · · Score: 3, Interesting

    I started on a Commodore 64 (well a Commodore 128 that ran exclusively in 64 mode..) and learned machine language by breaking protections of the day. Many of the things that were legal back then such as copying software for DRM'd games are now gone the way of the dodo. I honestly see that in twenty years from now a debugger in itself will be seen as a "tool of crime" or whatever wordage they use to keep them out of the general public's hands just like lock-picks today. Hope you like high-level because the day is coming that it will be illegal to be low-level without a government (or more likely Apple) license.

    --
    Shh.
    1. Re:6510 Machine Language by abigor · · Score: 0, Flamebait

      Hope you like high-level because the day is coming that it will be illegal to be low-level without a government (or more likely Apple) license.

      Kook alert

    2. Re:6510 Machine Language by headkase · · Score: 1

      I remember pre-DMCA quite well. That would have been considered "kook"-ish in the hey-days of "Fast Hack'Em" copying software of the '80s.

      --
      Shh.
    3. Re:6510 Machine Language by Chris+Tucker · · Score: 3, Funny

      A fellow in the local C64 users group was a tester for Maverick (copy protection removal utility).

      We had Maverick files to deprotect software that were never released to the public.

      "Oh, man! This disk is driving me crazy, I can't copy it!" Was a frequent lament on QuantumLink.

      And we would smile quietly to ourselves. "Maybe for YOU."

      The SuperSnapShot cartridge ruled. Load an app or a game, go through ALL the dumbass copy protection nonsense, like "what's word 6 in sentence 9 on page 12?" and then configure the app/game, push the button on the cartridge, drop into a menu, and save a bootable RAM image to a floppy.

      NO copy protection and everything is just as you liked. It was also a way to quit a game that had no SAVE level option or when you were about to do something that could be very dangerous (gameplay wise.) Just save to disk and take on the level boss. If you died, no big deal. Run the saved image and try again.

      And if that didn't work, cheat! Drop into the ML monitor, change a few characters, return to the game and not only did you have unlimited arrows, you had, essentially, a bow and arrow machine gun. (Autofire when holding down the Big Red Shiny CANDY LIKE button on the joystick was always useful when leveling up.)

      Although, making the Pac-Man unkillable was considered poor form, all things considered.

      --
      Guaranteed! This comment 100% Anthrax free!
    4. Re:6510 Machine Language by Anonymous Coward · · Score: 0

      hey I ruled in my ][ pacman clone i was super pacman (could not die)

    5. Re:6510 Machine Language by JP+PBM · · Score: 1

      The SuperSnapShot cartridge ruled. I Own And Manufacture New Super Snapshot V5.22 Cartridges. They rule for game play with all the features like infinite lives in a shoot-em up game that you just can't figure out how to finish a scene

  6. Invert rose-tinted-glasses by sakdoctor · · Score: 0, Flamebait

    Here in 2010 it's not necessary to understand the whole computer, from the hardware up through device drivers and the kernel through to the high-level language that came from your apt repositories (even if it is only a python interpreter). Let's celebrate the rise of this sort of universal accessibility, to even the novice programmer.

    1. Re:Invert rose-tinted-glasses by pjwhite · · Score: 1

      Yeah, because drivers and kernels are perfect and never have bugs.

    2. Re:Invert rose-tinted-glasses by tepples · · Score: 3, Insightful

      Here in 2010 it's not necessary to understand the whole computer

      Unless you want more throughput: manipulate more objects at once, serve more users at once, etc. If a Python program is spending most of its time in interpreter overhead, you may need to recode inner loops in C.

      Or unless you're programming for an 8-bit microcontroller roughly as powerful as a Commodore PET. Not all "computers" are as powerful as PCs or even smartphones.

    3. Re:Invert rose-tinted-glasses by Puff_Of_Hot_Air · · Score: 4, Insightful

      Here in 2010 it's not necessary to understand the whole computer, from the hardware up through device drivers and the kernel through to the high-level language that came from your apt repositories.

      It wasn't necessary then either. The point is that you could. Now this is no longer possible. There are pros and cons to this, we can acheive more by building on the magical black boxes, but there was something deeply satisfying about knowing a device in such depth. The same can still be acheived in the embedded realm, however, and due to modern advances, it's cheaper and smaller than ever!

    4. Re:Invert rose-tinted-glasses by v1 · · Score: 3, Informative

      for certain the drivers/os back then were less buggy - they were smaller and so much less complex. It was a fairly simple matter for someone to have full understanding of the entire OS and sum it up in under 50k. (and I mean BYTES, not LoC)

      --
      I work for the Department of Redundancy Department.
    5. Re:Invert rose-tinted-glasses by Darkness404 · · Score: 1

      Let's celebrate the rise of this sort of universal "accessibility" which leads to more viruses, more "PC" stores like Best Buy/Geek Squad and in general the decline of the computer. Yeah, its great if you are like Geek Squad and can charge $50 to plug in a USB cable and install drivers ( see http://www.geeksquad.com/services/computer/service.aspx?id=2927 ) for everyone else? It is a nightmare.

      --
      Taxation is legalized theft, no more, no less.
    6. Re:Invert rose-tinted-glasses by MichaelSmith · · Score: 1

      Even in those days I am sure there were lusers happily doing their jobs on a VT100 or similar terminal. Starting with a menu or simple command set was not so different from a GUI today.

    7. Re:Invert rose-tinted-glasses by TheRaven64 · · Score: 2, Interesting

      Absolutely. This is the point of, for example, the STEPS project at VPRI, which aims to build an entire working system (kernel, GUI, dev tools, apps) in under 20,000 lines of code. Some of the stuff they've produced, like OMeta and COLA are really impressive.

      Adding complexity to a system is easy. Adding features without increasing the complexity is much harder, but much more useful and rewarding.

      --
      I am TheRaven on Soylent News
    8. Re:Invert rose-tinted-glasses by eulernet · · Score: 1

      Probably, but the Basic was written by Microsoft, and the ROM took 16 Kb (not counting the code when using a disk-drive).

      Since an opcode is between 1 and 3 bytes, there would be around 8000 to 10000 LoC.

    9. Re:Invert rose-tinted-glasses by icebraining · · Score: 1

      If a Python program is spending most of its time in interpreter overhead, you may need to optimize the Python JIT compiler

      FTFY.

      Yes, I know it's harder, but it's the Right Way(TM), in my humble opinion.

    10. Re:Invert rose-tinted-glasses by NewbieProgrammerMan · · Score: 1

      If a Python program is spending most of its time in interpreter overhead, you may need to optimize the Python JIT compiler

      FTFY.

      Yes, I know it's harder, but it's the Right Way(TM), in my humble opinion.

      I didn't think the official Python implementation had a JIT compiler.

      --
      [b.belong('us') for b in bases if b.owner() == 'you']
    11. Re:Invert rose-tinted-glasses by icebraining · · Score: 1

      Who said you needed to use the official Python implementation?

    12. Re:Invert rose-tinted-glasses by headkase · · Score: 1

      Two be specific the 16K of ROM was split into 8K for the Basic ROM and 8K for the Kernel ROM.

      --
      Shh.
    13. Re:Invert rose-tinted-glasses by v1 · · Score: 1

      well I was just thinking about applesoft... it occupied $B600-FFFF iiirc, about 18k. DOS for the floppy took just above the card rom all the way up to that, which was what, $D000-$B5FF, about another 12k.

      I had a sourced copy of both somewhere around here. Was fun to be able to recompile your BASIC or DOS. (ty BB) People today with their kernel recompiles have no idea they're not the only ones doing that sort of thing.

      --
      I work for the Department of Redundancy Department.
    14. Re:Invert rose-tinted-glasses by dingen · · Score: 1

      Unless you want more throughput: manipulate more objects at once, serve more users at once, etc. If a Python program is spending most of its time in interpreter overhead, you may need to recode inner loops in C.

      Instead of going through the expensive and painful process of rewriting parts of your application in a more efficient manner, you could also just through more machines in your server rack and be done with it. Adding/upgrading servers if often a lot cheaper than optimizing your code, and also introduces less new bugs.

      --
      Pretty good is actually pretty bad.
    15. Re:Invert rose-tinted-glasses by QuantumLeaper · · Score: 1

      Microsoft only programmed Version 1 of Basic for the Pet, the programmers at Commodore programmed version 2-10, v7 was the C128 and v10 was C65.

    16. Re:Invert rose-tinted-glasses by dissy · · Score: 1

      Here in 2010 it's not necessary to understand the whole computer

      Strawman. No one claimed it was necessary, or that being necessary is a prereq for wanting to do it.

    17. Re:Invert rose-tinted-glasses by Reservoir+Penguin · · Score: 0

      Attitudes like yours is what leads to the destruction of our dear Planet, manafacturing more unneccessary crap instead of applying your mind to acheive the right , not to mention more elegant solution. Shame on you.

      --
      US-UK-Israel: The real Axis of Evil
    18. Re:Invert rose-tinted-glasses by aaron+alderman · · Score: 1

      50k Libraries of Congress would be quite a bit. Almost the size of Windows 7 code I imagine.

    19. Re:Invert rose-tinted-glasses by Anonymous Coward · · Score: 0

      the real beauty of the 64 to me is that it was ROM based. Turn it off and back on and the system was exactly the same as it was originally. No way to really infect the core system.

    20. Re:Invert rose-tinted-glasses by v1 · · Score: 2, Insightful

      We're using "yesterday's terminology" here. For the purposes of computer app size, LoC is Lines of Code, not Libraries of Congress.

      --
      I work for the Department of Redundancy Department.
    21. Re:Invert rose-tinted-glasses by longhairedgnome · · Score: 1

      amen

      --
      GENERATION O98346: The first time you see this, copy it into your sig and remove a random number from the generation. T
  7. You needed a debugger? by perpenso · · Score: 0

    You needed a debugger? ;-) We programmed various commercial games and education programs without a debugger of any kind on the C64. Matter of fact the C64 assembler and other tools were so bad we actually did our development on the Apple II and downloaded the resulting binaries to the C64 for execution. Debugging consisted of printing our own hex digits on the screen or maybe some color coded pixels.

    --
    Perpenso Calc for iPhone and iPod touch, scientific and bill/tip calculator, fractions, complex numbers, RPN

    1. Re:You needed a debugger? by Anonymous Coward · · Score: 0

      Completely agree.

      I wrote 27 games in the 1980s, most of which were for 6502/6510 variants (C64, C16, Atari 400/800 Acorn Electron/BBC B).

      I used to debug by writing specific characters to the top left location of the screen.

      For Atari development I made a parallel to joystick port cable and wrote software on the C64 (in asm) and on the Atari (in basic which wrote an asm program to configure two of the four joystick ports as inputs so that I could effectively read bytes from two joystick inputs which where connected to the parallel output on the C64). Each time I had a new compile to try out (because we didn't think in terms of builds back then - no DLLs, just one executable), I had to type the basic loader into the Atari, run it and if it loaded, it ran.

      Seem to remember we had a similar setup for the Electron/BBC but I can't remember as much about it (except that the frame rate on the Electron had to be twice as slow (and move twice as far) as the Beeb or any other variant because the chip that ran the graphics on thw Electron was so slow).

      C64, best (8 bit) home computer of the 1980s, by a large margin. Way better than a Sinclair Spectrum. No comparison, except in the minds of Spectrum owners. Only truly validated in hindsight.

      Games like "Sheep in Space", "Revenge of the Mutant Camels", "Ancipital" (all Jeff Minter classics, great guy, sadly lost touch with him) could never be done on a Spectrum.

      Mind you, "Hellgate" (also by Jeff) worked fantastically on the cramped 20x22 screen of a Vic-20 but was rubbish on the larger Commodore 64 screen.

    2. Re:You needed a debugger? by Anonymous Coward · · Score: 0

      Mod up!

    3. Re:You needed a debugger? by mzs · · Score: 1

      Please somebody mod this up and restore my faith in slashdot.

  8. Relax by sakdoctor · · Score: 3, Funny

    Relax. You've obviously read too many kdawson stories recently, and have been trolled into a heightened state of paranoia. Don't worry, it happens to the best of us.

    Also, why have you switched off your iphone citizen 533448?

    1. Re:Relax by Anonymous Coward · · Score: 5, Interesting

      I was playing a game with some DRM (either StarForce or SecuROM) and it wouldn't run if I had a debugger present. I asked them why and they were all like "Anyone who has a debugger and is playing the game is a hacker." That's RIGHTLY earned state of paranoia.

    2. Re:Relax by NervousNerd · · Score: 1

      I believe that it's StarForce.

    3. Re:Relax by Kvasio · · Score: 1

      Also, why have you switched off your iphone citizen 533448?

      And you have not called your mother for 8 days now, citizen 29821274!

    4. Re:Relax by fuzzyfuzzyfungus · · Score: 3, Interesting

      Given that German has already gone and adopted an absurdly vague and overbroad law aimed at "hacking tools", I wouldn't really describe somebody hypothesizing that other jurisdictions might do so in the future as "paranoid".

      Perhaps ultimately more dangerous(because they tend to be subtler) are situations where no law ever bans something, per se; but some quiet mixture of contractual, legal, and technical pressure effectively prevents it anyway. Consider SDI for an instance of that. A digital video transmission standard, available well in advance of HDMI, that was frozen out of the "Consumer" market entirely. It's not like possession was illegal or anything; but most people never even heard of it, nor was it available on any broadly affordable hardware.

      In the case of something like debuggers, I'd be very surprised to see any sort of legal ban; but the technological/private sector contractual de facto neutralization is an eminently plausible scenario. Already, in recent versions of Windows, any media application that requires the "Protected Video Path" will throw a fit if there are any unsigned drivers loaded that could compromise that path. An analogous "Protected Execution Path", provided by the OS for programs that didn't want anybody else debugging them or looking at their memory, hardly seems implausible. Not to mention, of course, the increasing percentage of consumer-level computer activity that is occurring on devices were being able to run arbitrary programs isn't even an expectation. Not much debugging going on on Xbox360s, and debuggers don't have to be illegal to not be available through the App Store.

      There will always be gaps, of course, for the sufficiently knowledgeable, motivated, and well equipped; but a largely opaque consumer level computing environment seems like an unpleasantly plausible prediction.

    5. Re:Relax by Opportunist · · Score: 1

      My response was to kick their copy protection out of the game.

      What? It's legal! My country's copyright law explicitely states that disassembly and alteration of compiled code is allowed if necessary to make a system or program to interoperate with another one. No kidding. They pretty much prompted me to invoke that portion of our copyright code and crack their game. Without the crack, it is not able to cooperate with the disasselber or the CD-drive emulator I have running that I simply cannot turn off (sorry, part of the job, cannot uninstall them). So ... well, it's the law, it's not like I want to break that, ya know, I'd rather break your copy protection...

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    6. Re:Relax by Jenming · · Score: 1

      Actually there is a bunch of debugging going on on Xbox 360s. They got them to run Ubuntu.

      --
      Morpheus, God of Dreams.
    7. Re:Relax by Anonymous Coward · · Score: 0

      What game and by whom? Please tell us so I can avoid buying from them in the future. I use a hex editor about couple of times in a month, and I'd be pissed if I found out that a game I bought wouldn't run on my PC, and probably couldn't get a refund.

      Sometimes I wonder why I even bother buying games at all...

  9. All of the 8 and 16bit machines were knowable by jmorris42 · · Score: 3, Interesting

    It was possible to fully understand all of the old 8 and 16 but machines. Now you could spend momths trying to fully understand one video card, which would be replaced by something more complex by the time you finished understanding it.

    And that was a big part of it, the stability of the platforms during that era. A C64 was exactly the same as every other one, a Tandy Coco was identical to the million others of it's kind. Later models tended to retain as close to 100% backward compatibility as possible so knowledge and software tools retained value. Now you buy a lot of PCs with the understanding that a year from now you won't be able to buy more of the exact model even if you stick to Optiplexes and such that promote the relative stability of the platform. Something will be slightly different. So, understanding being impossible we abstract it all away to the greatest extent possible.

    If you want to reconnect with low level look at AVR microcontrollers. If you are really frugal you can get going for $20.

    --
    Democrat delenda est
    1. Re:All of the 8 and 16bit machines were knowable by WrongSizeGlass · · Score: 1

      It was possible to fully understand all of the old 8 and 16 but machines.

      Personally I prefer my butts to be over 18, but to each his own I guess.

    2. Re:All of the 8 and 16bit machines were knowable by Kvasio · · Score: 1

      You could still run notepad.exe and cal.exe from Windows 1.0, sir!

    3. Re:All of the 8 and 16bit machines were knowable by eulernet · · Score: 1

      It's not really exact, since the C64 existed in 2 forms: one for the US and one for the Europe.

      I vaguely remember that it introduced a difference in the fast disk-loading routine mentioned in a message above, because there was one cycle of difference (yes, simply a NOP).

      If somebody is interested, I can dig in my very old source code to retrieve this information (I coded several games for the C64 in the years 1985-1988).

    4. Re:All of the 8 and 16bit machines were knowable by Waffle+Iron · · Score: 1

      It was possible to fully understand all of the old 8 and 16 but machines.

      Well, a lot of the segment-based memory management features introduced in the 80286 seemed to be so complex and hard to understand that nobody really used them to the extent Intel envisioned. Once the much simpler page-based virtual memory was added to the 32-bit 80386, people tried to forget that those 286 features ever existed.

    5. Re:All of the 8 and 16bit machines were knowable by langelgjm · · Score: 1

      Not if you use a 64-bit version of Windows, you can't.

      Also I have my doubts about whether you actually could run those on a 32-bit version, but I'm not about to whip out VirtualBox and try.

      --
      "Anyone who [rips a CD] is probably engaging in copyright infringement." - David O. Carson
    6. Re:All of the 8 and 16bit machines were knowable by DerekLyons · · Score: 1

      And that was a big part of it, the stability of the platforms during that era. A C64 was exactly the same as every other one, a Tandy Coco was identical to the million others of it's kind. Later models tended to retain as close to 100% backward compatibility as possible so knowledge and software tools retained value.

      And because those computers insisted on remaining frozen in time is why vanished - because they became irrelevant as the world moved on and they didn't.
       

      Now you buy a lot of PCs with the understanding that a year from now you won't be able to buy more of the exact model even if you stick to Optiplexes and such that promote the relative stability of the platform.

      Nor do they need to be the exact same model. Software is smarter now-a-days and can run on a variety of non-identical machines of the same type.

    7. Re:All of the 8 and 16bit machines were knowable by mikael · · Score: 1

      You could spend months just trying to optimize a single large algorithm for a single video card (Terrain rendering) - there are now so many different ways of organizing data, pipelining routines between CPU, compute languages/CUDA and the GPU. The average GPU is now more powerful than a supercomputer from the 1980's.

      While the hardware for home computers remained the same, programmers were rapidly learning how to different things. We went from text only games in the six months of release, to custom character sets, single sprite block characters, to multi-sprite block characters, scrolling multi-level screens, isometric views, pseudo-3d racing game tracks, digitized speech, all within ten years.

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
    8. Re:All of the 8 and 16bit machines were knowable by jgrahn · · Score: 1

      And that was a big part of it, the stability of the platforms during that era. A C64 was exactly the same as every other one, a Tandy Coco was identical to the million others of it's kind. Later models tended to retain as close to 100% backward compatibility as possible so knowledge and software tools retained value.

      And because those computers insisted on remaining frozen in time is why vanished - because they became irrelevant as the world moved on and they didn't.

      That's either a truism, or a really strange thing to say. I don't know which. Would anyone want a faster C64 today, with a 1TB hard disk? If not, does that somehow negate the fact that the C64 was a kick-ass machine in its day? If yes, what would make it a C64 -- a chickenhead label on the keyboard?

    9. Re:All of the 8 and 16bit machines were knowable by Nobo · · Score: 1
      A C64 was exactly the same as every other one, a Tandy Coco was identical to the million others of it's kind. Later models tended to retain as close to 100% backward compatibility as possible so that it would be possible to even attempt to run code made for the computer you bought last year.

      Now you buy a lot of PCs with the understanding that a year from now you won't be able to buy more of the exact model. Thank God that having identical hardware is no longer mandatory to ensure a program will run in the future.

      There I fixed that for you.

  10. I miss those good 'ol days by v1 · · Score: 4, Insightful

    Though my experience was on the Apple II not the Commodore. Little things like writing your own device drivers, drawing graphics via direct access to interlaces vram, (oh the maths!) direct read latch access to the floppy drives, writing hybrid assembly/BASIC apps. It was grand.

    It's downright depressing to compare my present-day knowledge of computers, classify myself as somewhere in the upper 2%, and still wish I knew a quarter as much (percentage-wise) about my current computer as I did about my //c.

    *sigh*

    --
    I work for the Department of Redundancy Department.
    1. Re:I miss those good 'ol days by Anonymous Coward · · Score: 2, Interesting

      I think it's there if you want it. A couple of weeks ago I was writing in assembly language specifically for one of the top ten fastest computers in the world. Sure, there's a shitload I don't know about that cluster -- no idea if there's an RJ-45 port, much less how I'd access it via the assembler, but I could probably find out if I cared and got clearance for it.

      It's easy to romanticize simpler times, and there is some truth to them being simpler, but I'm damn excited about today. I mean, really, you can the guide for ARM assembler and pick up a phone or other portable, and have a ridiculous amount of computing power that you can bend to your will. OS and application bloat is either for a purpose (e.g., to make a computer easier to program for, or to add more features for less work) or a result of laziness, but on most systems you can get down to ground level if you really want. It's just that most people do not.

    2. Re:I miss those good 'ol days by MobileTatsu-NJG · · Score: 1

      It's downright depressing to compare my present-day knowledge of computers, classify myself as somewhere in the upper 2%, and still wish I knew a quarter as much (percentage-wise) about my current computer as I did about my //c.

      Can you get more done with a program today than you could with the Apple II?

      --

      "I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)

    3. Re:I miss those good 'ol days by TheRaven64 · · Score: 1

      One of the usability tests that Jef Raskin proposed was the time from turning a computer on to having written a program for adding two numbers together. On the C-64, a reasonably fast typist could do this in around 20-30 seconds. On a modern computer, you might finish the boot / resume process in that time, then you need to launch an app, then you can start writing. If you use something like Visual Studio / Eclipse / XCode, it will take a lot longer than if you use a terminal (expr $1 + $2 will do it on a *NIX system), and probably more than 20-30 seconds to even get to the point where you start writing code.

      --
      I am TheRaven on Soylent News
    4. Re:I miss those good 'ol days by MobileTatsu-NJG · · Score: 1

      Err okay... so are you rebooting and launching Visual Studio enough times that it takes longer these days to write a program than it did back in the C64 days?

      I must admit I am disappointed. I thought I was going to hear about how all the abstraction and use of libraries/modules/etc meant that we can create useful apps in a fraction of the time that we could in the 80's. I had no idea it actually took longer!

      --

      "I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)

    5. Re:I miss those good 'ol days by FiloEleven · · Score: 1

      That's right; one of the usability tests was boot-to-use time. I'm sure it was far from the most important, and there are changes in the way computers are used now that make it almost obsolete. For instance, my MacBook Pro might take over a minute from cold boot to an open terminal window, but I reboot it only rarely. Most of the time I just close the lid and let it sleep, so wake-to-use time is under 5 seconds; less if I already had a terminal window open.

      The answer to the grandparent's question is, "yes, absolutely."

    6. Re:I miss those good 'ol days by DiegoBravo · · Score: 1

      > One of the usability tests that Jef Raskin proposed was the time from turning a computer on to having written a program for adding two numbers together.

      So the Openoffice spreadsheet is totally unusable.

    7. Re:I miss those good 'ol days by Anonymous Coward · · Score: 0

      Though my experience was on the Apple II not the Commodore.

      Same here...the Apple IIc was the only machine I ever truly mastered on several levels. I still have my copy of "Beneath Apple DOS" in my library.

    8. Re:I miss those good 'ol days by jandrese · · Score: 1

      Heck, on some of the really old IBM PCs we had back in school, there was a ROM BASIC that would load if you didn't have a bootable floppy in the drive. You could have an adding program cranked out in about 5-10 seconds after hitting the power switch. I'm not sure what this proves though. How often do you crank on your computer to add two numbers together?

      --

      I read the internet for the articles.
    9. Re:I miss those good 'ol days by hoggoth · · Score: 1

      Those were the good old days.
      I could make beautiful music on my Apple II.

      No, really, I made music. Like this:

      10 POKE -16336,0
      20 REM TOGGLE SPEAKER
      30 FOR I=0 TO PDL(0)
      35 REM DELAY BASED ON POSITION OF GAME PADDLE
      40 J=J+1
      50 NEXT I
      60 GOTO 10

      Man... I was so productive back then...

      --
      - For the complete works of Shakespeare: cat /dev/random (may take some time)
    10. Re:I miss those good 'ol days by hoggoth · · Score: 1

      So, top 2%, what are you doing now?
      I also place myself in the top 2% and did very well as a freelance programmer for many years. Then I started competing with offshore programmers.
      Now I'm not a programmer any more. I miss it, but I need to make a living.

      --
      - For the complete works of Shakespeare: cat /dev/random (may take some time)
    11. Re:I miss those good 'ol days by ashitaka · · Score: 1

      I remember writing that exact same program. The rising and falling of the speaker tones as I twisted the paddle knob back and forth.

      Good times.

      --
      If you don't want to repeat the past, stop living in it.
    12. Re:I miss those good 'ol days by v1 · · Score: 1

      So, top 2%, what are you doing now?

      Today I do warranty repair work for Apple at an AASP. Our shop is small, but I have the satisfaction in knowing we're good and well-respected. From time to time the local (50 miles away!) apple store actually sends customers here because they can't cut it. :)

      Hence the wish that I could have anywhere near the mastery level on the mac as I did on the II. But for now I solve problems, I fix things, and I help people. That sums up what I enjoy doing, and usually involves technology. Any technology really, I'm not picky. ("jack of all trades" type)

      --
      I work for the Department of Redundancy Department.
    13. Re:I miss those good 'ol days by v1 · · Score: 1

      I still have my copy of "Beneath Apple DOS" in my library.

      that went out with the lot about 5 yrs ago when I realized it was time to leave that era behind. Very few books, but I think I was up to close to 300 floppies. Had the entire Beagle Bros collection, that was an excellent outfit. I Hear Alan Bird is working for Apple now. Kinda wish I'd have kept those manuals, they were gems.

      --
      I work for the Department of Redundancy Department.
    14. Re:I miss those good 'ol days by bennomatic · · Score: 1

      20-30 seconds is a long time when we're talking about my iPod Touch with the calculator app.

      --
      The CB App. What's your 20?
    15. Re:I miss those good 'ol days by Anonymous Coward · · Score: 0

      Can you get more down with a program today than you could with the Apple II?
      ]
        ]
      Wang word processing machines, they'll never go out of fashion

    16. Re:I miss those good 'ol days by TuringTest · · Score: 1

      Most of the time I just close the lid and let it sleep, so wake-to-use time is under 5 seconds
      I'm sure this would qualify as "boot-up time" with respect to that particular usability test.

      --
      Singularity: a belief in the "God" idea with the "demiurge" relation inverted.
    17. Re:I miss those good 'ol days by gbjbaanb · · Score: 1

      But for now I solve problems, I fix things, and I help people. That sums up what I enjoy doing, and usually involves technology

      Thank goodness we have those offshored programmers to make things that then require fixing!

    18. Re:I miss those good 'ol days by walshy007 · · Score: 1

      Today I do warranty repair work for Apple at an AASP.

      Dear god you must enjoy pain, as newer apple products come out they continue to progress towards 'no user servicable parts' with more and more annoying ways to keep people out of them (1mm phillips screws etc etc)

      As a tinkerer/fixer of things it must be frustrating to work with such hostile hardware.

    19. Re:I miss those good 'ol days by hoggoth · · Score: 1

      1mm phillips screws? How about needing a 'spudger'?! Who the hell has a spudger, or has ever heard of a spudger?!
      Oh, and Apple will NOT sell you a spudger if you aren't an approved repair company.

      I have a pack of tiny plastic swords for mixing fruity cocktails on tropical cruises that work great as 'spudgers'.

      --
      - For the complete works of Shakespeare: cat /dev/random (may take some time)
    20. Re:I miss those good 'ol days by Reaperducer · · Score: 1

      Makes sense. Back in the C=64 days, taking four months to write and publish a game was considered an eternity. These days some games take years to produce and cost millions of dollars.

      And what happens every time a new computing platform comes out? People instantly try to find ways to run those old 1980's-era games on them.

      The modern game industry doesn't understand that throwing money at a game doesn't make it fun.

      --
      -- I'm old enough to have lived through six different meanings of the word "hacker."
    21. Re:I miss those good 'ol days by hitmark · · Score: 1

      and most of that production time is probably spent on maps, models, motion capture and voice recordings, not the game engine (more often then not its the unreal 3 engine by way of a license).

      --
      comment first, facts later. http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm
    22. Re:I miss those good 'ol days by Anonymous Coward · · Score: 0

      These days some games take years to produce and cost millions of dollars.

      In unrelated story: DNF release is scheduled for

    23. Re:I miss those good 'ol days by v1 · · Score: 1

      newer apple products come out they continue to progress towards 'no user servicable parts' with more and more annoying ways to keep people out of them (1mm phillips screws etc etc)

      You must be new to apple service. I've been at it for going on 10 years. I'll take a new mac to work on any day over an old one. 40+ screws of 15 different sizes in random places to replace the logic board in a clamshell ibook from '98 is a great example. Maybe you have something there with "no user serviceable parts", but certainly not "no serviceable parts". Very few laptops have many "user-serviceable" parts in them anyway. As an example, GSX lists 140 available parts for the late 2009 macbook, and over 200 for the latest 27" imac.

      As for "1mm screws", that's almost funny to read. The newest macbook can be torn completely apart with a #0 philips and a T6. There are a few "triwing" security screws to keep people from trying to swap out batteries all the time and wear out the internal connector on those models with built-in batteries but that's about it for challenging fasteners. Quit trying to use butter knives and tackhammers to work on computers, get yourself a good set of Wiha or something and quit rounding the screws, I'm tired of having to get out the screw extractor from when the last clown to try to work on the computer stripped the heads off.

      Where are you pulling your arseformation out of anyway? The pc tech on the other side of the room is constantly cussing about bad design making his service life a PITA. I'll work on a mac any day thankyouverymuch. The only tough Apple products to work on nowadays are some of the ipods. (the "ipod classic" comes immediately to mind)

      --
      I work for the Department of Redundancy Department.
    24. Re:I miss those good 'ol days by walshy007 · · Score: 1

      The only tough Apple products to work on nowadays are some of the ipods. (the "ipod classic" comes immediately to mind)

      And the ipod touch, etc, not sure about you but I get a craptonne more ipod service requests than actual mac computer ones, I agree mac pro's aren't difficult to service but compare how many people have mac pros compared to ipods, etc.

      As for "1mm screws", that's almost funny to read.

      See ipod touch for that one

      Where are you pulling your arseformation out of anyway?

      From a friend who has been an apple service provider for about fifteen years, and disassembly of imacs/ipods etc myself.

      You must be new to apple service. I've been at it for going on 10 years. I'll take a new mac to work on any day over an old one. 40+ screws of 15 different sizes in random places to replace the logic board in a clamshell ibook from '98 is a great example.

      Oh I already know how bitchingly difficult some of the old g3's etc could be, just because their main product line is a lot easier than it used to be doesn't mean it's not ridiculous compared to other modern machines.

      Putty knife with the mac mini anyone?

      To be fair my hatred of apples methods of keeping people out probably stems from the sheer amount of ipod classics and touches I have to fix compared to other apple hardware, fact is those are their most popular products though.

    25. Re:I miss those good 'ol days by v1 · · Score: 1

      See ipod touch for that one

      Yes all the ipods have really small screws. The screwdrivers that come with the kits work well but sometimes you have to get the glue out of the head first. (nano)

      I actually have gotten used to digitizer screen replacements on the touches and iphones finally. The hardest part of the whole operation is getting the shattered bits of glass off the front frame's adhesive.

      Putty knife with the mac mini anyone?

      That's a modified putty knife of course! I remember opening the first one of those, the customer I just knew was going to expect there to not be a mark on it, and getting that case open without at least a little dent in the white plastic there is really tricky.

      To be fair my hatred of apples methods of keeping people out probably stems from the sheer amount of ipod classics and touches I have to fix compared to other apple hardware, fact is those are their most popular products though.

      Mostly macbooks and macbook pros around here. Some techs seem to be afraid to work on laptops, I speculate they're more comfortable working with tower PCs with tons of room in them and not much in the way of precision fits. But now there's just the one service cert instead of two (desktop and laptop). I know we got a lot of business in the past from places that fixed desktops onsite but mailed in 100% of the laptops. We only mail in for something that's going to require a ton of parts or labor since apple penalizes us for using lots of parts and pays labor per-job not per-difficulty.

      --
      I work for the Department of Redundancy Department.
    26. Re:I miss those good 'ol days by Anonymous Coward · · Score: 0

      For 1 liner quickies, why bother with a full blown IDE?

      meta+R notepad add.vbs
      msgbox 2+2
      ctrl+s
      alt+f4

      This method is especially useful for date calculations, i.e. "msgbox #1-2-2010#-#1-1-2010#" for the number of days in January.

      Of course, the computer still is taking too long to boot up. If all you do is write programs to add two numbers together, you might want to put qbasic into your autoexec.bat file.

  11. Re:Totally outdated... by phantomfive · · Score: 2, Interesting

    But.......anyone who would have trouble going without garbage collection, and couldn't learn how to code on a C64 probably shouldn't have a job. And anyone who can code on a C64 should have no problem adjusting to garbage collection.

    --
    Qxe4
  12. Re:Totally outdated... by tepples · · Score: 2, Informative

    Today we have garbage collectiors in Java

    Garbage collectors in Java are good for collecting objects that own only memory but lousy for collecting objects that own resources other than memory. Resource leaks happen whenever someone forgets to close() something in a finally block, just as they do in C++ when someone forgets to delete or delete[] in a destructor or in the exceptional path of a constructor.

    Everyone who still writes code on the C64 instead of Java won't get a job.

    Unless you're in charge of making a PC or phone port of classic C64 games. Then you need to know both Java and C64 assembly language.

  13. Just say embedded by Anonymous Coward · · Score: 1, Informative

    All the stuff we learned on the VIC-20 and Commodore 64 (and PET) still applies in the embedded world. If you could program them, you can totally do a PIC or an Atmel AVR (or Arduino).

  14. If you miss the 8-bit era... by Anonymous Coward · · Score: 4, Informative

    ...buy yourself some Atmel microcontrollers (ATMega8 is a good choice). This will be instantly familiar to anyone who programmed assembly language on the C64. There are some differences, the Atmels aren't Von-Neumann architecture but Harvard architecture (separate program and data address space) and the CPU has more registers, but there is excellent hardware documentation, the complete command set and detailed register descriptions in the data sheet. There are lots of interesting application notes (IR decoding, interfacing to PS/2 keyboards, LCD output, ...). The Arduino system is based on an Atmel microcontroller, so there is also a big application oriented community in addition to the people coming from the electronics side.

    It's not a toy either. These controllers are everywhere. Have fun and learn a useful skill...

    1. Re:If you miss the 8-bit era... by Anonymous Coward · · Score: 0

      Indeed. I have my arduino running my 400 gallon fishtank.

      It:

      a) Feeds the fish
      b) Changes the water
      c) Monitors PH, TDS and EC levels and compensates with drippers
      d) Turns the lights on and off
      e) Monitors temperature and runs cold water through coils if it gets too high

      $30.

    2. Re:If you miss the 8-bit era... by vertigoCiel · · Score: 1

      I'm a youngin' myself, so I wasn't around for these "good ol' days." However, I recently got hooked on AVR microcontrollers via Arduino, and I'm loving it. Being able to have total control and understanding of the hardware, to hold the entire execution context in ones head, is exhilarating. My laptop is more or less a black box that I stick my code into, but with these AVR chips I understand exactly what's going on with each and every instruction, and there's simply nothing that I can't do.

      Right now I'm working on a threads system for the ATMega family of microcontrollers. It's tons of fun, and I'm learning a lot, not only about the hardware and assembly programming, but also about how my "real computer" and "real languages" work (for example, what exactly is going on when function calls happen).

      I can't recommend these things strongly enough. I think that it's an essential experience for any programmer, and if you've just started programming in the past five years or so, chances are you haven't dealt with anything like it. Even if you have, you can still do tons of nifty stuff with these things, and they're only $30 for a ready-to-program, USB package.

    3. Re:If you miss the 8-bit era... by Anonymous Coward · · Score: 0

      Schematics and pictures online please. I want to build a similar system.

    4. Re:If you miss the 8-bit era... by pommiekiwifruit · · Score: 1
      It is such a difference in attitude to developers between Atmel (Norway) and various other chip companies (Taiwan):

      Free software with documentation available from the web site and dirt cheap professional looking devkits for 26 pounds, versus thousands of pounds (official ARM software)/hundreds of dollars (CodeSourcery) and hundreds of euros (segger j-link).

      Or you can try hobby project software and hardware for ARM, but it is a lot more DIY. Admitedly there are other options for students, but you would think chip manufacturers would want small companies to like their stuff. So I am a fan of Atmel's attitude and hope that the Arduino project has legs for the next few years.

      The internal tools for various companies proprietary chips may well be nice, but they are restricted from students or the general public, which seems counterproductive to me (but that is their choice).

    5. Re:If you miss the 8-bit era... by vertigoCiel · · Score: 1

      Alternatively, you can use the avr-gcc toolchain, which is completely free. It even includes a program capable of talking to JTAG/ICE debugging devices, so you can debug with gdb.

  15. Its still possible.. by ickleberry · · Score: 3, Insightful

    To know a computer from the ground up, as it were. Its not some long lost dream or anything, after all your average disposable Crapple Netbook with "clout computing" or Octocore Core i13 and a half is just a fancy C64 with more CPU instructions, more memory, more peripherals that runs faster.

    Its just that unless you start off at the low level, learning about transistors and that sort of shizzle and learning assembly language you probably will never bother to learn it. A lot of programmers now think about functions, objects and arrays as if they actually exists - not just a convenient way of presenting blocks of code and data in a way that makes it easy for you to understand. Fuck it, a lot of people fairly high up on the IT scene have no clue in the wide world about TCP or UDP but they sure as hell know how to write a 'Web App' using JSON and the latest Web 2.5 gimmick completely oblivious to any of the lower levels.

    The problem is when you have nearly everyone going for the latest abstraction layer, easy low hanging fruits (at the expense of efficiency and everything else - rabble rabble rabble) high level stuff there might be a day 2110 when they're still using HTTP + more abstraction layers but quantum computers aren't getting any faster for what they need and nobody knows knows any of the low-level stuff anymore. If you are the one kid on the block who knows how to write assembly in 2110 you'll be a rich man by 2111, just in time for the end of the world cause the Mayans were off by 100 years.

    1. Re:Its still possible.. by Anonymous Coward · · Score: 0

      Nope, sorry, it's not possible to know all about a computer anymore. You may know the principles of the usual abstraction, but the details are too numerous and complicated for one person. Just some buzzwords: microcode, out of order execution, cache coherency, gated clocks, register renaming, MMU, SMM. Those are all in the CPU and even understanding these few concepts in detail would be challenging to anyone who's not designing chips for a living. Then there are all the other components in a computer: bus systems (with DMA, IRQs, ...), video card (OpenGL/Direct3D APIs, CUDA, video timings, VGA, DVI, HDMI with encryption, ...), USB (isochronous/interrupt/bulk transfer modes, different speeds, electrical characteristics...). The list goes on and on. Even knowing what there is to know is almost impossible.

      In the 8-bit era, you could physically build a complete computer yourself, write every byte of its software, know all registers and their interactions, all peripheral connections, literally everything. You did not have to guess many clock cycles an instruction would take at any time. If there even was a variation, you knew exactly what the possible influences were and how to control them.

    2. Re:Its still possible.. by TheRaven64 · · Score: 5, Informative

      Octocore Core i13 and a half is just a fancy C64 with more CPU instructions, more memory, more peripherals that runs faster

      Possible, but nowhere near as easy. I've read most of volume 3A of Intel's architecture reference while doing background reading for my Xen book, but the complete architecture reference is well over 3,000 pages. The GPU reference - if you can get it - is a similar length, and that's before you get to the OS. The Design and Implementation of the FreeBSD Operating System is 720 pages. It's a good book, but it skips over a lot of details. The copy of the X11 protocol reference that I read was several hundred pages, and it's a few revisions old. The OpenGL reference was a similar length. But now you can do 2D and 3D graphics and, once you've read the C spec (not so bad, only a couple of hundred pages) and spent some time familiarising yourself with your C compiler and standard library you can draw things.

      To get the level of understanding that the original poster is talking about, on a modern computer, means reading and remembering around 10,000 pages of reference books, and gaining familiarity with the source code that they mention. And that's just going to give you one CPU architecture and the core bits of the OS.

      --
      I am TheRaven on Soylent News
    3. Re:Its still possible.. by Jah-Wren+Ryel · · Score: 2, Interesting

      You are only partly right. All of those things are knowable and learnable within a reasonble length of time - the problem is getting the documentation to know them. Too much documentation is locked up as proprietary info, either behind a paywall or an NDA wall.

      --
      When information is power, privacy is freedom.
    4. Re:Its still possible.. by phantomfive · · Score: 2, Interesting

      I don't know man, it's a lot of work. On my computer I have Ruby, Python, Perl, GCC, and who knows what else installed. There are tons of APIs that I don't know what they do, even in the languages that they do know. I also have a webserver, and FTP server, and probably several other servers. They aren't running right now, but they came with the system.

      On top of that, I have postfix config files, a mach_kernel file, and a bunch of other weird files that are either quite complex (this book about Postfix is 288 pages), or I have no idea what they do, or they are binary and I have no hope of ever figuring them out. Even if I switch to my Linux partition, where I have the source code to everything, it's a lot of work to understand every single file in even just the Kernel. I'm not sure anyone even understands the Kernel itself completely. I haven't talked about hardware yet, but Intel processors do some tricky out of order operations and pipelining and such, it's not always easy to predict what is going to happen on one of those things. It is a lot of knowledge, and I am not sure anyone actually does understand it today, even if it is possible. No one I know makes that claim.

      This is really different from the days of the C64, where the entire thing was only 64k (actually more with paging). You can read the entire memory contents of 64k in an afternoon, literally everything on the computer. You could definitely understand all the 'source code' (except the source code was in assembly) to the entire system. Predicting what the processor would do and how long it would take wasn't hard. You could fit everything about the system (even schematics to the hardware) in a single book.

      --
      Qxe4
    5. Re:Its still possible.. by Anonymous Coward · · Score: 0

      ...to stop using cliffhanger subjects. Really, give it a try; your readers will thank you for respecting them more.

    6. Re:Its still possible.. by bhtooefr · · Score: 1

      You could learn pretty much everything about a headless Solaris/SPARC system.

      OpenSPARC T2 to learn about the CPU (and chipset, it's a SoC,) OpenSolaris to learn about the OS.

      Graphics would be the only thing in a normal system that wouldn't be included.

    7. Re:Its still possible.. by Anonymous Coward · · Score: 0

      Blame consumerism... I remember my very first introduction to computers: a book (something by PC/Computing, "How a computer works" IIRC) which described only the hardware: modern silicon transistors, how CRTs work, how FDD/HDDs work, what bits/bytes are, difference between serial/parallel etc with pretty, simple pictures in only a few colours. Only a few years later I first touched one of those things, but by then the book was already worn out! It was one of my first books at that. It probably is responsible for my computing interest today.

      The point being, such introductions which emphasise the human side of computers (what you see, touch etc) makes fiddling around with computers a much more gentlemanly affair like music or painting. Nowhere is work mentioned.

      I wish more books like that were still around.

    8. Re:Its still possible.. by cheekyboy · · Score: 1

      If I as a 13 yo could learn C64 asm over a weekend, then surely an adult in the future could learn CPUs too.

      Theres nothing wrong with abstraction, we all did it even in assembly via macros, data tables etc....

      Its just natural that today we have 10x more layers, as we have 1000x more cpu speed.

      A mandelbrot in javascript will still be faster than ASM on a c64.

      --
      Liberty freedom are no1, not dicks in suits.
  16. Misty-Eyed Nostalgia by GaryPatterson · · Score: 2, Insightful

    It's lovely to remember what was, but not so great to forget what we have today.

    Sure, we generally don't know the whole widget from top to bottom, but it's a hell of a lot easier to get a program up and running. It's not just frameworks either - the choice of languages we have today beats the crappy BASIC we had then, or the assembly language tools we had.

    The first machine I knew inside-out was the ZX-Spectrum. While I like to remember it fondly, I would never want a return to those primitive times.

    It's a bit like object-oriented programming - we hide the details of an object and only deal with the interface. It's more scalable and leads to faster development.

    1. Re:Misty-Eyed Nostalgia by Anonymous Coward · · Score: 0

      And when people like you write programs with your "faster development", you end up making the rest of us waste time waiting for your inefficient programs, because due to your willful ignorance about what functions actually do, you didn't realize what was wrong with "for (i = 0; i < strlen(s); i++)".

      It's fucking sad that computers are actually slower than they were 20 years ago thanks to people like you.

    2. Re:Misty-Eyed Nostalgia by xtal · · Score: 1

      If you want to know a platform inside out, there's a fully documented open-source linux kernel staring there at you in the face.

      Go get any of the dozens of embedded arm kits, any of the GREAT bits of documentation, and dig in. You want to get dirty with the hardware? U-boot is right there.

      Want to pay with SRAM and gates? A $100 FPGA will get you all you need. Including a VGA out. We made a fully HDL Pong Game; including the VGA DAC out of a $20 part.

      Hell, for ALL that matter, go get a Gameboy (any one) for peanuts, a loader cartridge, and hack away!

      I'm as much for nostalgia as the next guy, I cut my teeth on a Vic-20 and a C64; I'm an EE because of the experience. I wouldn't go back for a second though. For the price of my first computer you could get yourself a really nice embedded development shop and do some pretty cool stuff.

      It's a great time to be interested in this. There will always be good programmers, and there will never be enough of them.

      --
      ..don't panic
    3. Re:Misty-Eyed Nostalgia by headkase · · Score: 1

      I'll take a guess at what is wrong with that code: the strlen() function needs to count the number of bytes in the string on each iteration of the loop. That takes time. A faster way to do it would be to assign the result of the strlen() function to a variable and use that variable in the loop construct. That way it would only be computed once.

      --
      Shh.
    4. Re:Misty-Eyed Nostalgia by TheRaven64 · · Score: 1

      you didn't realize what was wrong with for (i = 0; i < strlen(s); i++)

      Nothing, with a decent compiler. The loop-invariant code motion pass will ensure that the strlen() call is not invoked more than once. The simplify lib call pass may even remove the strlen() call entirely if the length of s can be determined at compile time.

      --
      I am TheRaven on Soylent News
    5. Re:Misty-Eyed Nostalgia by JaredOfEuropa · · Score: 1

      Nostalgia, and attention spans. Sure, our attention spans, of us, the old farts!

      We do not know the whole widget anymore from top to bottom like we did with the 8-bit machines of our childhoods... but if I talk to kids with an interest in computers today, they know a great deal more about the nitty-gritty of modern machines than I do. Sure they aren't taking a soldering iron to the motherboard anymore like I used to do with the C64 to make some sort of interface, instead they stick some components on a breadboard and plug it right into a USB socket... and then proceed to write a driver for whatever it is they whacked together. What I really miss is having the time and dedication to do that sort of thing... but I don't. You are right, computers are different but no less accessible to tinkering. What has really changed is us

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    6. Re:Misty-Eyed Nostalgia by tzanger · · Score: 1

      It'd be pretty straightforward to circumvent a compiler's idea that the length of s is invariant for each loop pass. Some pointer math could probably do it rather handily.

      I'm not saying that that's *right*, but relying on the compiler to optimize away your indiscretions is a rather poor way to write code.

    7. Re:Misty-Eyed Nostalgia by TapeCutter · · Score: 1

      Ok I'll feed the AC troll...

      The bodyless loop can be replaced with "i=strlen(s);", if it has a body then pre-assign a variable instead of calling strlen() at each iteration (which a modern compiler would do automatically anyway). But what is that supposed to prove? That stupid people can write stupid code? That stupid people didn't exist 20yrs ago?

      What is "fucking sad" is that you don't realise 's' is an "object" and strlen() is a "string method" that hides it's implementation details behind an API. The creation of standard C libraries lead to scalable code and faster development, which is exactly the same point the OP was making.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    8. Re:Misty-Eyed Nostalgia by GaryPatterson · · Score: 1

      Hmm... random abuse from some twit who presents a trivial example of developer stupidity and believes everyone must be as stupid as they demonstrably are.

      Good trolling, coward. Good trolling. Most trolls try to show others are stupid, but you're more focused on your own failures.

    9. Re:Misty-Eyed Nostalgia by Anonymous Coward · · Score: 0

      Yep. I get misty eyed when I think of the 'good ole days'. Its a bit like a girl I knew who came to North America from the old country (Eastern Europe). She would reminisce fondly about how things were, even occasionally tearing up. She went back. Then came back. Reminiscing gone. She fondly recalled friends and family and sights she hadn't seen in a long time. And that was it. The rest was a rude re-awakening. The vast number of golden sunny memories tarnished as she stepped off the plane. She is fond of her family, and some childhood memories. She won't let go of them and they still make her tear up. She was also quite happy to get back on the plane and come back.

    10. Re:Misty-Eyed Nostalgia by Anonymous Coward · · Score: 0

      Exactly. And if strlen is defined in an external library then the compiler will not optimize that loop to a single function call. For all it knows strlen could be const size_t strlen(const char *) { return random_int(); }

    11. Re:Misty-Eyed Nostalgia by RAMMS+EIN · · Score: 1

      ``Sure, we generally don't know the whole widget from top to bottom, but it's a hell of a lot easier to get a program up and running. It's not just frameworks either - the choice of languages we have today beats the crappy BASIC we had then, or the assembly language tools we had.''

      I actually have a different perspective on that.

      It used to be that your computer came with a BASIC implementation easily accessible. Since BASIC is also very easy to get started with, getting started with programming was very, very easy.

      Nowadays, getting started with programming is often much harder. Many computers don't ship with development tools anymore. Many languages in common use are quite a bit harder to get started with (how many concepts are in your Hello World in BASIC, and how many in Java?). You will also typically have to choose from among the myriad of libraries and frameworks, or get the choices forced upon you, and you will have to learn the concepts employed in those, too. And whereas it was normal back in the day to know how your computer actually worked, only a fraction of programmers know this nowadays - a situation which is not helped by hardware manufacturers actually refusing to disclose it to you.

      It's not all doom and gloom, but there are certainly things that were better back in the day. It certainly seems to me that both the barrier to entry and the amount of effort you had to put in to really know all the ins and outs was lower in the home computer era than it is now.

      --
      Please correct me if I got my facts wrong.
    12. Re:Misty-Eyed Nostalgia by K.+S.+Kyosuke · · Score: 1

      It's not just frameworks either - the choice of languages we have today beats the crappy BASIC we had then, or the assembly language tools we had.

      Enter Blazin' Forth for C64: Disk-based Forth system, rather fast, with incremental compiler for interactive development, assembly integration... The author was giving it away in the 80's. The fact that the Micro-Soft (;-)) BASIC V2.0 was a piece of crap and that batch assembly tools were useless does not mean that there was no better solution.

      --
      Ezekiel 23:20
    13. Re:Misty-Eyed Nostalgia by K.+S.+Kyosuke · · Score: 1

      AFAIK it will, if you declare the function with __attribute__ ((pure)) (not recommended in case of returning a random int :))

      --
      Ezekiel 23:20
    14. Re:Misty-Eyed Nostalgia by TheRaven64 · · Score: 1

      strlen() is defined by the C specification. The compiler is therefore free to assume that it is a pure function with well-defined semantics. Your definition would violate the specification and a conforming compiler is completely free not to use it. The result of redefining a specification-defined standard library function is undefined, so the compiler can do whatever it wants.

      --
      I am TheRaven on Soylent News
    15. Re:Misty-Eyed Nostalgia by howzit · · Score: 1

      Before my C64 I had a VIC2o, but the funnest was a Heathkit DIY computer that had a 'HIGH LEVEL LANGUAGE'! It was called TINY BASIC and tiny it was. It only had 12 commands! Was like explaining to someone over the phone what to do, but only having 12 words to explain it to him. Yes, it was EXACTLY like that!

  17. V-Max by headkase · · Score: 5, Interesting

    One of the most comprehensive protections at that time was called "V-Max!" which stood for Verify Maximum. What were called "nibblers" for disc copy software couldn't touch it even though those nibblers represented the ultimate in disk copy technology at the time. There were two ways to copy V-Max, the first was to get a dedicated hardware copying unit. The second was to apply a bit of knowledge with a debugger cartridge: the V-Max protection was a turn-key system you gave them files and they wrapped the protection around it and provided a fast-loader at the same time. So what you would do is fill all of memory (the whole 64K) with a value you knew say: $AF. Then you would load a V-Max file from the disc, it's loader would automatically take over and while it was loading you would enter your debugger cartridge and change it's exit point to point to itself. So instead of $0800: RTS you would make it $0800: JMP $0800. Then you would wait for the V-Max loader to fully load the file. Then a quick button press on your debugger cartridge and use the memory monitor to find where the file loaded by seeing what memory was NOT $AF. Then from the debugger cartridge save that memory block out again. Completely de-protected file. Since V-Max used standard kernel-load vectors the program itself needed no further modification, the protection was completely gone you just lost the fast-loader function. Which you then re-added yourself into a chunk of memory wherever the game didn't use it. Relocatable code was best for that. Later versions of V-Max also did on-the-fly decompression of files so occasionally while stripping the protection you would run into a situation where your destination disk ran out of space versus the original protected disk. Again, that was worked around by inserting your own custom loader into the kernel load-vectors which also did decompression. V-Max was impossible for copy software of the day to copy but with a little bit of knowledge and a debugger cartridge it was absolutely trivial to defeat.

    --
    Shh.
    1. Re:V-Max by bill_mcgonigle · · Score: 1

      What were called "nibblers" for disc copy software couldn't touch it even though those nibblers represented the ultimate in disk copy technology at the time.

      What made it impossible to copy the bits from one disk to another (I assume this is what a hardware duplicator you mentioned would do)? I'm familiar with the terminology from the day, but was only beginning to understand computers at the time.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    2. Re:V-Max by headkase · · Score: 1

      All I know is that the best copiers wouldn't do it while a MSD dual-drive with a custom program (don't remember what it was called, by the Fast Hack'em guys) and a 16K RAM chip soldered into the drive would do it. I didn't own one of these dual drives, mine was the single-floppy model. Ironically the MSD drive would copy it but still couldn't play it.

      --
      Shh.
    3. Re:V-Max by bill_mcgonigle · · Score: 1

      by the Fast Hack'em guys

      Now there's a name I've not heard in a long time, a long time.

      and a 16K RAM chip soldered into the drive would do it.

      Ah, OK, so they needed to buffer for some reason, at least two, maybe 3 tracks' worth of data. That's a clue, anyway.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    4. Re:V-Max by headkase · · Score: 1

      Yeah I'm starting to recollect bits from the fluffy haze of memory: It was a buffer issue, the drive needed to copy an entire track at a time and 1541's and normal MSD drives did not have enough on-board memory to do that. It was like if you copied a single track bit by bit you could never get the parts to line up exactly for the protection but copying an entire track it was all done in one burn so everything was aligned. I'm reaching the limits of my hazy memory and without the actual name of the program to google with it's very difficult to get more details. Sorry.

      --
      Shh.
    5. Re:V-Max by bill_mcgonigle · · Score: 1

      I wonder if it was for the half-track nonsense some of the duplication houses used. If you can read two tracks into memory, any half-track interference can be calculated and then you have three tracks in memory (15K-ish) and can write out the two real tracks that a normal 1541 will be reading.

      Maybe. Mike J. Henry would know. :)

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    6. Re:V-Max by headkase · · Score: 1

      Heheh, well I surely don't know! ;) I just remember that it was important to have then entire track in a buffer. The only logic I can see with this is that somehow the stitching together of track pieces did not reflect the original and was detected by the protection system! Interesting today is that media such as DVD's and CD's are completely digital, there are no magnetic "weak-bits" and such to deal with anymore but the issue with 1:1 duplication is that consumer writers will say to themselves: "I know how to burn a track!" and burn one that is compliant instead of one that is exact with what they read. And of course if you had a raw burner I'm sure it would be illegal under the DMCA. Isn't progress grand? ;(

      --
      Shh.
  18. Why lament? by smackenzie · · Score: 1

    Why "lament the decline of that kind of deep knowing?" Shouldn't we just encourage teens, students, hobbyists, computer science majors (e.g., anyone with an interest in this kind of thing) to get out there and buy a C64 or a kit or an open source game machine or an embedded device or any of the other numerous projects in which we could pursue "deep knowing"?

    Frankly, it's a great time to be interested in computers: absurd amounts of power for cheap, _along with_ easy access (thank you Internet) to kits, information, software, books, older devices, embedded devices, game devices, community help, etc.

    It doesn't have to be either or.

    1. Re:Why lament? by Unoti · · Score: 1

      Exactly right. Or to look at the flipside: In the C64 era, I often heard old timers talk about "kids these days! You just bring your computer home and plug it in! If you really want to know something about computers, build it yourself, like I had to do with my Altair and my Heathkit!" If you look at Popular Science from the 1950's it isn't even talking about computers much-- just a lot of radar, radio, and general electronics. Most people today don't know the first thing about RF, but that was all the rage then.

      And before that, people probably raged about losing the art of sword mastery with the advent of guns. And on and on.

      Nostalgia is great and all. But on a C64 I'd write a FOR/NEXT loop from 1 to about 400 to do a 1 second delay. Write that in C, or heck, Python or even javascript and see what happens. Computers are mind blowingly faster now. Plus, think of the wonders youngsters can learn Google now-- everything from the details of bestiality to the finer points of making explosives with things from the garden supply store. Or even useful things like honing their skills in other languages, or connecting with other cultures from their laptop. Get a grip people: it's better now than it was then!

  19. Want to read Programming the Commodore 64? by gklinger · · Score: 5, Informative

    Should anyone wish to download an electronic copy (PDF) of Programming the Commodore 64 by R. C. West they may do so from DLH's Commodore Archive. It's a community supported archive of Commodore-related printed materials (books, magazines, newsletters, manuals etc.) and it could use your support. Enjoy.

    1. Re:Want to read Programming the Commodore 64? by Anonymous Coward · · Score: 0

      ...and he might as well be hosting that file on a C64. Server is already buckling.

  20. Web Server / App Farm by Frosty+Piss · · Score: 4, Funny

    This guide is *GREAT!*

    I've got 6 web sites and 25 mission critical apps running on a cluster of 10 Commodore 64s. It started out with just one, but as our business expanded, we just kept adding them on. It would be a bear to migrate to MS-DOS or Windows 1.0, but maybe it's time. The acoustic coupler modem is a bit slow, but it's been working for us since 1990, it's hard to justify the upgrage.

    --
    If you want news from today, you have to come back tomorrow.
    1. Re:Web Server / App Farm by TheRaven64 · · Score: 1

      You're joking, but the Contiki operating system runs on the C-64 and has a web server. It also has a working IPv6 stack, so you can serve your web pages over either IPv4 or v6 from a C-64.

      --
      I am TheRaven on Soylent News
    2. Re:Web Server / App Farm by Anonymous Coward · · Score: 0

      subscribe

    3. Re:Web Server / App Farm by onepoint · · Score: 1

      he might not be joking LOL
      sorry I don't have the c-64 mag issue to cite it exactly ...

      I have seen c-64's used to manage MRI machines ( via the serial port i think ), seen c-64's have 5 to 7 modems for BBS, saw a nifty cluster of c-64's handling an assembly line for furniture ( how that was handled still baffles me to this day.

      --
      if you see me, smile and say hello.
    4. Re:Web Server / App Farm by Anonymous Coward · · Score: 0

      Liar! The web wasn't invented till after 1990. You lie, you invented the web didn't you!

    5. Re:Web Server / App Farm by Frosty+Piss · · Score: 1

      Liar! The web wasn't invented till after 1990. You lie, you invented the web didn't you!

      That's a bunch of BBS, baby!

      --
      If you want news from today, you have to come back tomorrow.
  21. Still got my two C=64 machines! by Terminus32 · · Score: 0

    Awesome stuff! Got a 1200 baud Compunet modem too, haha!!!

    --
    http://nathanlindsell.blogspot.com/
  22. It still is possible by Anonymous Coward · · Score: 0

    "Back in 1985 it was possible to understand the whole computer, from the hardware up..."

    It still is, many of us do. A good place to start is with an embedded system.
    Starting with an FPGA even opens up things that were Black Boxes to us in the 80's.

    A PC is not any more complex. Really.

    Windows being closed has had _exactly_ the effect RMS feared that led to the GNU
    project, and directly to this story. If it were not for that, I think many would agree that
    the situation is actually better today.

  23. Uphill Both Ways by headkase · · Score: 5, Interesting

    And why did I spend time removing protection systems? Funny that part is: I owned an MSD floppy drive which was completely incompatible at a machine-language level with the 1541 drives everyone else owned and that all the game-makers wrote their protection systems for. So my floppy drive would load any of the software of the day. I literally bought a game, had to hack away the protection, and then I could play it on my computer. Of course no one will believe me when I say this but damnit, its the truth! Now get off my lawn.

    --
    Shh.
    1. Re:Uphill Both Ways by headkase · · Score: 1

      ...would not load any of the software of the day...

      --
      Shh.
    2. Re:Uphill Both Ways by frieko · · Score: 4, Informative

      I literally bought a game, had to hack away the protection, and then I could play it on my computer.

      The more things change, the more they stay the same. Sort of like how my Linux computer won't play a Blu-Ray from walmart, but it does just fine with one from the pirate bay.

    3. Re:Uphill Both Ways by b1t+r0t · · Score: 1

      I had a Mac with a Levco 2 meg RAM upgrade in '87 or so, and I broke a lot of protections because I ran 1.5 meg of that as a ramdisk (nothing really needed more than 512K at the time), and I liked to keep that thing running as long as possible, with a debugger loaded too, of course. Copy protection code fucked over enough of the system that I would have to reboot from the startup floppy... if a game didn't lock up on startup.

      Usually breaking the copy protection was more fun than the game itself.

      --

      --
      "Open source is good." - Steve Jobs
      "Open source is evil." - Microsoft
    4. Re:Uphill Both Ways by gaspyy · · Score: 1

      Same here - this is how I learned assembler - by rewriting loaders in order to copy games from tape to floppy for my ZX Spectrum...

  24. Re:Totally outdated... by Anonymous Coward · · Score: 0

    "Unless you're in charge of making a PC or phone port of classic C64 games. Then you need to know both Java and C64 assembly language."

    Initially I thought "C64 assembly language" was a goof for 6502 assembly, but you're actually right - you need to know C64 memory model and IOs.

  25. Mmmh, by Anonymous Coward · · Score: 0

    I've learned programming on a C64, first BASIC, then assembler. 6502/6510 Assembler was a pain. 3 Registers for data, the ACCU and 2 others, only 8-bit and a very simple command set, which made everything a pain. Later I got an Amiga with the Motorola 68000 CPU and felt like a high level language compared to the C64 stuff, since you had a lot of 32-bit Registers that you could use at your will, a complex command set and lots of addressing modes, so it was much easier to transfer the stuff you had in mind directly into code.
    Dealing with the OS and the hardware got more complicated though. The C64 hardware and OS were rather simple and you owned the machine with your program. No supervisor mode / ring-something, multi-tasking, multi-user etc. stuff that makes things complicated. But rather stuff like reading and writing hardware registers at your will even from BASIC with PEEK and POKE. Those were the days. lol.

    1. Re:Mmmh, by Anonymous Coward · · Score: 0

      I think one of the good things of learning coding that way was that I never had any problems with pointers in C++, because if I do low-level stuff, I almost see things from the perspective of the CPU.

  26. Kudos to the C-64 by PDG · · Score: 1

    I credit going through elementary school with a Commodore 64, one of the few in my school that couldn't actually afford one, for my advanced engineer position I have now. I spent so much time hacking away basic programs and stuff that I ended up learning so much computer science without even realizing.

    Its the only explanation I have for how I've been a software engineer for my entire post school career (the past dozen plus years) while my undergrad degree was a BA in English.

    --
    "Where is my mind?"
    1. Re:Kudos to the C-64 by PDG · · Score: 2, Funny

      So much for my English background that I can't even proofread my post properly. Should have said "one of the few in my school that could actually afford one"

      --
      "Where is my mind?"
    2. Re:Kudos to the C-64 by Anonymous Coward · · Score: 1, Insightful

      So there was some truth to that old Commodore TV commercial after all.

      The kid with the C64 ended up driving the train.

  27. They did less. by tjstork · · Score: 1

    I sometimes wax for the simplicity and deep understanding of the machines that I grew up with, but, the fact is, today's PCs just do more. They aren't just faster and more memory, they are also that much more complex. Sure, the instruction set of AMD64 is not that much more than the instruction set of an older machine, but that's only because its suffficiently well organized between opcodes and address modes that you can learn it. But after that, there's the whole peripheral story. How many people -really- want to know the ins and outs of how a PC Express bus works. Or USB. Forget video cards - what about sound cards. Even with data sheets programming a driver is a tremendous challenge.

    And that's just at a hardware level. I mean, seriously, it wasn't that uncommon for people to write line editor or field editors for 8 bit machines or even for DOS text mode, but that's because everything was fixed width and height and you controlled everything, even the cursor. Nowadays, I doubt there's but a handful of genuine home grown edit controls for GUI environments - everyone just uses the widget that comes with it, and for good reason - they are mind boggingly complex for such a seemingly simple thing. You have to know about the current font, the events with the mouse, keyboard...you could easily blow a 1000 lines of code on it.

    --
    This is my sig.
  28. Re:Totally outdated... by larry+bagina · · Score: 1

    I make a lot more doing embedded work (last year I did a job on the 6502) than I would make with java.

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

  29. The 64 was a Godsend by Anonymous Coward · · Score: 0

    I ran an entire computer supply company on a 64 - well over $500,000 in sales.
    It worked and it did what I needed it to do.
    That said I'd rather not revert to those days.

    Anybody here see the episode of Harvey Birdman where the Jetsons came back from the future to sue the past for screwing up the planet?

  30. Effieciency by Anonymous Coward · · Score: 0

    If we were able to achieve the level of efficiency that programmers in 1985 got from their hardware on the hardware that exists today, we ourselves would be amazed.

  31. Finally! by AmigaMMC · · Score: 1

    I've been waiting for this guide... like... forever. Now I can finally finish that work project

  32. Answer: by Anonymous Coward · · Score: 0

    Use Linux.

    Some areas are lacking, but the existing documentation while now and then incomplete, are a wonderful treasure trove of learning joy.

    In my Linux history I particularly appreciated:

    - the explanation about modelines (howto);
    - meeting vi again (I had used it decades ago);
    - the hacking spirit which existed long ago (example: Woz), reborn in Linux developers;
    - the versatility one has in KDE;
    - all that I learned about networks, though I'm still very weak about this subject;

    etc. etc.

    Actually, amazingly, someone long ago ported Linux (kinda) to the Commodore 64:

    http://hld.c64.org/poldi/lunix/lunshots.html

  33. How Fast Loaders Worked by headkase · · Score: 4, Interesting

    Fast loaders worked because the kernel ROM software didn't fully take advantage of the hardware. Between the C64 and the 1541 floppy drive the connector cable had 4 wires for carrying information. The kernel routines built into ROM only used one of those lines to signal from the drive to the computer. The "fast loaders" simply uploaded a program to the drive which used all four lines to signal information. The "fast" loaders weren't fast magic they just removed a deficiency in the kernel ROM routines. The exact number of lines between the computer and drive I'm not sure of but this is the principle the fast loaders worked by. And tape based fast loaders worked because the kernel routines would save a copy of the information to tape and then immediately save a complete other copy to compare against for error correction on load. The tape fast loaders just skipped saving and comparing the redundant copy to get the speed. Disk fast loaders didn't compromise the integrity of the information in the way tape fast loaders had potential to though. Remember computers back then were full of noise when you were talking to tape drives especially.

    --
    Shh.
    1. Re:How Fast Loaders Worked by eulernet · · Score: 1

      A disk-drive fast loader could fit into 256 bytes, IIRC.
      The trick was to shift bits in an unrolled loop. I remember I stored some values on the stack by using PHA in this loop.

      I did write a fast loader for a few games I wrote on the C64 (with was one of the computers I was doing games in the 80s, along with Oric, Thomson TO7 and MO6 and Amstrad CPC). Atari ST appeared in 1987.

    2. Re:How Fast Loaders Worked by mindstrm · · Score: 2, Interesting

      The 1541 drives were purposefully slowed down to maintain compatibility with some other Commodore hardware (I forget at the moment exactly which)..... so they weren't so much fast-loaders as they were "doing it the way the engineers designed it to work, not the way the boss made them change it so he could claim compatibility.

    3. Re:How Fast Loaders Worked by clifffton · · Score: 0

      Well mindstrm not really. 1540's (the VIC-20's drive) was SLOWED DOWN to make the 1541. The video chip limited the floppy "bus". All the fast loaders/copy utils did was to play an AWESOME trick. The VIC 20's drive was a cost reduced PET drive, going from an 8 lane bus to serial. But..... there were some extra wires in the 1541's cable (serial control as I 'member) that were put in to play. I have not so fond memories on EA's Pinball Construction Set taking about a half hour to load. And those 45 minute 7 swap copies! The C64 was the last computer I knew what it would do from the code. I miss that. And my many Amigas.

    4. Re:How Fast Loaders Worked by QuantumLeaper · · Score: 1

      The Vic 20 had the problem and they fixed it with the Commodore 64, I believe it was the Vic II chip, been a long time so I may have the wrong chip. The slow speed of the 1541 was because Commodore made the C64 backwards compatible with the Vic20 and 1540s. Try a 1571 with a Commodore 128, to see what the 1541 and C64 should have done. JiffyDos was great, it did speed up most of the programs quite well. IEEE was nice but Serial isn't slow, compare EIDE to SATA, which is faster? I liked my FD2000 drive and my Ramlink the most, now you can get a Secure Digital (SD or SDHC) or CompactFlash drives, so if you really want you could put all Commodore stuff on one 32Gig SDHC or CF.

    5. Re:How Fast Loaders Worked by Anonymous Coward · · Score: 0

      Fast loaders worked because the kernel ROM software didn't fully take advantage of the hardware. Between the C64 and the 1541 floppy drive the connector cable had 4 wires for carrying information. The kernel routines built into ROM only used one of those lines to signal from the drive to the computer. The "fast loaders" simply uploaded a program to the drive which used all four lines to signal information. The "fast" loaders weren't fast magic they just removed a deficiency in the kernel ROM routines. The exact number of lines between the computer and drive I'm not sure of but this is the principle the fast loaders worked by.

      The C64 serial bus had 3 usable lines ATN, CLK and DATA, of which only CLK and DATA were used for data transfer even with fast loaders. The speed gains from fast loaders were mainly due to using both CLK and DATA as data lines (2 bit instead of the KERNAL's 1). Other techniques involved cutting down the latency of seeking for sectors by returning them out of order or buffering more on the 1541 side.

    6. Re:How Fast Loaders Worked by gwdoiron · · Score: 1

      No, most fastloaders actually used only two of the serial lines to transfer data. They worked by transferring byte data synchronously, by synchronizing the instruction stream at the start of each byte so that there was a sequence of 4 reads or writes to transfer each byte. This involved some other blackmagic trickery, since the 1541's 6502 processor was completely unfettered, while the C-64's 6510 processor was stalled for sprite DMA and display memory access (basically, 1 out of every 8 scanlines), meaning that you had to either turn off all of that DMA (turning off sprites and blanking the screen) or make sure you run your transfers when you knew that the DMA wasn't going to take place. A couple of other schemes used asynchronous transfers which were STILL faster than the standard kernel code, then a few systems like Copylock and Vorpal used custom sector formats to minimize the amount of processing needed by the 1541 to decode the data. If I recall correctly, the drive I/O on the C-64 is a stripped down version of an older interface which was actually a parallel 8-bit interface, they simply removed 7 of the lines from the interface but still retained the same control scheme. This resulted in an I/O speed of around 300 bytes/second for a "stock" C64/1541. The 1541's OS itself was able to encode/decode and read/write sectors with an interleave of 3, which is about 7k/second, but the processor-driven serial I/O reduced that by quite a bit. Many fastloaders simplay used the existing read/write routines and accelerated the serial I/O, which easily put the drive at an interleave of 8. Some rewrote the GCR routines too, and I've seen those go down to an interleave of 4. Vorpal rewrote the serial I/O and the sector format, disabled all DMA, and synchronized both processors to +1/-0 cycles to run multiple byte transfers, making it the fastest software based accelerator, with an interleave of 2, reading and transferring an entire track in two revolutions of the disk, or about 12K/second.

    7. Re:How Fast Loaders Worked by Anonymous Coward · · Score: 0

      Tape loaders did more than that.
      They also used shorter pulses and used 2 instead of 3 pulses for the encoding of data.

    8. Re:How Fast Loaders Worked by multipartmixed · · Score: 1

      > If I recall correctly, the drive I/O on the C-64 is a stripped down version
      > of an older interface which was actually a parallel 8-bit interface

      Yes, the old IEEE-488 drives on the PET machines. I have a Batteries Included Bus Master ][ which lets me run IEEE-488 drives on a C64. Quite a bit faster than even a 1541 with a FastLoad cartridge.

      --

      Do daemons dream of electric sleep()?
    9. Re:How Fast Loaders Worked by multipartmixed · · Score: 1

      The book you're thinking of was by Abacus, The Anatomy of the 1541 Disk Drive. And, holy crap, it's online now!

      http://www.scribd.com/doc/15985046/The-Anatomy-of-the-1541-Disk-Drive

      --

      Do daemons dream of electric sleep()?
  34. Those were the days! by SoundGuyNoise · · Score: 1

    Typing in programs line by line from a book or from Compute! Gazette to animate a moon landing, or play Basketball Sam and Ed (I think they were called).

    Anyway, even Mad Magazine eventually published a program, but it never worked. :(

    --
    You never expect irony, do you?
    Want to be a professional wrestler? Visit www.iyfwrestling.com
    @iyfwrestling
  35. Best covered by Ellen Ullman in 1998 by rbrander · · Score: 4, Informative

    http://www.salon.com/21st/feature/1998/05/cov_12feature.html

    Ellen Ullman was a programmer for a full career before she discovered she was also a talented writer. The above link is to a Salon.com article that was basically an excerpt from her excellent book, "Close to the Machine".

    She writes about getting a PC and stripping off Windows, DOS, everything, until the (old even for 1998) BIOS is saying "Basic Not Loaded", then building Linux on it.

    Her conclusions do sound a smidge "kids these days" when she writes about modern programmers that only know libraries and IDEs, but I know the /. gang will love it:

    "Most of the programming team consisted of programmers who had great facility with Windows, Microsoft Visual C++ and the Foundation Classes. In no time at all, it seemed, they had generated many screenfuls of windows and toolbars and dialogs, all with connections to networks and data sources, thousands and thousands of lines of code. But when the inevitable difficulties of debugging came, they seemed at sea. In the face of the usual weird and unexplainable outcomes, they stood a bit agog. It was left to the UNIX-trained programmers to fix things. The UNIX team members were accustomed to having to know. Their view of programming as language-as-text gave them the patience to look slowly through the code. In the end, the overall "productivity" of the system, the fact that it came into being at all, was the handiwork not of tools that sought to make programming seem easy, but the work of engineers who had no fear of "hard."
    ---

    I do recall some /. (or maybe it's in Salon) commenter at the time who replied, "Yeah, and your Dad thinks you're a weenie because you don't know how to wire transistors on a circuit board, and his Dad thinks he's a weenie because he can't wind the copper wire around his own inductors". Which is fair enough. Even log cabins can't be made without manufactured tools unless you can mold a kiln from clay and smelt iron for the axe yourself.

    Still, the point of the desire is to have *maximum* control of the level of tool you are able to work directly with. The philosophy was echoed by Neal Stephenson in his essay, "In the Beginning Was the Command Line", the googling of which I will leave to the student. It's on-line.

  36. That evokes so many great memories... by aniemeye · · Score: 1

    ..., almost like finding a long lost and cherished childhood toy. I remember my Apple II days, programming assembler, writing routines to directly address the disk drives. Then my project for the computer science class we had in High School (Germany 1984), where I had gotten my hands on a disassembly of the entire ROMs and from that figuring out how the mathematical formula interpretation worked (simulated stack and all). Finally, a year later, getting my hands on the schematics and figuring out how the video logic actually worked. Only once did I feel that powerful again in my life, when I recreated that feeling in 1996 by designing, building and programming an embedded 68000 computer for a piece of medical diagnostic equipment. Designed the system, built the prototype, debugged the hardware, routed the PCB (by hand, we had no money), wrote a round-robin multitasking system in assembler and finally the actual application as well. Still have a copy. That, and the discovery of sex :)

  37. Re:Totally outdated... by MillionthMonkey · · Score: 5, Funny

    Dude, back when I was a kid and had a C-64, I wrote a JVM for it. Unfortunately I had trouble, because while the JVM standard defines long as not being threadsafe (as a sop to 32-bit architectures), it defines operations on int, short, char, and Object references as being atomic. So I had to write single-threaded code to simulate multiple threads just to get the garbage collection to work. And my char mappings didn't support Arabic and Chinese- you had to stick with PETSCII.

    I was so embarrassed in front of my friends when my games paused intermittently to clear out kilobytes of garbage from the little heap. They were like, WTF, what is it doing, and I said, give me a break, it's Java. The only program I ever really got to work right was my C-64 emulator.

  38. Re:Totally outdated... by tzanger · · Score: 4, Insightful

    Today we have garbage collectiors in Java and that is why the C64 is completely outdated.

    Everyone who still writes code on the C64 instead of Java won't get a job.

    You probably don't even know the latest words.

    Oh, I don't know about that. There are thousands of embedded systems that need programming and require the kind of thorough knowledge of the hardware that you got from the old C64 days. There are more 8-, 16- and 32-bit systems without enough memory to run something like Java than there are PCs and higher class systems.

    Don't pooh-pooh the old ways. They're what's running your world.

  39. And it's about time, too! by Anonymous Coward · · Score: 0

    Now I can get rid of that old VIC-20!

  40. Re:Totally outdated... by jimmydevice · · Score: 1

    BZZZZZT! You have failed your retro recollections. The C64 WAS single thread and all byte/word ops were atomic. If you want threaded code, use FORTH. Remember to push x/y/a/s on a context switch.

  41. The Deep Magic is still there... by mindstrm · · Score: 2, Insightful

    The deep knowledge is still there - the well is just a LOT deeper, and more complex.

    In the days of the C64 - it was reasonable for a skilled and/or curious programmer to get to the bottom of things and learn how everything worked, exactly. It was also potentially USEFUL for him to do this.... it was the only direction you could go, short of inventing a new language.

    So - today we still find deep knowledge out there - but it just not be as useful for even a very good programmer to go ALL the way down.

    Yes, a Java programmer should know more than just the surface - and more than just the patterns. He could also go deeper and understand the JVM implementation, and to a degree how it uses actual machine resources - but to suggest he needs to all the way down the rabbit hole is taking it a bit far.

    My point, I guess, is that there is no need to pine for the old days - nobody says you can't learn more and go deep, and those who do, tend to prosper.

    1. Re:The Deep Magic is still there... by SpacePunk · · Score: 1

      The old days are just old. Deep knowledge now is in understanding how things work in operating systems, and as you pointed out, things like JVM. Things from the days of yore can be just fun, that's all that's left to do with it. I still hand compile z80 routines for the zx81, and punch them into a basic loader all for the fun of it.

      But, all things here said, I noticed there's a marked difference between the old guys and the young dudes. I haven't seen many young people able to get their head into the machine unless they physically stick it into the (preferably open) side of the case. They know things work from a black box standpoint, but they don't understand how they work, and that part hasn't changed much other than to get more complicated as far as increased signal line counts and such. I told one kid that the only way he's going to figure out a problem was to think through the box, he had no idea what I was talking about... I guess you had to be there. Sometimes, and I'm sure I'm not the only one, I get into thinking that the young ones never paid their dues, but then I remember that it's us old ones that brought them to this point with the creation of tools that made everything easier so there's less need to go down to the bare metal.

  42. experimenting and learning by RichMan · · Score: 1, Interesting

    I had a 1 line game for the commodore series of computers.
    Something like the below. You could do it in less than 40 characters with the short cuts. It even worked on the TRS80 line with slight modifications.
    I liked walking into their sales rooms with the "don't touch serious stuff" feel and having a game going in 30 seconds.

    0 poke 32788+loc,65; loc=loc+peek(151)*2-1; print tab(rand(37)),"XXX"; if peek(32788+loc) == 32 GOTO 0

    You had to clear the screen and start it with RUN at the bottom for it to work

    poke 32788+loc,65 # Display your lander "A" at the middle top of the screen+ offset
    loc=loc+peek(151)*2-1 # update your location to the right if shift is pressed, otherwise to the left. No going straight.
    print "XXX" # but a block XXX at the bottom of the screen and scroll the previous display of your lander A off the top
                                                    # the blocks would scroll up towards the top of the screen and you had to dodge them
    if peek() # loop if you are not going to hit a block

    It ran nice and fast.

  43. I miss my Apple ][e! by nullhero · · Score: 1

    I had the monochrome green on black monitor that came with the set up. I remember the huge boxes that the computer & the separate one for the monitor was in. (Compared to the slim box that my MacBook Pro came in.) I loved peeking and poking my way through programming in AppleSoft Basic. I even cut my teeth learning assembly. It was fun! It was what I loved about learning to program. This article reminded my of the long gone days. I still enjoy learning new languages but I miss my Apple ][e in so many ways.

    --
    Save Pangaea!! Stop Continental Drift!!
  44. Re:Totally outdated... by geekprime · · Score: 2, Funny

    Th C=64 was the first computer I owned that I diden't build from scratch AND it had a disk operating system such as it was... Those were good times.

    I still have the hesware 46 forth cartridge for the 64.
    (I came across it recently in a box full of old junk, manual too.)

    I used to love forth but write only languages are such a pain even for the original developer.
    I cant imagine trying to maintain someone elses forth code.
    Machine code was so much easier.

    Anyway, I salute you Tom Zimmer, wherever you are.
    Wow that was easy, http://tomzimmer.blogspot.com/

  45. Did you roll a hoop with a stick? by Gothmolly · · Score: 1

    Wear knickerbockers?
    Tie an onion to your belt?

    Change happens, embrace it, or go the way of the dinosaur.

    --
    I want to delete my account but Slashdot doesn't allow it.
  46. Try a 1948 computer on for size by davidwr · · Score: 1

    Google Manchester Baby Mark 1 "programming contest".

    This /. article from 2008.

    Now that was a machine you could wrap your head around and actually write bug-free code for!

    Pot noodles anyone? *inside joke*

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  47. C64s can still be fun... by billakay · · Score: 3, Interesting

    A few years ago when I was an undergrad, I did a class project on the C64 just for the hell of it...the assignment was for my Theory of Computation class, and I happened to be taking an embedded systems class at the same time. I ended up implementing a Turing Machine simulator on the C64. I used a C cross-compiler on my PC to develop it, tested it on an emulator, and eventually burned it onto a ROM chip which I put into an actual cartridge that ran on a real C64. It was a REALLY cool project that involved quite a few different aspects of CS, and I ended up taking first place at a undergrad research poster competition at a CS conference.

  48. Deranged facts by Dagmar+d'Surreal · · Score: 1

    What the hell? The Commodore's BASIC interpreter was not Microsoft BASIC. It was just the Commodore's variant of the BASIC language. Microsoft had not a bloody thing to do with it.

    1. Re:Deranged facts by Spit · · Score: 1

      Commodore originally licensed BASIC from Microsoft. They wrangled some deal which gave them full rights with a one-off payment. MS eventually felt hard done by and you see the Microsoft copyright message on the c128 boot screen.

      --
      POKE 36879,8
    2. Re:Deranged facts by Anonymous Coward · · Score: 0

      What the hell? The Commodore's BASIC interpreter was not Microsoft BASIC. It was just the Commodore's variant of the BASIC language. Microsoft had not a bloody thing to do with it.

      Uhm. yes, they did, as a simple search would have given you tons of detailed info and history on. Among many: http://en.wikipedia.org/wiki/Commodore_BASIC

    3. Re:Deranged facts by Rockoon · · Score: 1

      Someone is wrong on the internet! ITS YOU!

      Microsoft wrote nearly all the Basic's of the time. Even the Altair (well before Commodore) ended up using Microsoft's Basic after it became apparent that the Basic that Altair's had originally was unsufficient to deal with the modifications people were making to the hardware. This is Microsoft's first Basicproduct, in 1977.

      By 1979, if you wanted Basic on your new machine design, you called up Microsoft. Altair, Commodore, Apple, Atari, IBM.. they all went to Microsoft to get their ROM basics. It may not have had Microsofts logo on it, but it was still written by Microsoft.

      --
      "His name was James Damore."
    4. Re:Deranged facts by Anonymous Coward · · Score: 0

      "Bill Gates's Personal Easter Eggs in 8-bit BASIC":

      http://www.pagetable.com/?p=43

  49. A computer that fits in your head can be great fun by LodCrappo · · Score: 2, Interesting

    I've recently rediscovered the joy of small computers that can be fully understood by one person. The 8 bit machines from the 80s provide opportunities for learning and experimentation that are not present in today's computers. "Retro computing" is growing as a hobby amongst both people who remember these machines fondly from past days and younger folks who just find them interesting. It is strictly a hobby of course, very little "useful" stuff can be done with these boxes beyond the education they can provide.

    My favorite retro system is OS-9, a real time multitasking operating system that you can fit in your head. There is an open source version called NitrOS-9 which has excellent documentation and most of the code well commented. It runs on 6809 based computers like the Tandy Color Computer and the Tano Dragon.

    You can learn a tremendous amount about process scheduling, IPC, memory management, device drivers and low level I/O, etc from playing with this system.

    --
    -Lod
  50. Re:Totally outdated... by MillionthMonkey · · Score: 3, Funny

    Yeah but I was running a ribbon cable to my brother's VIC-20 for the garbage collection and extra 5K heap memory because I couldn't get my dad to buy me three more C-64 machines for a quad-core 32-bit CPU. He kept saying, there's nowhere to plug them in; just wait for the C-128 to come out. I was like "but Daaaad, it only has 8 bits!"

    Cloud computing was really difficult too. There were a bunch of kids in my highschool running BBS systems but you couldn't really store your documents there because you always got busy signals, the 300 baud VIC modem was a POS, and the cloud had nothing but stupid foul-mouthed kids in it anyway.

  51. Just say robotics. by Anonymous Coward · · Score: 0

    I was thinking pretty much the same. I wonder if robotics in twenty years will have the same feeling of "loss of control"?

  52. Re:Totally outdated... by hduff · · Score: 1

    Th C=64 was the first computer I owned that I didn't build from scratch AND it had a disk operating system such as it was... Those were good times.

    My first was a VIC-20, hardware-hacked from an article in 73 magazine to fill in the 'missing' chunk of memory. Hacked a few games and wrote a bunch of BASIC stuff. It served faithfully for RTTY and slow-scan TV and a second VIC20 controlled a Yaesu FT-757 transceiver including pre-programmed 10M FM repeater splits. Never did 'upgrade' to the C64.

    --
    "I believe in Karma. That means I can do bad things to people all day long and I assume they deserve it." : Dogbert
  53. Excellent Commodore book by BuR4N · · Score: 2, Interesting

    This is a must read for anyone interested in Commodore and its products, a great historical account how among other things the C64 came to be.

    http://www.amazon.com/Edge-Spectacular-Rise-Fall-Commodore/dp/0973864907

    --
    http://www.intellipool.se/ - Intellipool Network Monitor
  54. the vic20 manual that came with it WAS GREAT by Anonymous Coward · · Score: 1, Informative

    ...at age 12

    allowed me to make my own databases
    graphic animations and even up and down moving sprites

    i even parsed commands to do htngs like move an army and make a hockey game and boxing game.
    12
    what do your kids do
    besides twitter , waste money on phones , and use myspace and facebook

    1. Re:the vic20 manual that came with it WAS GREAT by Anonymous Coward · · Score: 0

      ...at age 12

      I was dancing with girls and touching their budding boobies, jumping over canals on my bike, lighting homemade bombs in the park and escaping from the cops on 2 wheels, shooting down pigeons with BB guns, earning the respect of my classmates with wit and personality, and carting inflated blowupdolls across town in broad daylight.

      While you were spending every bit of your free time in a basement programming swordfighter sprites and primitive animations I was participating in actual swordfights with my friends using weapons made of sawed-off broomsticks and duct tape. While your rich mommy and daddy were buying you all kinds of toys my friends and I were distributing subversive literature around campus, with a letter in my school's name carefully crafted to resemble a hammer and sickle.

      By the way, I cut my teeth on assember before I was even born. My pregnant mother would raise her drafting chair and straddle her legs across the desk so I could reach out of her vagina to type the instructions on the keyboard. But I quickly found that to be boring and tedious, so I crawled out of her vagina and got a life.

    2. Re:the vic20 manual that came with it WAS GREAT by Anonymous Coward · · Score: 0

      Touching 12-year-olds? Fucking pedo.

    3. Re:the vic20 manual that came with it WAS GREAT by longhairedgnome · · Score: 1

      The last line was the cherry on top

      --
      GENERATION O98346: The first time you see this, copy it into your sig and remove a random number from the generation. T
  55. Re:Totally outdated... by Anonymous Coward · · Score: 0

    EPIC FAIL at humor.

    Don't try again. I mean it.

  56. Re:Totally outdated... by PaladinAlpha · · Score: 1

    If you had any idea how hard I'm laughing... thanks :)

  57. First Post!!! by Anonymous Coward · · Score: 0

    I am using a Commodore 64!

  58. Rae West by Spit · · Score: 1

    So does anyone know what Raeto West went on to? I had Programming the Pet-CBM and Programming the Vic20, predecessors to the book in the article, and they were probably the most authoratitive sources for those systems. Rae also had the excellent "Dear Rae" column in CCI magazine.

    But unlike the esteemed Jim Butterfield, Rae sort of disappeared from the scene. A real shame.

    --
    POKE 36879,8
  59. Re:Totally outdated... by RAMMS+EIN · · Score: 1

    The funny thing is that I don't know how memory management works in BASIC. It somehow never really seemed to be an issue. Even in assembly I didn't seem to have to think about it a lot. It's only when I started to program in C that I really woke up to the issues. Granted, all that is _way_ before I actually had the opportunity to take any classes on programming and programming languages.

    But now I am curious. How _did_ memory management work on those old BASICs?

    --
    Please correct me if I got my facts wrong.
  60. Re:Totally outdated... by Anonymous Coward · · Score: 0

    Tell THAT to the Toyota engineers!

  61. I really, really like to understand things... by RichiH · · Score: 1

    ...for example, I go over mechanical stuff very thouroughly to know how it works.

    But even then, I don't know _exactly_ why steel is more durable than iron. As in on the molecular, atomar and sub-atomar levels. You have to draw the line _somewhere_.

    And if I have to choose between a C64 I can understand completely (for some value of) and the Thinkpad 201s I have been drooling over recently... Well...

  62. What does the scouter say about his power level? by Dogtanian · · Score: 1

    The Commodore VIC-20 was sold by the Shat [..] Final score Commodore- over 9000

    Hmm, was William Shatner related to Vegeta by any chance?

    --
    "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
  63. Deep Knowing by Omnifarious · · Score: 1

    I also have this desire. And it alternately gets me in trouble or lets me write really good code. It also lets me detect when a system is so poorly documented that nobody really understands the impact of the changes they're making to it.

    When I worked at Amazon, my desire to fully understand the system I was working on really got in my way. About the only system I could really effectively work on was one I wrote myself.

  64. End at the End of the Computer Era by alexhmit01 · · Score: 1

    This is the end of the computer era. We're still using them because nobody has come up with anything new, but it's an exception. Computer desktops are becoming more streamlined, easier to lock down, and focused on a handful of applications. The web browser and browser-apps is replacing the little "one off" freeware apps. Sure you may need a local office suite for heavy processing, but you can get by with far fewer applications installed than 10 years ago.

    10 years ago, I'd have Finger, Whois, Telnet, Ping, Traceroute, FTP, etc. clients on a Windows desktop. Now if I'm on OS X or Linux, I have them, if I'm on Windows at the office, I run them web based if I need them.

    For home computing, I don't even have a "home computer" anymore. I have one in the home office, but it's purpose is primarily working from home, not "general computer." Between the Blackberry, iPad, iPhone, etc., all these different components take over our computing needs as inexpensive special purpose machines.

    Remember, in the early microprocessing days, it was exciting to get a computer for $2000, probably $10k in today's dollars 25 years later. For that kind of money, it was important to do EVERYTHING. Now we buy a platform for 2%-4% of a 286 computer (in real terms), so who cares if it does everything or just runs apps from the Apple store. I could buy 25 computing devices and have less money invested than I would have to have a Mac AND an "IBM Compatible."

  65. Re:Totally outdated... by Anonymous Coward · · Score: 0

    and the cloud had nothing but stupid foul-mouthed kids in it anyway.

    Sounds like the internet to me.

  66. Agreed by pubwvj · · Score: 0

    Agreed - I miss when things were simpler but I also enjoy the more powerful systems we have today. Most of all, I wish that the modern systems were backward compatible so that we could still run old software. I would like to see standard emulators for the Exidy, MacClassic, etc. Apple, for example, really should continue supporting the old OSs. There is a tremendous amount of old and very good software, especially in kids educational packages, that ran on the older computers but won't work in MacOSX. Sadly nobody is bringing out new versions. Even the iPod has enough computing power to emulate these old packages with ease.

  67. Re:Totally outdated... by phantomfive · · Score: 1

    You didn't have to worry about allocating/deallocating because you were the sole owner of the computer. All memory was yours. All variables were global, and stayed in memory for the duration of the program. On the C64 you could also directly access RAM by address from BASIC, I'm pretty sure you could do the same from most other systems' basic.

    --
    Qxe4
  68. Re:Totally outdated... by SpacePunk · · Score: 1

    The problem is that they can't stop to listen.

  69. mytiffanycvs.com by BillMike · · Score: 1

    This is a must read for anyone interested in Commodore and its products, a great historical account how among other things the C64 came to be. Tiffany NeckLaces Tiffany Rings Tiffany Gift Wholesale tiffany jewelry Cheap tiffany jewelry Discount tiffany jewelry http://www.mytiffanycvs.com/

  70. Commodore 64 - My Childhood Friend by Anonymous Coward · · Score: 0

    The amazing thing about this computer was it's ability to attract my tortoise's attention. Those two got on like a house on fire. Made it impossible for me to compete of Barry McGuigan's Boxing!

    Just bought one from here: Free Computer Classified Ads