Slashdot Mirror


Scripting In Commodore BASIC For Windows & Linux

SomeoneGotMyNick writes "Someone more nostalgic than I am, and with a lot of time on their hands, had created a scripting language based on Commodore BASIC for Mac OS X. They recently finished a version that works on Windows and Linux. You can pass the text of a BASIC program as a parameter to the program. I found it odd that it took 1.8 MB of source code to compile to an interpreter that used to fit in 8K of ROM space. If this ever becomes popular, perhaps we'll see Obfuscated CBM BASIC contests." In a simliar vein, in the comments someone points out what is essentially an open source AmigaOS Classic.

213 comments

  1. TI Basic by mfh · · Score: 2, Interesting

    I remember coding four pages from 99er, to make a little box go from one side of the screen to the other and change colors, while playing a midi tune. More serious business was the epic dungeon text adventures!

    Now of course this would be nice to have on Linux.

    --
    The dangers of knowledge trigger emotional distress in human beings.
    1. Re:TI Basic by pilgrim23 · · Score: 3, Informative

      plugh! or was it xyzzy? :)
      there are several Apple II emulators that allow programming in Apple Basic or even Merlin Assembler (65816) for both Mac and Windows. Sweet16 is the best of OS X (a port of Bernie ][ the Rescue from BeOS; originally on Mac Classic), XGS, KEGS and many others are also out there...

      CALL -151

      --
      - Minutus cantorum, minutus balorum, minutus carborata descendum pantorum.
    2. Re:TI Basic by jojisan · · Score: 3, Interesting

      Was that a stock 99-4A or did you have the extended memory cartridge?
      I really do miss call sprite...

      --
      <sig> I wish I had a </sig>
    3. Re:TI Basic by mfh · · Score: 5, Informative

      Was that a stock 99-4A or did you have the extended memory cartridge?

      I had the 10 ton silver expansion box! 32k baby!!! It was the BEST! :) With the Speech Synthesizer to boot! Doc Watson makes me cry when I think about how much that thing cost me... right out of pocket too from my paper route!!

      This particular code made use of CALL SPRITE, but also had the most advanced calls available. Man that brings back memories...

      CALL COLOR, CALL CHAR, CALL SPRITE, CALL PATTERN, CALL MAGNIFY, CALL MOTION, CALL POSITION, CALL LOCATE, CALL DISTANCE, CALL COINC, and CALL DELSPRITE.

      The cartridge was Extended Basic, which was totally elite at the time. :P

      We were all designing color output, while the poor VIC-20 guys were still monochrome.

      I still remember the text adventure, where if you type look up, a piano falls on your head. I think it was called Asylum or something? Man that is going way back to the summer of 1983, if memory serves.

      --
      The dangers of knowledge trigger emotional distress in human beings.
    4. Re:TI Basic by aardwolf64 · · Score: 5, Funny

      I had to get my dad to program the dungeon text adventures, so it wouldn't spoil everything for me. There's just something about typing everything that could happen to you that ruins the game.

    5. Re:TI Basic by f1vlad · · Score: 1

      I recall doing something similar but more sophisticated, something like Xmas card :) I also recall showing it to my parents and they didn't really understand what I was trying to tell them.

      --
      o_O
    6. Re:TI Basic by Anonymous Coward · · Score: 0

      Sounds like you needed a course on optimization. Four pages on the TI was enough for me to get the main animation and part of the sound for a clone of Tron lightcycles I did. And each lightcycle consisted of 2 bytes(one byte for the front and one byte for the back half of the cycle) and while moving each cycle moved one pixel in whatever direction it was facing, in other words I didn't cheat and make it move 8 pixels since I wanted a smooth animation for the game.

    7. Re:TI Basic by digitalhermit · · Score: 2, Interesting

      I remember a similar demo in the TI/994A Reference Manual. It also had a program to re-define a character to make a little jumping man in an 8x16 grid. One of my first programs was to make a running man move across the screen based on the code in the reference manual.

    8. Re:TI Basic by Anonymous Coward · · Score: 0

      The VIC-20 had color. Sheesh...

    9. Re:TI Basic by Anonymous Coward · · Score: 0

      Mr. Bojangles!

    10. Re:TI Basic by Anonymous Coward · · Score: 0

      plugh! or was it xyzzy? :)

      wasn't that also used on the PC version of roadrash?

    11. Re:TI Basic by lxs · · Score: 4, Funny

      I used to have a book with type-in adventures where they obfuscated all the strings by shifting them one character precisely to counter that problem.

      Oh and typing in five pages of numbers representing binary code was fun. There were actually checksums printed at the end of each line and a little program showed you the checksums in the corner of the screen after entering each line of code.

      Man I feel old. You young whippersnappers don't know how good you have it with your iPhones and your WiFi.

    12. Re:TI Basic by raddan · · Score: 1

      I discovered this, too. My parents bought me a book called "Great Games for the TI-99/4A". I still have it floating around somewhere. Unfortunately, you figured out exactly what _not_ to do by having to program in every permutation of death. But there were other games-- there was an Asteroids clone, if I remember correctly. Of course, I had to write these things multiple times-- the external 5 1/4" floppy drive seemed to only excel at losing data.

    13. Re:TI Basic by AmberBlackCat · · Score: 2, Interesting

      I was in the Apple store, asking a Genius why Ms. Pac-Man, which ran on an Atari 2600, is taking up almost 20 megabytes on my iPod Nano. He told me it's because they have to fit all those in-game sound effects into the download. Pure genius.

    14. Re:TI Basic by khellendros1984 · · Score: 4, Informative

      If you wanted a serious answer, it's most likely related to the ties to the graphics and sound libraries, storing sounds as waveforms rather than parameters to tone-generation hardware, and probably packaging overhead.....those are just guesses. I'm no iPod software expert.

      --
      It is pitch black. You are likely to be eaten by a grue.
    15. Re:TI Basic by ma2oliveira · · Score: 1
      Greetings,

      I recall playing a version of the "Asylum" adventure game on a TRS-80 Model III compatible computer, with its blocky graphics. I was very amused when I discovered the piano-falling-on-head quirk.

      I never got past the part in the labyrinth with the mirror, apparently only the second phase of the game (a friend later told me how, but by then I did not have that computer anymore).

      A Google search turned up references to the C64 version of the game, which apparently had a version with superior graphics, e.g., [1] and [2].

    16. Re:TI Basic by Anonymous Coward · · Score: 0

      I remember reading (I think it was in one of the Compute! TI 99/4A books) that later revisions of TI Extended Basic disabled recursion using CALL SUB, because some people were making programs that ran forever by mistake.

    17. Re:TI Basic by Anonymous Coward · · Score: 0

      Oh and typing in five pages of numbers representing binary code was fun. There were actually checksums printed at the end of each line and a little program showed you the checksums in the corner of the screen after entering each line of code.

      I remember those listings for the VIC-20 in books and magazines. At least the programme entry utility that you also had to type in and hopefully save for future use was written in Commodore BASIC. ;-) The cassette buffer was a great place to store and execute little machine language utilities too!

    18. Re:TI Basic by Inner_Child · · Score: 1

      I'm still trying to get my hands on the old Arcade Explorers books. Interesting concept - choose your own adventure, and your choices determine the parameters of the game you type in (via different sections of code). Of course the games were simple, but still neat for their time.

      --
      Today is red jello day - all workers must eat all of their red jello. Failure to comply will result in five demerits.
    19. Re:TI Basic by Anonymous Coward · · Score: 0

      You young whippersnappers and your iPhones and your WiFi... Get off my lawn!

      Fixed.

    20. Re:TI Basic by konohitowa · · Score: 1

      Criminy. Did they disable GOTO while they were at it? I wrote quicksort in BASIC on a C64 just for the hell of it (obviously using an array for my stack). As you can imagine, it was anything but "quick", but I would have been pretty peeved if something had been disabled to save me from myself.

    21. Re:TI Basic by Anonymous Coward · · Score: 2, Funny

      Don't soften his boner dude. He might not be aware that some TVs only displayed black & white. Leave him to his fantasy.

    22. Re:TI Basic by konohitowa · · Score: 1

      Oh and typing in five pages of numbers representing binary code was fun. There were actually checksums printed at the end of each line and a little program showed you the checksums in the corner of the screen after entering each line of code.

      Those were in Compute! IIRC, weren't they?

    23. Re:TI Basic by laejoh · · Score: 0

      Naa, I was just happy to see you!

    24. Re:TI Basic by jonaskoelker · · Score: 1

      We were all designing color output, while the poor VIC-20 guys were still monochrome.

      VIC-20 gave their users black and white monitors? They were lucky! We only had black, so we had to guess which characters where showing based on electromagnetic radiation.

    25. Re:TI Basic by ericferris · · Score: 1

      Hey, I earned some not negligible bucks (at the time) by selling a few TRS-80 BASIC game programs to magazines. The conscientious ones printed the code along with a checksum in a REM at the end of the line, and a small loader routine to verify these sums.

      --
      Fantasy: http://ferrisfantasy.blogspot.com/
    26. Re:TI Basic by mfh · · Score: 1

      The VIC-20 had color. Sheesh...

      I was probably thinking of Colecovision. VIC20 was just poorly designed and the Commodore 64s that replaced them were such an improvement.

      Rockstar Games makes fun of the Colecovision and VIC20 games in their radio adverts in the GTA series of games. Because you too can be a red square killing a GREEN CUBE!!!! Don't let the GREEN CUBE win!

      --
      The dangers of knowledge trigger emotional distress in human beings.
    27. Re:TI Basic by mfh · · Score: 1

      I was in the Apple store, asking a Genius why Ms. Pac-Man, which ran on an Atari 2600, is taking up almost 20 megabytes on my iPod Nano. He told me it's because they have to fit all those in-game sound effects into the download. Pure genius.

      My guess would be 19.99megs of code for the hidden Atari 2600 emulator attached to it. Much of that would be spent on unused additional files, for numerous options and scenarios.

      --
      The dangers of knowledge trigger emotional distress in human beings.
    28. Re:TI Basic by Anonymous Coward · · Score: 0

      "We only had black, so we had to guess which characters where showing based on electromagnetic radiation."
      Correct me if I'm wrong, but isn't that how all monitors work?

    29. Re:TI Basic by Anonymous Coward · · Score: 0

      I also had the TI994a as my 1st 'puter. It was actually a pretty damn good piece of hardware for the time and money. I had the extended basic (it really WAs required for the big programming tasks.

      One of the biggest 'upgrades' was the floppy, which in 82-83 was out of my reach. I STILL have the expansion box though. In logic only a 12 year old can make, I bought the xbox with the intention of filling it with a floppy and the magical RS-232 card at some time in the future.....dont ask.

      And yes, people even a few years younger have no idea how much fun it was to type in the aps from TI99er magazine or from Byte (for C64) by hand. Sure it was not punch cards, but it certainly was close.

      And lets not forget that the 99/4a was the 1st 16 bit home computer. Too bad the software slowed it down so much that it ran slower that some 4 bit wonders.

    30. Re:TI Basic by Anonymous Coward · · Score: 0

      You were probably thinking of the Commodore PET, both the VIC20 the ColecoVision Adam had colour support.

    31. Re:TI Basic by Anonymous Coward · · Score: 0

      The more things change, the more they stay the same.

      I remember exchanging obfuscated BASIC with other kids to preserve the "surprise" of the game/adventure we were writing. Some of the games we wrote were quite clever.

      And this was in high school... last year... on a TI-86 calculator.

    32. Re:TI Basic by Anonymous Coward · · Score: 0

      Honestly, as a 'young whippersnapper' who grew up with his dad doing that back in the 80's, I'd have to say the kids nowadays don't know what they're missing, with their vapid use of iPhones, and WiFi, and myspace, and REAL NAMES *gasp*.

    33. Re:TI Basic by bjb · · Score: 1

      Actually, the TI-81 and ColecoVision shared the same graphics chip.

      --
      Never hit your grandmother with a shovel, for it leaves a bad impression on her mind...
  2. The important quesiton is... by Thelasko · · Score: 3, Funny

    When will somebody port Radar Rat Race to Windows or Linux?

    --
    One of our competitors trademarked the term "hypothesis". From now on, we will call them "boneheaded ideas".
    1. Re:The important quesiton is... by aardwolf64 · · Score: 2, Informative

      http://www.zzap64.co.uk/c64/c64emulators.html

      You're on your own for the actual game, but I promise it's out there. It's only 6k zipped.

    2. Re:The important quesiton is... by lastchance_000 · · Score: 1

      Hey! I still have that, and my VIC-20, in my garage!

    3. Re:The important quesiton is... by Thelasko · · Score: 4, Funny

      I should have known somebody was going to take that comment seriously. Mention porting a crappy game from 25 years ago, and somebody on Slashdot will do/find it.

      --
      One of our competitors trademarked the term "hypothesis". From now on, we will call them "boneheaded ideas".
    4. Re:The important quesiton is... by TheHawke · · Score: 1

      Oh don't get me started on that one! That and Jupiter Lander, both wasted my time as a youngster until Frogger and GEOS came out.

      *Cues Gigglebox* Can't wait for the port!

      --
      First rule of holes; When in one, stop digging.
    5. Re:The important quesiton is... by multipartmixed · · Score: 1

      Okay, who are you, and how did you co-opt my life?

      --

      Do daemons dream of electric sleep()?
    6. Re:The important quesiton is... by El_Oscuro · · Score: 1

      sudo apt-get install vice

      Download your favorite games from c64.com or thegamearchives.com.

      --
      "Be grateful for what you have. You may never know when you may lose it."
    7. Re:The important quesiton is... by UnknownSoldier · · Score: 1

      Sounds similar to the Apple version of Dung Beetles by Bob Bishop.

  3. Added layers by TBoon · · Score: 1

    I assume most of the code went into translation stuff the C64 did in hardware into something that makes sense to a modern OS. Not that an emulator probably would have taken less space...

    1. Re:Added layers by LWATCDR · · Score: 2, Informative

      Actually I would guess that it could be the multiplatform code that takes up so much space.
      I have to hope that they don't support Poke and Peek.
      C64 basic doesn't support any of the cool features like Sprites and sound.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    2. Re:Added layers by Forbman · · Score: 1

      well...you could poke and peek sprites... a painful process...

    3. Re:Added layers by Anonymous Coward · · Score: 0

      C64 basic doesn't support any of the cool features like Sprites and sound.

      well...you could poke and peek sprites... a painful process...

      That was his point; the C64's BASIC didn't support those facilities itself; the PEEK and POKE were only being used to access the underlying memory locations for those facilities, which doesn't really count.

  4. READY. by F-3582 · · Score: 2, Funny

    10 FORA=1TO300
    20 PRINT"YAY!"
    30 NEXT
    RUN

    1. Re:READY. by aardwolf64 · · Score: 1

      I much prefer:

      10 ? "YAY!YAY!YAY!YAY!YAY!YAY!YAY!"
      20 ? "AY!YAY!YAY!YAY!YAY!YAY!YAY!Y"
      30 ? "Y!YAY!YAY!YAY!YAY!YAY!YAY!YA"
      40 ? "!YAY!YAY!YAY!YAY!YAY!YAY!YAY"
      50 GOTO 10

      RUN

    2. Re:READY. by tom17 · · Score: 2, Insightful

      Surely

      10 PRINT "YAY!"
      20 GOTO 10

      RUN

    3. Re:READY. by F-3582 · · Score: 1

      GOTO is evil, didn't you know?!?

    4. Re:READY. by Blakey+Rat · · Score: 3, Informative

      Semi-colon, buddy, tells the C-64 to not append a newline after the string. Feh, NEWB!

      You could rewrite that as:

      10 PRINT "YAY!";
      20 GOTO 20

    5. Re:READY. by Blakey+Rat · · Score: 2, Funny

      Oh crap, I typoed the code. I'm the newb!

      I can make up for it:

      10 FOR X = 1 TO 16
      20 PRINT "YAY!";
      30 POKE 646,X
      40 NEXT X
      50 GOTO 10

      Now we're cooking with gas.

    6. Re:READY. by Gumbytwo · · Score: 1

      You don't need to say 'NEXT X' since there is only one preceding for loop statement. 'NEXT' will do.

    7. Re:READY. by dontmakemethink · · Score: 1

      10 FORA=1TO300
      20 PRINT"YAY!"
      30 PRINT"*** H@X0RED BY DONTMAKEMETHINK ***"
      40 NEXT
      RUN

      --

      War as we knew it was obsolete
      Nothing could beat complete denial
      - Emily Haines
    8. Re:READY. by Anonymous Coward · · Score: 0

      20 GOTO 20

      20 GOTO 20 ?

      10 PRINT "Feh, NEWB!"
      20 GOTO 10

    9. Re:READY. by nedlohs · · Score: 1

      You don't need to leave 9 numbers between the line numbers either, but it'd be retarded not to...

    10. Re:READY. by inKubus · · Score: 1

      More like:

      5 Y=0
      10 POKE 54296,15:POKE 54296,0
      15 Y=Y+1
      20 IF Y=10000 GOTO 40
      30 GOTO 10
      40 SYS 64738

      --
      Cool! Amazing Toys.
    11. Re:READY. by Anonymous Coward · · Score: 0

      10 PRINT "Feh, NEWB!"

      The C-64 didn't have native lowercase support.

    12. Re:READY. by hson · · Score: 1

      Surely you jest!
      It actually had two character sets. Upper case and graphic characters. The other was lower case and upper case.

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

      Press SHIFT and the C= logo key at the same time. Or type PRINT CHR$(14)... Or something like that.

    14. Re:READY. by Incadenza · · Score: 1

      Man, you've got a great memory. The only important numbers I remember are:
      SYS 64738
      SYS 49152
      POKE 65535, (but which values again?)

    15. Re:READY. by CTalkobt · · Score: 1

      (How many issues can we find? )

      In addition, the FOR loop should go from 0 to 15, technically albeit it will work with 1 to 16. From 0 to 15 defines the color. The 1-16 just happens to map the lower nybble (lowest 4 bits) to 0-15 so... close but not exactly the same.

      --
      There's a gorilla from Manilla whose a fella that stinks of vanilla and has salmonella.
  5. Why it's 1.8MB by Anonymous Coward · · Score: 5, Insightful

    It turns out that this is just a disassembly of the interpreter translated into C. The file is so large because it has lots of really long computer-generated symbols.

    It's a shame that this is not a reimplementation of BASIC in C.

    dom

  6. There's also Freebasic. by GrpA · · Score: 5, Informative

    I guess basic is basic unless it's on a machine you're familiar with... I find Freebasic ( www.freebasic.net ) useful, probably because I came from the same era and did all my programming back then too, although I used a Spectrum and I'd never want to have to use that sort of keyboard again.

    Freebasic is a fairly recent compiler that makes pretty neat code and has all the common C calls available to it too as well as being able to process native Qbasic programs (if you migrated from the C64 type basic to the PC later) without many of the limitations and nearly complete compatability.

    It also allows cross-scripting between Mac, PC and Linux with the same program which I find useful too.

    www.freebasic.net

    GrpA.

    ps. Basic may not be dead, but you still get funny looks when people see you programming in it. I think some consider it even more ancient and antiquated than cobol (which it's not).

    --
    Enjoy science fiction? "Turing Evolved" - AI, Mecha, Androids and rail-gun battles. What more could you want?
    1. Re:There's also Freebasic. by Samah · · Score: 1

      GORILLAS.BAS: Microsoft's only open source game.

      --
      Homonyms are fun!
      You're driving your car, but they're riding their bikes there.
    2. Re:There's also Freebasic. by cstdenis · · Score: 1

      What about Nibbles.bas?

      --
      1984 was not supposed to be an instruction manual.
    3. Re:There's also Freebasic. by Samah · · Score: 1

      My bad. :)

      --
      Homonyms are fun!
      You're driving your car, but they're riding their bikes there.
    4. Re:There's also Freebasic. by GenP · · Score: 1

      Who did the Reversi/Othello clone?

    5. Re:There's also Freebasic. by Anonymous Coward · · Score: 0

      I'd question whether Basic can be considered a computer language at all.

      The commands for much anything beyond PRINT and LET are completely changeable. Each of the myriad versions of Basic have their own dialect and features, particularly for graphics commands.

      You could define Basic 'an easy to use language with line numbers'. But then again, not all versions even use line numbers!

  7. Commodore BASIC by hpa · · Score: 4, Insightful

    I have to say, Commodore BASIC was one of the worst BASIC interpreters available in the "home computer" market. It's pretty clear the C64 was really a game console with a keyboard, so it could be (very successfully, and legitimately so) sold as a computer. If you actually wanted the C64 to do anything interesting, you had the choice of assembly, or BASIC that looked like assembly but ran like crap. As far as I can tell, the C64 BASIC didn't use any of the techniques used by other BASICs from the same era to not run like a total dog.

    Don't get me wrong, the C64 was a great machine. It just wasn't a great machine for BASIC programming.

    1. Re:Commodore BASIC by decipher_saint · · Score: 3, Interesting

      Compared to...?

      I'm actually quite curious what the differences would be that would make it a bad interpreter.

      C64 was my first exposure to programming (I was 8 when I got my hot little hands on it), and not having tried anything else from that particular era of home computing I don't have a yardstick to measure that sort of thing.

      So please, tell me more :-)

      --
      crazy dynamite monkey
    2. Re:Commodore BASIC by LWATCDR · · Score: 2, Interesting

      Actually Atari Basic was arguably worse the Basic 2.0.
      Atari Basic had totally none standard String handling.
      C64 Basic lacked extensions for graphics and sound but other than that it wasn't terrible.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    3. Re:Commodore BASIC by Anonymous Coward · · Score: 0

      Compared to...?

      I'm actually quite curious what the differences would be that would make it a bad interpreter.

      C64 was my first exposure to programming (I was 8 when I got my hot little hands on it), and not having tried anything else from that particular era of home computing I don't have a yardstick to measure that sort of thing.

      So please, tell me more :-)

      Let me put it this way... it made the Apple II feel fast.

    4. Re:Commodore BASIC by ghjm · · Score: 1

      Is this still going around? It's been 30 years.

      Yes, Commodore BASIC was slower than integer BASIC on the Apple ][. That's because Commodore BASIC used all floating point numbers. It was the same speed as Applesoft BASIC, since both of them came from the same Microsoft codebase and ran on the same CPU.

      So unless you're comparing Commodore BASIC to Apple Integer BASIC, what are you talking about?

    5. Re:Commodore BASIC by Still+an+AC · · Score: 0

      C'mon this is slashdot, where Commodore bashing is almost a popular past time as M$ bashing!

    6. Re:Commodore BASIC by 2fuf · · Score: 1

      The Commodore Basic interpreter was made by Microsoft (Bill Gates programmed part of it himself) and licensed to Commodore. To say it's different then the 'other Basics' makes no real sense when you consider that most of the interpreters from that era came from the same source. http://www.pagetable.com/?p=43

    7. Re:Commodore BASIC by nschubach · · Score: 1

      How would that compare to a TRS-80... I grew up on that thing and never touched a C64.

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    8. Re:Commodore BASIC by hpa · · Score: 5, Informative

      A few things that made Commodore BASIC slow compared to some of the BASICs of the time:

      1. A lot of parsing was done at runtime, rather than at entry time or program startup time. This meant that a lot of work got done over and over rather than once per execution, and also encouraged practices that made programs hard to read, like omitting comments and whitespace.
      2. No support for integer-only arithmetic.
      3. Very few high-level constructs. This didn't just turn programs into a mess of POKE statements, but frequently meant that a lot of them were needed -- all of which involved two floating-point to integer conversions to set a single byte.

      Most BASICs at the time would at least tokenize at entry time, and many even converted programs to P-code for execution. It was still much slower than true assembly, but it wasn't anywhere near as bad as the CBM basic. Similarly, most (but again, not all) BASICs of the time supported integer-only arithmetic at least as an option.

      I have to admit to being a bit spoiled at the time, since I first learned to program on the Swedish ABC80 computer, which had a very fast BASIC interpreter. Its follower, ABC800, even had a decent collection of high-level programming constructs in its BASIC. Too bad neither had acceptable graphics, nor a reasonable price point for home use (they ended up being sold mostly into schools and small offices.)

    9. Re:Commodore BASIC by Anonymous Coward · · Score: 0

      There were C compilers too. In fact most of the commercial stuff was developed in C and assembly.

      Personally I had a lot of fun with BBS's written in BASIC and assembly. I never had a C compiler for it even though I wanted one really bad. I couldn't get into C until my Amiga when I was finally old enough to work a job and get enough money to buy a C compiler (I bought a used copy of SAS/C which I still have the disks for).

    10. Re:Commodore BASIC by radarsat1 · · Score: 1

      I'd agree with you except that my Mom wrote her master's thesis on our C64 when I was 14 or 15. I don't think she could have done it on a Nintendo.
      (What was a it called? Speedscript?)

    11. Re:Commodore BASIC by topham · · Score: 1

      They were all different.
      They were quite similar, but every BASIC was a variant.

    12. Re:Commodore BASIC by digitalchinky · · Score: 1

      I guess all the poor kids were using the Aquarius from Mattel, or any one of several other competing systems all based on the Zilog Z80 processor. This was the first time I came in contact with anything from "Microsoft"

    13. Re:Commodore BASIC by GreatDrok · · Score: 1

      I agree that Commodore BASIC was horrible. I first learned BASIC on a Commodore PET 3008 and it was very limited unless you started POKEing into memory. Sinclair BASIC for the ZX81 (my first computer) wasn't much better. The best BASIC of the era came on the BBC Micro which supported REPEAT UNTIL loops, PROCs and so on so you didn't have to write code full of GOTOs. Oh, and it was easily the fastest machine on the block for years after release despite being based on the 6502 just as the CBM machines were although it did run at 2Mhz instead of 1Mhz of the CBMs. In my neck of the woods, the BBC was what people got if they really wanted a computer and the C64 was what they got if they wanted a games machine.

      --
      "I have the attention span of a strobe lit goldfish, please get to the point quickly!"
    14. Re:Commodore BASIC by ACMENEWSLLC · · Score: 3, Interesting

      I learned BASIC on an Apple and then moved to the C16 then to a C128 with C64 embedded. I really enjoyed BASIC on the Commodore platform. I loved POKE and PEEK. The with my Super Snapshot card I could get into a pretty good machine language decompiler. From there I could create programs in the $c000 range, store them to a floppy, and sys them. I loved monitoring the raster ($d018 or somewhere close) and changing it's color when it's at various positions to create screenshots better than what the C64 normally allowed.

      I never have got as deep with the x86 platform.

      The thing I've found with most emulators is that this trickery just doesn't work right. A lot of it depended on the set Mhz rate of the hardware.

      I find it odd as many fanboys of the C64 as there are, why not embed one onto a USB dongle. The other end with a RS232C cord?
          Something like this http://www.vesalia.de/e_c64dtv%5B5732%5D.htm?slc=us ported for us programmer types.
         

    15. Re:Commodore BASIC by Anonymous Coward · · Score: 0

      I think your memory is at least slightly faulty with regards to the C64.

      The basic programs were tokenized at input time, not at runtime. This meant you could use two-character shortcuts for most commands, and some single-character ones like "?" for "print" to save entry time. The reason people left out whitespace was the lack of memory. Similarly, the lack of a P-compiled version of the code was also due to lack of memory.

      Also, variables were only unique up to the first two characters (for a given type) so no one bothered giving anything descriptive names so as to avoid inadvertent clashes. i.e. You wouldn't want the variable called "status" to accidentally conflict with something called "strength" - hence the crappy coding style most people ended up using.

      There was integer arithmatic. You needed to use '%' variables.

      A - A real variable called "A"
      A% - An integer variable called "A%"
      A$ - A string variable called "A$"
      Note that all three are distinct, and could exist at once, with the extra pseudo-hungarian symbol part of the variable name. :-)

      You are right about the lack of high level constructs though. There was only one way of doing abstraction; via a "GOSUB" call. There was no support for user-defined functions, and all variables were global.

      Most people graduated to machine code. The 6510 was quite a nice cpu. The ROM was also easily modifiable, as it could be mapped to ram and/or alterable jump tables were easily accessable in the zero page.

    16. Re:Commodore BASIC by BitterOak · · Score: 4, Informative

      No support for integer-only arithmetic.

      Actually, that isn't true. You could specify integer variables by suffixing them with a percent sign (eg. i%=1). But most people were lazy and omitted the percent sign, so their programs ended up doing a lot of floating point math unnecessarily.

      --
      If I can be modded down for being a troll, can I be modded up for being an orc, or a balrog?
    17. Re:Commodore BASIC by jeremyp · · Score: 1

      Since Commodore Basic was originally written by Microsoft, that seems almost approriate. However, I learned to program using PET Basic and it didn't seem that bad to me at the time. It least you could do lower case characters with it.

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    18. Re:Commodore BASIC by Dogtanian · · Score: 1

      Since Commodore Basic was originally written by Microsoft, that seems almost approriate.

      I heard that the reason the C64's BASIC sucked so hard was that C= got the license to the original MS BASIC for the PET on very good terms, and didn't want to renegotiate this and pay them more for a newer version (that would have done the hardware justice).

      The BASIC on the C16/Plus4 machines is supposed to be much improved (maybe they forked out?) but as those computers bombed commercially it was all to no avail.

      --
      "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
    19. Re:Commodore BASIC by Dogtanian · · Score: 1

      Actually Atari Basic was arguably worse the Basic 2.0. Atari Basic had totally none standard String handling. C64 Basic lacked extensions for graphics and sound but other than that it wasn't terrible.

      Atari BASIC was no worse than a lot of 8-bit BASICs. Nothing amazing- it lacked structured programming beyond GOTO (but then so did most 8-bits apart from the BBC Micro) and it wasn't too fast, but it was respectable enough.

      Yeah, the string handling was a bit nonstandard (and slightly annoying in some ways), but that was hardly the end of the world. Supported lettered device handler names and access to drivers via XIO. I'd take that over a mess of POKEs and control characters for even the most simple facilities any day.

      --
      "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
    20. Re:Commodore BASIC by multipartmixed · · Score: 2, Informative

      Additionally, Commodore BASIC _did_ tokenize input at data entry time.

      That's how the "shortcut" keywords worked -- PRINT's shortcut was P-shift-R (graphical underscore-like character), and not uncoincidentally, that was also the token for the PRINT statement.

      I'm not sure the grandparent is, in fact, talking about CBM BASIC 2.0. :)

      (which, don't get me wrong, sucked -- but it's not like AppleSoft BASIC was any better. Or Timex-Sinclair BASIC. Let's see. What BASIC is he referring to that has data structures and existed on home computers in 1982?)

      --

      Do daemons dream of electric sleep()?
    21. Re:Commodore BASIC by Anonymous Coward · · Score: 0

      what do you expect, it was written by microsoft.

      actually, jack tramiel negotiated it for almost no money, he didn't have to pay bill gates any royalties. bill gates just wanted to unload it because he hated motorola processors.

    22. Re:Commodore BASIC by Anonymous Coward · · Score: 0

      Sorry, I don't agree.

      I learned Basic, Logo, assembly, and Forth on the C64.

      There were great extensions to Basic (S'More basic and the Compute!/Computes Gazette additions) that made the pain much less severe.

      Like most computers, what you get out is often measured by what you put in.

    23. Re:Commodore BASIC by SurturZ · · Score: 1

      encouraged practices that made programs hard to read, like omitting comments and whitespace.

      I think that is a bit unfair. Given the limited memory of the C64, best programming practice was to omit comments in favour of code. Remember, C64 BASIC was interpreted, not compiled, so comments chewed up memory... memory measured in KILObytes. Comments (actually, they were called REMarks back then) were a luxury.

      I was a bit young to do any serious programming on the C64, but I do remember my father rewriting a line of code to save two BYTES of code. If you didn't use up all the single letter variables before using double letter variables, or you added spaces between commands, you were simply doing it wrong.

      Now we have gigabytes of RAM and terabytes of hard disk space yet computer programs don't run any faster than they used to (if anything, slower!). I think modern programmers could do worse than writing a few programs for the C64 to expose them to resource-scarce programming.

    24. Re:Commodore BASIC by IhuntCIA · · Score: 1

      The integer math was way slower than floating-point in Commodore BASIC V2.0. It was basic interpreter fault, so no one really wanted to use integer variables in basic.
      A lot more high level constructs were added on Commodore 128, but most of them were quite limiting.
      Programing on 1MHz CPU using BASIC to do more than text input / output was hard, but one could toggle some sounds, sprites or graphic modes poking RAM. For anything more complicated was way to slow. Commodore 128 had built in assembler, unlike C64.
      Basic commands were tokenized. Example:
      hit SHIFT + C= to switch to lowercase mode. Following text is caps sensitive:

      10 fO x= 0 to 15: pO 646,x: ? "Hello world.": nE
      lI

      10 for x= 0 to 15: poke 646,x: print "Hello world.": next
      ready.

      This example uses 46 bytes of RAM and some more for the x variable. If typed without spaces a lot more bytes could be freed, but it would make the program hard to read. Also the Commodore BASIC v2.0 offered some typing optimization, example one could type IF X=Y THEN 300 instead of THEN GOTO 300. I guess it all was an effort to save RAM. I did not consider BASIC v2.0 bad, I used to code in assembler when I needed speed.

    25. Re:Commodore BASIC by konohitowa · · Score: 1

      Contrary to a lot of responses, #1 is at least partially correct. Constants were NEVER parsed at entry time. So, 3.14159 was stored as ASCII "3.14159" and converted to floating point every time. And although everything else was tokenized, expressions weren't parsed into evaluation order, so that also had to be done every time.

      I asked Bill Gates about this back in the early 90's, because it had always bugged me as to why they did it this way. He claimed it was because they were tight on ROM and had to cut some of the features, that being one of them. Since it had to be done at SOME point, that always struck me as bullshit, but it's what he said.

    26. Re:Commodore BASIC by konohitowa · · Score: 1

      Don't forget COMAL. I did a fair amount of AI classwork with it.

    27. Re:Commodore BASIC by Anonymous Coward · · Score: 0

      The C64 BASIC had support for integer variables, but using them did not avoid any floating-point arithmetic, as integer values were converted to floating point before doing any arithmetic. So people were not lazy - many tried to use integer variables to speed up things and found that it only made things go slower. Try it with an emulator if you don't believe me. Integer variables were still somewhat useful for two reasons: Compatibility with other BASICs and saving space for large arrays.

      The ABC80 BASIC was much more sophisticated in that regard, with parallel implementations of arithmetic operations for floating point, integer and bignums (represented as strings). But they also had a 16K ROM to work with. Most flaws of the C64 BASIC were quite understandable, considering that they had to cram it into 8K (it actually spilled over into the KERNAL ROM by a few hundred bytes, but was probably running stricly with 8K in the original Microsoft implementation).

    28. Re:Commodore BASIC by Anonymous Coward · · Score: 0

      You are right about Commodore BASIC using tokenization for the internal representation, but wrong in assuming that the shortcut form described was used for it. They actually used bytes larger than 128 to represent entire keywords. Google easily found a table of those:

      http://www.zimmers.net/anonftp/pub/cbm/programming/cbm-basic-tokens.txt

    29. Re:Commodore BASIC by Anonymous Coward · · Score: 0

      Actually the token for print, pR and ? is the byte $99 in cbm basic. It did tokenise keywords, but variable names were left as two alphanumeric characters (not so efficient - iirc a linear search was involved for every single variable access but i could be wrong).

      And "everyone" knows that the BBC basic was the best one around in the early 1980s :-)

    30. Re:Commodore BASIC by SomeoneGotMyNick · · Score: 1

      There was no support for user-defined functions

      There was for mathematical functions via the DEF FN command

    31. Re:Commodore BASIC by david.given · · Score: 1

      Brace yourself; there were worse BASICs out there. For example, Sinclair BASIC, where the keyboard didn't even work properly, and you couldn't type in keywords --- instead it used complicated sequences of keyboard modifiers to map each keyword to a specific key. (Apparently they did it like that to avoid having to code a keyword tokeniser.) And even once you'd successfully found all the keywords, it still ran like suck; all floating point operations, for example, were done via interpreted bytecode, which really didn't help the speed.

      At the other end of the spectrum (pun intended), Acorn's BBC Micro had the best popular BASIC pretty much ever; it was blazingly fast --- an order of magnitude faster than Spectrum BASIC, despite running on similar hardware --- and some decent structured programming support, such as named procedures with proper local variables. You could actually, genuinely, learn to program properly on BBC Basic, which you couldn't on Sinclair or Commodore BASIC. What's more, it even had a built-in assembler, which made it really simple to embed little fragments of machine code.

      Let's see... it's been about 15 years since I did this stuff...

      10 DIM code 100 : REM allocate 100 bytes for machine code
      20 PROCassemble
      30 REPEAT
      40 CALL code
      50 UNTIL FALSE
      60 :
      70 DEF PROCassemble
      80 P% = code : REM assembly target address
      90 FOR pass = 0 TO 2 STEP 2 : REM two pass assembly
      90 [ OPT pass : REM start assembly
      100 LDX #0
      110 .loop
      120 LDA text, X
      130 INX
      140 JSR &FFEE : REM OSWRCH system call, writes a char
      150 CMP #0
      160 BNE loop
      170 RTS
      180 .text
      190 EQUS "Hello, world!"
      200 EQUB 0
      210 ]
      220 NEXT
      230 END PROC

    32. Re:Commodore BASIC by KhipuX · · Score: 1

      The BASIC on a TRS-80 originated almost directly from Microsoft's BASIC that was originally written for the Altair in 1975. MS Basic kinda got standardised in around 1978 and I'm pretty sure it had an ANSI standard too. The BASIC on the ZX Spectrum was as far as I know based on that ANSI standard basic and because the TRS-80 and the Spectrum had the same CPU the majority of programs could be written in the same BASIC for both machines with just a little tweaking on a couple of commands. The CBM-BASIC seemed to veer off from the the 1978 standards quite a lot so in my opinion it was very different to any other BASIC out there.

    33. Re:Commodore BASIC by hson · · Score: 1

      Well, the C64 only had C= Basic V2 which would fit in a 8kb ROM. That was one of the reasons they put it in the C64. Other C= machines (even earlier ones) had better basic... but of course it was bigger than 8kb.
      The Commodore 128 had V7 (the last released, the prototype C65 aka C64DX had V10).
      V7 was actually very nice, albeit a bit slow for i 1MHz machine.

      I think the deal with MS was that they could improve the interpreter without paying royalties after V1, which would mean that Commodore is one of the few companies that put one over MS.

    34. Re:Commodore BASIC by FrenchSilk · · Score: 1

      What parsing was done at runtime that other interpreters do at input time? All the BASIC commands were tokenized at input time.
      You can find the complete set here
      And as you can see, there are several high level functions.

    35. Re:Commodore BASIC by FrenchSilk · · Score: 1

      I would disagree. I wrote a commercially successful program for the VIC-20, which had the same BASIC as the C-64, and I found that I could not port it to the Atari 400 or TI-99 because their BASIC interpreters were too restrictive. The C-64 interpreter, which was written by a nerdy guy named Bill Gates, allowed a lot of space-saving tricks that made my program possible. Using all these tricks made the code nearly impossible to read, but who cares? Sacrificing readability for functionality is a no-brainer. This page" contains the code for one of the two programs that made up my product. It is the only Assembler ever written for such a small program space (3583 bytes), making it the smallest assembler ever written.

      I have always considered it my best hack and there is a little more about it here.

    36. Re:Commodore BASIC by FrenchSilk · · Score: 1

      A lot of parsing was done at runtime, rather than at entry time or program startup time.

      Such as??? The Commie 64 tokenized every statement at input time. You can find the complete list of C-64 tokens here.

      Very few high-level constructs.

      Compared to what? Look at the token list. It has many high level functions. Can you give some examples of competing computers at the time that had more? Apple II? TRS-80? Atari 400 or Atari 800? TI-99?

      Most BASICs at the time would at least tokenize at entry time, and many even converted programs to P-code for execution.

      As I said, C-64 tokenized too. Can you name one computer in that time that did more than the C-64 regards tokenizing or P-code? And how would you differentiate between C-64 tokens and P-code? Aren't they are basically the same thing?

    37. Re:Commodore BASIC by pomakis · · Score: 1

      IIRC, using integer variables actually slowed things down somewhat, because the underlying math was actually performed in floating point anyways. To achieve integer semantics, the BASIC interpreter had to perform integer-to-floating-point-to-integer conversions for every calculation.

    38. Re:Commodore BASIC by Dogtanian · · Score: 1

      Well, the C64 only had C= Basic V2 which would fit in a 8kb ROM.

      Atari BASIC also had to fit into 8KB (one of the reasons they didn't go with MS BASIC). Yet while it's not one of the most advanced BASICs on the face of the planet, it's a passable implementation. And didn't *most* BASICs on early-to-mid-era 8-bit home computers have to fit into 8KB anyway?

      Actually, perhaps the problems Atari had fitting MS BASIC into 8KB suggest that C=, who *did* go for it, may have had to trim features to get it in.

      Anyway, it's nice that C= put one over on MS, but we all know who won out in the long run :-(

      --
      "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
    39. Re:Commodore BASIC by bjb · · Score: 1
      Yes, this pseudo-integer variable support is part of the 6502 BASIC code that Microsoft created and made its way into AppleSoft, Atari BASIC, CBM BASIC, etc.

      Not to bash Microsoft here, but just stating that it was a common code base for all of the 8-bit micros that used their BASIC on the 6502.

      --
      Never hit your grandmother with a shovel, for it leaves a bad impression on her mind...
  8. Why? Just use an emulator by aardwolf64 · · Score: 1

    Why? You can already download a C64 emulator for your chosen platform and use REAL Commodore BASIC.

  9. CBM Basic in itself didn't do much by Zarhan · · Score: 1, Interesting

    If you have any of those old CBM-BASIC listings from 80's computing magazines, it's full of POKE x,y statements (and sometimes the program is just a hex loader with bunch of READ...DATAs). So I'm really not so sure of the value of this experiment.

    (One of the longest "commercial" CBM-BASIC programs I remember - that actually used it for lots of things - was Sid Meier's Pirates!. (Haven't tested the newest Remake - I did like Pirates Gold!, the first remake, a lot)

    1. Re:CBM Basic in itself didn't do much by SomeoneGotMyNick · · Score: 1

      it's full of POKE x,y statements (and sometimes the program is just a hex loader with bunch of READ...DATAs). So I'm really not so sure of the value of this experiment.

      It made indirect entry of machine language a component of BASIC and help keep that idea, as a viable option, in the minds of programmers. Other basics had PEEK and POKE to do that, too, but it tended to be an afterthought for programmers on those platforms. As a frugal programmer (couldn't afford good assembler software), I hand coded lots of machine language into DATA statements, conveniently entered via BASIC.

  10. 1.8 MB of source for 8K of ROM by sucker_muts · · Score: 4, Interesting

    I found it odd that it took 1.8 MB of source code to compile to an interpreter that used to fit in 8K of ROM space

    Don't forget that the commodore cpu was 8 bit and current cpu's are 32 or 64 bit: Most of the commands were 8 bit and their equivalents are bigger nowadays. That explains the 8KB of ROM

    And they did not need fancy memory protection stuff, they hacked straight into the hardware. No dll's, so's to use or API's to follow. Even if it is a lot assembly code, there are a lot more bytes in assembly source than in binary executables.

    Context, people, context! ;-)

    --
    Dependency hell? => /bin/there/done/that
    1. Re:1.8 MB of source for 8K of ROM by Anonymous Coward · · Score: 0

      He's comparing source code to the binary output, which is a silly comparison to begin with, but still it has nothing to do with CPU architecture or byte size.

      A lot of extra crap is added to many modern executables, but otherwise raw code output should typically be smaller than source, unless there is lots of macro expansion or expansive optimization involved.

    2. Re:1.8 MB of source for 8K of ROM by khellendros1984 · · Score: 2, Insightful

      Or static linking of libraries, of course...

      --
      It is pitch black. You are likely to be eaten by a grue.
    3. Re:1.8 MB of source for 8K of ROM by ion.simon.c · · Score: 1

      But in that case, you'd need to include the size of the source files that created the static libs you're linking in!

    4. Re:1.8 MB of source for 8K of ROM by Anonymous Coward · · Score: 0

      It's not 1.8MB because of memory protection and 32-bit and 64-bit types. It's 1.8MB because the raw assembly was converted to source, run through LLVM (to optimize a little) then turned back into C. Which works but is quite obfuscated and bloats the source up nicely 8-). (The names of functions are quite long, like LLVM_xyzabcxyz_tmp138..) The executable on my home computer is 169K. Which is of course still pretty big, but I suppose *that's* where all the 32-bit (this is not a 64-bit box..) types, libraries, etc. come in.. also I didn't build it -Os (optimize for size), sometimes gcc makes pretty big code if it thinks it's a little faster.

    5. Re:1.8 MB of source for 8K of ROM by QuietObserver · · Score: 1

      Actually, the Commodore 64 had an extensive API (research the C64 KERNEL). Of course, a modern interpreter may not actually need to use that API, since they have their own, but the Commodore 64's was probably one of the most powerful APIs of its day. Anyone who programmed in assembly, as I did, and still do, to some extent, today, quickly learned this.

      Also, the actual CBM BASIC interpreter was about 9.25K, not 8K; there was the A000-BFFF BASIC ROM, which contained most of the interpreter, and in the KERNEL ROM (which occupied E000-FFFF), the BASIC interpreter occupied from E000 to approximately E500 (my memory of exactly where this ended is a little fuzzy, but the KERNEL began at around that point).

  11. I smell a terrible contest.... by tjstork · · Score: 2, Interesting

    Is that, some old assembly hackers ought to be able to whip up a fairly tiny basic interpreter. It should be fun in a way and still easier than in the old days of 6502. You have more registers, some basic string instructions, and outstanding support for floating point. I doubt it could be quite as small though, as, the big thing that would bloat it up would be that instructions themselves in 32 bit. For an easier and almost weekend job of it, you could do it in 64 bit assembly for Linux only. That spares you the need to do COM type of stuff and other weirdness that permeates the Windows API. In Linux, you are just doing normal C calls throughout to the OS and so you could bring up basic file services fairly quickly. A clever coder could probably make the BASIC actually be some sort of assembler with it... there's nothing genuinely fancy about it and the memory management of those guys was fairly primitive.

    --
    This is my sig.
    1. Re:I smell a terrible contest.... by Anonymous Coward · · Score: 0

      >Is that, some old assembly hackers ought to be able to whip up a fairly tiny basic interpreter.

      Or any CS undergrad whose program still teaches "computer organization" -- which is most of them.

      My class made an assembler for an honors project. (It nearly killed us though).

      Point is, Assembly Language isn't a lost art. I don't have much respect for CS programs that don't offer a course based on Henessy and Patterson (MIPS).

    2. Re:I smell a terrible contest.... by Anonymous Coward · · Score: 0

      Try this one: http://www.ioccc.org/1990/dds.c

    3. Re:I smell a terrible contest.... by shutdown+-p+now · · Score: 1

      For an easier and almost weekend job of it, you could do it in 64 bit assembly for Linux only. That spares you the need to do COM type of stuff and other weirdness that permeates the Windows API.

      You don't need to use "COM type of stuff" to access filesystem (or, indeed, do pretty much anything else that a BASIC interpreter needs to do, including graphics) on Win32.

    4. Re:I smell a terrible contest.... by david.given · · Score: 1

      Is that, some old assembly hackers ought to be able to whip up a fairly tiny basic interpreter. It should be fun in a way and still easier than in the old days of 6502.

      A while back I wrote, more or less for a laugh, most of a Basic interpreter for the Infocom Z-Machine. It was seriously unfun, and I never finished it. And I was doing it in Inform, a relatively high-level language, too... the problem with Basic is that the syntax is friggin' bizarre, with all kinds of ghastly special cases and edge conditions. It's designed to be parsed as its interpreted, which means that all the various tokens change behaviour subtly depending on the statement they're embedded in. Consider ; vs , in INPUT and PRINT, for example, and once you've done that, think about ; vs , in INPUT# and PRINT#! And then you get on to the type rules... *shudder*

      These days we're used to languages that are for more regular and easier to parse. Even C with its grammar from hell is at least regular. Even frigging Intercal has a more sensible grammar.

      ...now, there's an idea; an rommable Intercal interpreter for the C64. Finally, the right language for the machine!

  12. But the real question is.... by Simonetta · · Score: 5, Insightful

    But the real question is....Why would anybody do this?? Port Commodore64 BASIC to a PC?

        I used to have a Commodore64 and learned 6502 Assembler on it. When I got a PC (a 286) I felt nostalgic for the C64 and bought a cheap one. I used it about ten minutes and realized what a mistake it was. Fortunately I was able to sell it right away.

        Never look back. There is is nothing that was written for Commodore 64 that isn't 1000 times better on modern PCs. Nothing. Don't give me any BS about the wonderful SID chip and its KOOL mickey-mouse MOD files. They suck, really. Don't tell me about that fantastic game that you used to play on the C64 and have never been able to recreate the excitement on a PC. It's because you were a kid discovering video-games, not the Commode64.

        Are you going to tell me that you miss spending four minutes to load a 25K file from the excretable 1541 disk drive? Or spending 40 minutes to download a 25K file on a 300 baud modem from a long-distance BBS when you're paying the phone bill? Or the stupid PEEKs and POKEs. Do you miss typing in hundreds of numbers from Compute's Gazette because the program is written in super-fast 6502 1.2MHz machine code?

        The only good thing about the C64 was the keyboard. And once you start talking to your 3GigaHertz PC and having your words appear on the screen as you speak, you don't miss the keyboard. Regardless of how good it is.

        Commodore 64's rule!! But, really they suck. Never look back on trash.

    1. Re:But the real question is.... by spaceyhackerlady · · Score: 4, Insightful

      But the real question is....Why would anybody do this?? Port Commodore64 BASIC to a PC?

      Three reasons come to mind:

      1. Because it's there.

      2. Because you can.

      3. Because it's cool. :-)

      ...laura

    2. Re:But the real question is.... by Super+Jamie · · Score: 2, Insightful

      I agree that there is nothing wonderful about C64 BASIC, and also wonder why someone would port an awful archaic language to modern PCs, when there are far better BASIC interpreters around already.

      However, hardware sound reproduction is something else. SID chips produce a noticeable sound, and sound decks with SIDs built in are worth several thousand dollars and used by many popular recording artists today.

      You'll also find the Gameboy has a popular sound production scene associated with it. Look on YouTube for "little gp tracker" or just "gameboy tracker" and you'll see what I mean.

      tl;dr - BASIC lame, SID good

    3. Re:But the real question is.... by dosius · · Score: 1

      GW-BASIC had everything the C64 BASIC did, and more... I wish there were a truly free GW clone. (inb4 "write it yourself": I tried, my C-fu isn't strong enough.)

      -uso.

      --
      What you hear in the ear, preach from the rooftop Matthew 10.27b
    4. Re:But the real question is.... by Zarhan · · Score: 1

      I miss ONE particular game that I don't think anyone has managed to re-create. I'd very much appreciate a new version of PSI-5 Trading co. You have your standard Elite-esque "trade stuff between planets A, B & C"-thing go on...but the beef is that you command your spaceship *completely* by just giving your crew orders - and they attempt to execute them. So you become Captain Kirk and just bark orders for your Sulu, Chekov and Scotty. I haven't heard of other such games - I mean, you are *always* expected to grab the joystick. Eve Online might come close but it's still pretty much realtime.

      Yes, the Mobygames lists DOS version, but the CGA glory isn't exactly the best release.

    5. Re:But the real question is.... by Jesus_666 · · Score: 1

      And C++ does everything GW-Basic does, being Turing-complete.

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    6. Re:But the real question is.... by Anonymous Coward · · Score: 1, Informative

      [quote]Don't give me any BS about the wonderful SID chip and its KOOL mickey-mouse MOD files. They suck, really. [/quote]

      That's not fair. Many people like the sound of the SID chip, and there's a lot of interesting music that was written for it.
      Writing music for such a chip can also be fun, because you're driven to be creative while working under strict limitations.

      Some people like bluegrass, some people like rock, etc. Who am I to tell them that bluegrass/rock/etc "sucks"? So you can't say that SID music sucks just because you don't like it.

    7. Re:But the real question is.... by Hatta · · Score: 1

      Star Trek: The Kobiyashi Alternative is played pretty much as you describe. Star Trek: Bridge Commander is somewhat similar too.

      --
      Give me Classic Slashdot or give me death!
    8. Re:But the real question is.... by lastchance_000 · · Score: 2, Informative

      The attraction of the home computer scene of the early 80's wasn't productivity, it was the sheer fucking joy of exploration.

    9. Re:But the real question is.... by eharvill · · Score: 2, Informative

      Yes, the Mobygames lists DOS version, but the CGA glory isn't exactly the best release.

      Grab a c64 emulator and play the full color version, as shown from the game box screen shots.

      --
      At night I drink myself to sleep and pretend I don't care that you're not here with me
    10. Re:But the real question is.... by Anonymous Coward · · Score: 0

      MOD's came later with Amiga via Karsten Obarski in 87 ish. The reason the SID tune stuff etc is good is because those guys coded the tunes in 6502 and crammed it in 4kb usually. Plus they solved the baud rate issues with turbo loading/compression schemes and music during downloads, Mix-E-Load was my fave.

      But yes, compared to my PS3 it sucks balls. As for Basic 'Blitz' basic on the Amiga in the early 90s was a pretty cool language.

    11. Re:But the real question is.... by Anonymous Coward · · Score: 0

      How the fuck is this 4chan-class ranting troll modded +5, Informative?

      You need to go back to 4chan with the rest of your troll friends and stay there.

    12. Re:But the real question is.... by multipartmixed · · Score: 1

      You missed one thing -- the C64 is a hardware hacker's dream. There is NOTHING simpler to interface with out there in the real world than the C64's user port.

      Assuming your real world revolves around unclocked TTL logic.

      Well, I guess the other Commodore machines with user ports are about as easy.

      --

      Do daemons dream of electric sleep()?
    13. Re:But the real question is.... by khellendros1984 · · Score: 1

      And brainfuck does everything C++ does, being Turing-complete. ;-)

      --
      It is pitch black. You are likely to be eaten by a grue.
    14. Re:But the real question is.... by keeboo · · Score: 1

      I used to have a Commodore64 and learned 6502 Assembler on it. When I got a PC (a 286) I felt nostalgic for the C64 and bought a cheap one. I used it about ten minutes and realized what a mistake it was. Fortunately I was able to sell it right away.

      When you were young, did your parents forced you to use a C64 while chained to a wall, while expecting for the dialy meal of a dry bread and a dirty glass with tap water?

      I've never had a C64, I had a MSX instead but I respected the capabilities of the former.
      I don't regret my 8-bit days, the resources were limited but I've learned to write software and enjoyed the games from an era when each improvement was like "wow" instead of "yawn, more polygons per second" of the current games.

      If at least you exchanged that for an Amiga.. But a 286 PC?
      You mean that bleep-bloop sounding DOS monotasker 64kB-segment-limited machine so exciting as a convention on insurance?

      It's so contradictory that's depressing.

    15. Re:But the real question is.... by wikinerd · · Score: 1

      And yet, with all the powerful CPUs we have now, CBM still surpasses us in one regard: In the 1980s computers like CBM were sold with a programming language by default, so any new computer owner could (and often had) to learn programming, but today in the 2000s computers are sold with spyware and adware without any mention of programmability, so new computers owners now tend to see the computer as something working automagically like a TV. CBM encourages you to learn programming, today's PCs don't even mention the possibility of programming in the user manuals. Just open a user manual for a new laptop and you see stupid stuff like "the on/off switch is here" and "click start to get going". Most computer owners in this age have absolutely no idea that their computer can do more than downloading p0rn.

    16. Re:But the real question is.... by james72 · · Score: 1

      mod files started on the Amiga, they are not a '64 thing, you know...

      For me, as a programmer, the '64 is a great machine to code for. It's so pure compared to modern complex hardware.

      -James.

    17. Re:But the real question is.... by Anonymous Coward · · Score: 0

      As for Basic 'Blitz' basic on the Amiga in the early 90s was a pretty cool language.

      Still exists as Blitz3D/BlitzMax on Windoze.

      It is (and was back on the AmigaOS) pretty damn far from most people's ideas of "Basic" though - it is (and was, you get the idea) always intended to be suitable for pro-quality commercial game production. Someone familiar with 8-bit C64/Microsoft-style BASICs wouldn't know what hit them. Someone familiar with C or Pascal would get it pretty rapidly though.

    18. Re:But the real question is.... by mattytee · · Score: 1

      the excretable 1541 disk drive

      I think someone just came up with a band name.

    19. Re:But the real question is.... by g253 · · Score: 1

      Maybe the reason people spent so much time coding and hacking and exploring their computers back then is the fact they couldn't download pr0n...

    20. Re:But the real question is.... by konohitowa · · Score: 1

      For my money, nothing beats Bicycle Built for Two played via head chatter on the 1541 drive.

      Well, make that someone else's money. It only made it onto my drive once.

    21. Re:But the real question is.... by konohitowa · · Score: 1
    22. Re:But the real question is.... by jonaskoelker · · Score: 1

      1 to 3 = "0. Because you're a hacker" ;)

    23. Re:But the real question is.... by SuiteSisterMary · · Score: 1

      Bridge Commander was no hell, but Klingon Academy came close to the idea.

      --
      Vintage computer games and RPG books available. Email me if you're interested.
    24. Re:But the real question is.... by Phat_Tony · · Score: 1

      Don't tell me about that fantastic game that you used to play on the C64 and have never been able to recreate the excitement on a PC. It's because you were a kid discovering video-games, not the Commode64.

      Well, I'm going to tell you about it, because you're wrong. Lode Runner on C-64 is one of the greatest games I've ever played.

      You're right that the C-64 has been totally, radically surpassed in every capacity by modern machines, but how fun a video is game isn't directly proportional to the quality of the computer language it's written in or the speed of the hardware it's run on. Today's Flash games are a good proof of that. The best games I've played lately are Desktop Tower Defense and Fantastic Contraption, even though the Playstation 3 and XBox 360 probably surpass a flash-window in a web browser much the way they surpass the C-64.

      And it's not just findness for "the good old days" and my excitement as a kid discovering the game. I know that for sure because I downloaded a C-64 emulator and the exact same Lode Runner game I'd remembered as being great from when I was 10 years old, and it was still an absolutely fabulous game when I was 30 years old. It simply has very clever mechanics and level design that really make you think to get through the levels.

      --
      Can anyone tell me how to set my sig on Slashdot?
    25. Re:But the real question is.... by BigGar' · · Score: 1

      I think I'm in love....

      --


      Shop smart, Shop S-Mart.
    26. Re:But the real question is.... by wikinerd · · Score: 1

      LOL. But actually there was pr0n in the C64 era. later in the early PC era most BBSes were full of it. and yet people were still writing code in the early PC era. But later, as the command line was replaced by a GUI users became lusers. Maybe the best way to educate people about computers would be to ban GUIs.

  13. Because it's there by Nimey · · Score: 2, Insightful

    obviously.

    --
    Hail Eris, full of mischief...

    E pluribus sanguinem
  14. Almost tempted by ducomputergeek · · Score: 4, Funny

    I have an old book on how to build your own telescope from the 1980's that included how to hook up a C64 and use a joystick to control the telescope's movements all written in C64 Basic. I remember porting it to QBasic circa 1994/5 and using it for a telescope I had to account for planetary motion for photography. (Back before every telescope came with such features).

    That would almost be fun...wow I really am a geek....*shudders* I'm going back to my cave now.

    --
    "The problem with socialism is eventually you run out of other people's money" - Thatcher.
    1. Re:Almost tempted by Anonymous Coward · · Score: 0

      Before you go back to your CAVE check this out www.c64web.com a commodore 64 running as a web server thats a 1982 built computer with 64k of memory and a 1mhz 8bit cpu.

    2. Re:Almost tempted by Anonymous Coward · · Score: 0

      About as useless as this project www.c64web.com
      whats the point of a commodore 64 web server.

    3. Re:Almost tempted by elrous0 · · Score: 1

      ...and that no doubt just exploded when a 100,000 /.'ers all hit it at once. Sadly, one less C64 in the world.

      --
      SJW: Someone who has run out of real oppression, and has to fake it.
  15. Huge source by Anonymous Coward · · Score: 0

    I found it odd that it took 1.8 MB of source code to compile to an interpreter that used to fit in 8K of ROM space.

    It's not all that odd if the developer is a moron (which apparently this one is).

  16. GOTO isn't evil by Anonymous Coward · · Score: 0

    GOTO isn't evil, but it is considered harmful

  17. There is another by Gazzonyx · · Score: 1

    GORILLAS.BAS: Microsoft's only open source game.

    Lest we forget Allegiance...

    --

    If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

  18. It's been a long time but... by Anonymous Coward · · Score: 0

    10 ? Hello Windows OSX World!
    20 GOTO 10

  19. Retrocomputing by Orion+Blastar · · Score: 2, Funny

    Now my 25 year old C64 BASIC programs can run under Linux, OSX, or Windows.

    If only my 1541 floppies didn't suffer from bit rot and I loaned most of my collection to friends who didn't return them and somehow lost it after they moved.

    --
    Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
  20. Another Security Hole by Nom+du+Keyboard · · Score: 1, Funny

    Just as we do our best to get .vbs files locked down someone comes up with a new scripting language just waiting for exploitation.

    --
    "It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
  21. I hit L, Shift-O to the Quote and then Dollar! by JoshDM · · Score: 3, Funny

    If you know the dir of the nerdcore rhyme, then holler!

  22. The advantage of BASIC by KalvinB · · Score: 1

    The main advantage to BASIC is that it's trivial to get simple graphics going so you can learn how to make a wide variety of games without having to get overloaded with information about APIs and whatnot. Unfortunatly most games don't have terrible graphics so beginning programmers tend not to be satisified with large solid colored blocks.

    It may be worthwhile to come up with a compiler that expands the BASIC commands to include functions which load various graphics formats into sprites and allow you to display them easily. I remember having to use primitive shapes to draw graphics and then GETing the area on the screen and PUTing it. Eventually I developed my own graphics format that used text files that could be edited by hand.

    1. Re:The advantage of BASIC by raynet · · Score: 1

      Someone should port Simon's Basic for C64 which gave powerful (albeit slow) graphics commands and allowed me to render my first fractal images (in about a week per image).

      --
      - Raynet --> .
  23. Colors? by Anonymous Coward · · Score: 0

    Can I change my Windows background color? Let's try...

    10 POKE 53280,0
    20 POKE 53281,0
    RUN

    ERROR OCCURRED.
    PLEASE REPORT THIS PROBLEM TO QUANTUM LINK'S CUSTOMER SERVICE.

    %)9hlkhd g y4i8
    aseg.
    dg4yu4i .frj91`2
    d;gk
    d
    gn 73uo24hj rh
    !$
    y63

    +++ATH0
    NO CONNECTION

  24. It's the "bare metal" feeling by Anonymous Coward · · Score: 1, Insightful

    The only thing really great about the C64 is that it forces you to interact with computers on a very low level. Look at kids growing up with computers today: They have hard disk and networks, and never see a command line shell, let alone a programming language (and probably wonder why the "Save" icon in MS Word is a floppy disk - and why you would "save" anyway).

    A computer enthusiast today plays around with photo and music collections, a computer enthusiast back in the day found it exciting to discover new PEEKs and POKEs and actually learnt something about technology.

    The retro scene is very important. It reminds us what computers are made from, and that there is more to computing than watching Youtube.

        Michael

    1. Re:It's the "bare metal" feeling by SomeoneGotMyNick · · Score: 1

      The programmable microprocessors of today (PIC, Amtel, etc.) are not far removed from the concept of the open architecture of the C64.

      If remaking the Commodore BASIC for scripting is wrong by majority opinion, maybe the remake could be used as a programming language to compile code for the above microprocessors. Just rewrite the memory map.

      It would allow older programmers (like me) to work on/with modern devices in a more familiar environment.

  25. *whoosh* by frieko · · Score: 3, Insightful

    Of course this is a useless project! Almost as useless as model airplanes and magic tricks and football and all of the other wonderfully useless things people do to amuse themselves. Don't care for it? Fine, but no need to insult it.

    1. Re:*whoosh* by Anonymous Coward · · Score: 0

      no need to insult it

      Exactly. As if these hobbyists are going to drop everything and say "gee, you're right, I really should be putting my effort towards something you find useful, rather than something I find interesting."

      Get over it. Progress happens because people enjoy working on things that interest themselves, not because some backseat driver planned it all out for them. If you don't have anything useful to contribute, then STFU.

  26. What about PEEK and POKE? by aswang · · Score: 1

    BASIC 2.0 seems pretty worthless without support for all the PEEKs, POKEs, and SYSs, though. Is there a port of BASIC 7.0? Or at least BASIC 3.5?

  27. Ah, good times! by joetheappleguy · · Score: 1

    5 CLS
    10 INPUT "WHAT IS YOUR NAME?"; A$
    15 IF A$ = "JOE" THEN GOTO 50
    20 PRINT "YOU ARE NOT AS COOL AS JOE, SORRY!"
    30 FOR I = 1 TO 10000
    35 NEXT I
    40 GOTO 5
    50 FOR I = 1 TO 20
    55 PRINT "JOE IS COOL!"
    60 NEXT I
    70 FOR I = 1 TO 10000
    80 NEXT I


    >RUN

    1. Re:Ah, good times! by Anonymous Coward · · Score: 0

      READY.
      RUN

      SYNTAX ERROR ON LINE 5

      READY.
      LIST 5

      5 CLS

      Ready.
      5

      Ready.
      SAVE "NOERROR"

      PRESS PLAY AND RECORD ON TAPE

    2. Re:Ah, good times! by Anonymous Coward · · Score: 0

      5 CLS:INPUT"WHAT IS YOUR NAME?";A$:IF A$="JOE" THEN GOTO 20
      10 ?"YOU ARE NOT AS COOL AS JOE, SORRY!":FOR I=1 TO 10000:NEXT I:GOTO 5
      20 FOR I=1 TO 20:?"JOE IS COOL!":NEXT I:FOR I=1 TO 10000:NEXT I

      There. Fixed that for ya.

    3. Re:Ah, good times! by CTalkobt · · Score: 1

      5 PRINT CHR$(147);:INPUT "WHAT IS YOUR NAME?",A$:IF A$="JOE" THEN GOTO 20
      10 ?"YOU ARE NOT AS COOL AS MOI, SORRY!":FOR I=1TO10000:NEXT:GOTO 5
      20 FOR I=1TO20:?"MOI IS COOL!":NEXT:FORI=1TO10000:NEXT

      There - fixed that for you -

      Line 5 - needed CHR$(147) to clear screen - there was no CLS command on the C64.
      Line 5 - Input required a comma to seperate variables instead of semicolon.

      Lines 10, 20 removed unnecessary variable specification on next command (eg: NEXT instead of NEXT I).

      Also, since I don't know Joe I changed his name to MOI.

      --
      There's a gorilla from Manilla whose a fella that stinks of vanilla and has salmonella.
  28. Re: Should have known by Anonymous Coward · · Score: 0

    The rarer, second definition of "Slashdotted".

  29. Re: Peek & Poke by TaoPhoenix · · Score: 1

    Version 2 might have to. Poke & his little brother Peek were the Bastard Twins of Commodore Basic. The Commodore 128 took some steps into making a usable Basic, but the '64 was completely unusable without them.

    --
    My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
  30. Re: Whether Basic can be a language by TaoPhoenix · · Score: 1

    Sure! It's the "English" of 80's Comps. All the way from Oxford King's English to the highly creative mashups like the imported workers in my area speak.

    --
    My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
  31. Re:Commodore BASIC - which variant?? by TaoPhoenix · · Score: 2, Interesting

    Being less talented than your average /.er, Commodore *64* basic reduced me to whimpers at that tender age. I pulled out all the stops and mortgaged my childhood in chores to upgrade to the Commodore 128, and that is basically the best value in an upgrade I'll ever see. Helped by the extra passage of years, on the 128 I made maze programs, a Dodge-The-Mall-Traffic Simulator as a joke, Ethnic dialects of Eliza including the Angry New Yorker, and a few quasi-utilities that were more basic concept exercises. Then I sold it to my neighbor for $100 of munchie cash, thus learning about Exiting the Market.

    --
    My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
  32. Re: Master's Thesis! by TaoPhoenix · · Score: 1

    Tell Mom she rules. She earns a free play of this song.

    http://www.youtube.com/watch?v=Ts96J7HhO28
    "Hey Hey 16k... she bought it to help with her homework!"

    --
    My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
  33. Vic-20 by AgentPhunk · · Score: 1

    The Vic-20 was the wo-
    rst of both worlds,
    bad games, crappy basi
    c, and only 22 columns
    across. Oh yea, and a
    300-baud modem and no
    disk drive, just casse
    tte. Still, INFOCOM h
    ad a few good text adv
    entures on it.

    1. Re:Vic-20 by SomeoneGotMyNick · · Score: 1

      300-baud modem and no disk drive, just casse tte. Still, INFOCOM h

      10 ?"YOU FORGOT ABOUT
      THE 1540 DRIVE"
      20 GOTO10

      Run, read, remember

  34. You whack off so? by Anonymous Coward · · Score: 0

    >But the real question is....Why would anybody do this??

    You jerk off in the shower, why do you do that? Because it amuses you?

    Why don't you go sob one off in a corner right now?

    <whack> <whack> <whack> <cry>Nobody loves me!</cry>

  35. But Sometimes slow is good by DiegoBravo · · Score: 1

    I agree, it was slow. But sometimes a slow computer forces you to think in better ways to acomplish your tasks, and if you're just learning to program, this can be a good habit (of course, I don't think the 64 is the best platform to learn... got my point)

    Sadly, today there is an abuse of "premature optimization is the source of all evils", and young programmers just expect the compiler and the hardware to resolve every performance issue.... well, really they apparently do ignore there can exist performance issues.

    For professional developers it also may provide some benefits; for example, sometimes I think the Gnome/gtk/etc developers should be given just 486 machines or at most Pentium II machines to develop and test all their code; I'm sure they could eventually get a decent speed on these systems (they're really smart) and would be a wonder for most people running current Core-2 and the like.

    We're used to provide the coders with the top hardware (or the coders auto-provide it) as if that would provide better/faster code... the opposite is the truth.

    1. Re:But Sometimes slow is good by Anonymous Coward · · Score: 0

      We're used to provide the coders with the top hardware (or the coders auto-provide it) as if that would provide better/faster code... the opposite is the truth.

      Quite right. I make a point of having the slowest desktop computer in the company (in fact I had the last 486 until they pried it out of my fingers) and everybody thinks I'm some kind of killer programmer. In reality, any code that runs minimally acceptably on my system runs like a bat out of hell on any other system the company owns.

      Once I figured out that development time had zero correlation with computer speed (which is kind of counter-intuitive) I had the key kolwynia. If it takes more than one day to compile it's too big to be elegant anyway.

    2. Re:But Sometimes slow is good by DiegoBravo · · Score: 1

      >> If it takes more than one day to compile it's too big to be elegant anyway.

      Or the build system is no elegant (poor Makefiles, or the always brain-dead autoconf.)

  36. Re: Commodore's in the Mirror by TaoPhoenix · · Score: 1

    I disagree, though it took me a minute to formulate the counter-reason.

    No one is going to attempt to run Pixar graphics on this. The point is a form of "Limited Time Machine" in which we can return to portions of the past (here, the language) but abuse modern hardware to get sickening speed increases. Then we just drift back in our memories a little about that program we wrote Back In The Day, but now it eats Crays for breakfast.

    As for SID tunes, yea, that hardware implementation has passed its prime, but enter Overclocked Remix. It's the musical ideas of those guys that count, and now they can freshen them up into the best kind of Old-Meets-New mashup. That site still makes a quarter of my work music. http://www.ocremix.org/

    --
    My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
  37. Re: C64 Colors for Life by TaoPhoenix · · Score: 1

    As I type my montor desktop color is C64 Blue on a black monitor.

    --
    My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
  38. That's why I read /. by stm2 · · Score: 1

    scripting + commodore + linux. Who did it? Taht boy in Afghanistan?

    --
    DNA in your Linux: DNALinux
  39. Ah sweet memories, I love /. by Phizzle · · Score: 4, Funny

    I remember coding a nuissance program in 6510 assembler on my C-64 that sat in the background and when a key was pressed it had a tiny chance not to echo it to the screen or to echo it twice. After installing it on several classroom computers off the old 1541 floppy it drove some students batty, they thought they had sticky keys. This was before real viruses :)

    --
    I will not be pushed, filed, stamped, indexed, briefed, debriefed or numbered. My life is my own.
  40. GScript Basic by TrashGod · · Score: 1

    Here's a nice "Applesoft Basic for the Web" in JavaScript: GScript BASIC. It's especially aimed toward kids.

  41. malicious code by RackinFrackin · · Score: 3, Funny

    SYS 64738

    1. Re:malicious code by QuietObserver · · Score: 1

      Not that malicious; it didn't touch the contents of main memory, except for the first byte of BASIC.

  42. Re: Whether Basic can be a language by GrpA · · Score: 1

    Given it stands for "Beginners All-purpose Symbolic Instruction Code" I'd say just about any language or variation of it that meets this requirement and uses a similar syntax structure could be called BASIC.

    GrpA

    --
    Enjoy science fiction? "Turing Evolved" - AI, Mecha, Androids and rail-gun battles. What more could you want?
  43. Wow. by Anonymous Coward · · Score: 0

    I honestly really wanted to program the same project over summer (C64^64 BASIC), I almost fell off my chair when I saw this on the front page. Well done to the guy who actually did it, he saved me some time at least.

    Damn, I need to start working on my ideas, maybe i'm not as crazy as I thought. :-)

  44. Obfuscated CBM BASIC by drfreak · · Score: 1

    I actually wrote my share of obfuscated CBM BASIC. With the silly notion that some day I might sell some of my code, I would put REM statements randomly on certain line numbers with control codes in them. This would cause the interpreter to fail with a '?SYNTAX ERROR' when doing a 'LIST'. With that hack in place, you would have to 'LIST' a specific line number to see it.

  45. I'll say. by uhlume · · Score: 2, Insightful

    I found it odd that it took 1.8 MB of source code to compile to an interpreter that used to fit in 8K of ROM space.

    Especially when you consider that Farbrausch were able to create a near-complete c64 emulator for Windows in under 64K a couple of years ago.

    So what does that other 1.74M go to?

    --
    SIERRA TANGO FOXTROT UNIFORM
    1. Re:I'll say. by konohitowa · · Score: 1

      Um... 64k of source code? Or 64k of *executable* code...

    2. Re:I'll say. by uhlume · · Score: 1

      Good point. Looks like the executable is only 135K or so. Still enormous compared to the original 8K ROM, and more than twice the size of the Farbrausch emulator. Guess most of that overhead goes to interfacing with the host OS, but it still intuitively seems a little excessive.

      --
      SIERRA TANGO FOXTROT UNIFORM
  46. Boing! by Snaller · · Score: 1

    I just wish someone would make a PC version of the Boing ball - I miss it :(

    --
    If Google really cared they would fix Android Chrome to reflow text, instead of discriminating
  47. Beeb Basic Anyone?!! by Anonymous Coward · · Score: 0

    C64 Basic? Nice.Good times.

    Real Retro Basic Coolness? BBC Basic IV

    Now that is (yes,is!) BASIC!!! Going from 16K TI with a cartridge and tape deck through c64 (with 1 floppy drive shared between 12 machines) graduating to a BBC Master 128...!!! Ahhhhh!!!

    Going from that to a PC clone a few years later,with qbasic and that horrible syntax, was like a trip to the stone age.........not to mention all of a sudden things have to be "installed" to "hard drive"....wtf? .....and Elite on the PC .....Pathetic!!!.... after the Beeb!!!!???

  48. I'll will do for ZX Spectrum BASIC by Boriel · · Score: 1

    I've created a 3-stage reatargeable cross compiler for ZX Spectrum BASIC, and could easily create an interpreter like that for Windows/Linux using the parser module. It's a ZX Spectrum BASIC "dialect", but also has some improvements taken from FreeBasic.

    I think it's a nice idea. I will do a Sinclair BASIC interpreter this way.

    ---
    "Nostalgia is not what it used to be"

    1. Re:I'll will do for ZX Spectrum BASIC by konohitowa · · Score: 1

      Damn your eyes. Now I'm really gonna have to pull those spare ZX-81 kits out of the garage and teach the kids how to solder.

  49. Here you are by Anonymous Coward · · Score: 1, Interesting

    Here, a reimplementation of BASIC in C.

    In about 1.5 KB, and it actually works a treat!

    http://www.ioccc.org/1990/dds.c

    Enjoy!

  50. BBC Basic by Anonymous Coward · · Score: 0

    Here you are: 1981, with a Basic that has datastructures and a lot of other high-level constructs.

    http://en.wikipedia.org/wiki/BBC_Micro

    1. Re:BBC Basic by Anonymous Coward · · Score: 0

      A way better link:

      http://www.bbcbasic.co.uk/bbcbasic.html

  51. Get the source of the Brandy interpreter by Anonymous Coward · · Score: 1, Informative

    Get the source of the Brandy interpreter (= BBC BASIC V) at:

    http://www.bbcbasic.co.uk/bbcbasic.html

    This is hands down the best BASIC implementation, ever.

  52. poke by Anonymous Coward · · Score: 0

    POKE 53280,1
    POKE 53281,0

  53. Re:Commodore BASIC - which variant?? by SomeoneGotMyNick · · Score: 1

    You young whippersnapper....

    I became proficient in Commodore BASIC with my VIC-20. We HAD to PEEK and POKE everything and tighten our belts when saving RAM.

    We also had to remap entire character sets to get hi-res graphics.

    The C64 made hi-res graphics easier to manage than that, even requiring continued use of PEEK and POKE.

  54. "with a lot of time on their hands" by Anonymous Coward · · Score: 0

    "with a lot of time on their hands" what what stupid, uneducated idiots say about people who use their brains to do things they cant possibly think of doing themselves because "with a lot of time on their hands" means they dont watch reality TV or listen to music or watch sports or do the crap that the rest of the 2/3 of the idiots in this nation do to keep themselves awake during the day.

  55. Re:Why? Just use an emulator by Anonymous Coward · · Score: 0

    Addressed in the article.
              1) It's faster.
              2) It can access your files rather than ones inside the emulator.
              3) It IS real Commodore BASIC. It was essentially ran through a 6502 assembly->?? recompiler, ran through LLVM to optimize it a little. It's basically raw assembly converted to C, which makes it quite obfuscated and large.
              4) It's geeky fun.

  56. Commodore 64 hardware hacking by Simonetta · · Score: 1

    Hello,
        If you are interested in the hardware hacking environment of the Commodore 64, I suggest looking into the DIY projects world of PIC and AVR microcontrollers. Especially the AVR (www.AVRfreaks.net). These devices are very cheap, easy to program from the PC, and have extensive open-source programming and low-cost debugging tools (such as JTAG in-circuit-emulators and C compilers) available.

        Programming these devices brings back all the joy of creating working electronic 'things' that plugging circuits into the back of the Commodore 64 used to. But these chips are all $1-$8 in cost and have the reprogrammable memory, UART, I/O ports, and analog-to-digital converters built into them.

        What they don't have as yet is the video. Most microcontroller projects are at the LCD character display module stage. But bit-mapped graphics LCD modules are beginning to fall in price into the single-application range ($5-$15).

        I learned microprocessor electronics by building things like memory expanders, temperture sensors, and MIDI interfaces to plug into the back of the Commodore 64, as you have done. I'm still doing the same projects now with AVR microcontrollers using the same techniques more or less. Fortunately the 'crash-and-burn' era of ultra-violet EPROM erasing has been replaced by Flash EEPROM in-system-programming. And when I mess up, the cost is only $5 worth of zapped parts rather than an expensive C64 motherboard or semi-custom 6510 processor.

        This really isn't a general Slashdot message, but more a greeting from one C64 hardware hacker to another.