fujidude Posted February 6, 2017 Share Posted February 6, 2017 Keep in mind the ever increasing inflation (due to debt based currency) and those prices would be 2 to 3 times that in today's money. 1 Quote Link to comment Share on other sites More sharing options...
JamesD Posted February 6, 2017 Share Posted February 6, 2017 Keep in mind the ever increasing inflation (due to debt based currency) and those prices would be 2 to 3 times that in today's money. Hence the today's dollars comment. I actually looked it up. Seems it's almost exactly 2.5 times as much, though I did round the number. Commercial assemblers were expensive. I think ones for the CoCo started at $50. I remember using a BASIC assembler and disassembler from magazines. *edit* That would be about $125 in today's dollars. Quote Link to comment Share on other sites More sharing options...
JamesD Posted February 6, 2017 Share Posted February 6, 2017 (edited) Same here. My book even had a type-in Assembler written in basic to help with the task. I wrote several ASM programs with it. But when the programs got too large, it was unmanageable. (no macros, no debugging tools, etc..) The EDTASM+ cart didn't have macros, or conditional assembly either. I could have never written code like I have now on that. I think the worst part was the built in editors. They only supported the standard 32 column text which was all upper case. By the time you start putting things in columns with tabs, your comments are half way across the screen and when lines are wrapped, the code becomes unreadable. *edit* Imagine trying to program on a VIC 20. 22 characters per line. Edited February 6, 2017 by JamesD Quote Link to comment Share on other sites More sharing options...
zzip Posted February 6, 2017 Share Posted February 6, 2017 *edit* Imagine trying to program on a VIC 20. 22 characters per line. It's not so bad, after about 10 lines, it runs out of memory 2 Quote Link to comment Share on other sites More sharing options...
JamesD Posted February 6, 2017 Share Posted February 6, 2017 It's not so bad, after about 10 lines, it runs out of memory I'm so glad I wasn't drinking anything when I read that. 1 Quote Link to comment Share on other sites More sharing options...
2600problems Posted February 12, 2017 Author Share Posted February 12, 2017 thanks for the views guys Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted February 12, 2017 Share Posted February 12, 2017 The one extended command I absolutely had to have, though, and the one I never forgave Atari for omitting, was the DIR command. The C64's way of faking a BASIC program for LOAD "*",8 was terribly goofy, but at least they didn't make you reload a DOS menu just to get a directory listing from the disk. Directory listing from Atari Basic: CL.#1:CLR:DIMF$(18):F$="D:*.*":O.#1,7,0,F$:FOR I=1TO66:IN.#1,F$:?F$:N.I You can store this on a project disk using DOS' copy file...choose E: and D:DIR as the source and destination, type the above listing (with an enter at the end), and hit break to write the file. With the file present on the disk you are working with, you can ENTER"D:DIR" to get a listing whenever you wish. 1 Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted February 13, 2017 Share Posted February 13, 2017 Directory listing from Atari Basic: CL.#1:CLR:DIMF$(18):F$="D:*.*":O.#1,7,0,F$:FOR I=1TO66:IN.#1,F$:?F$:N.I You can store this on a project disk using DOS' copy file...choose E: and D:DIR as the source and destination, type the above listing (with an enter at the end), and hit break to write the file. With the file present on the disk you are working with, you can ENTER"D:DIR" to get a listing whenever you wish. Don't use break, use ctrl-3. If you hit break, it'll never save the file. Ctrl-3 is the proper EOF key. 1 Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted February 13, 2017 Share Posted February 13, 2017 Proper or not, it worked for me BITD under DOS2.5. Lucky, I guess Quote Link to comment Share on other sites More sharing options...
carlsson Posted February 13, 2017 Share Posted February 13, 2017 (edited) OMG! People keep complaining about the Commodore DOS commands being cryptic, but that one-liner for listing the directory is way beyond cryptic. Good thing you can save it to disk. Ok.. if you spell out the commands CLOSE# OPEN# INPUT# PRINT NEXT perhaps not so bad. IIRC the Enterprise 64/128 BASIC is good but it was awfully delayed so most of the potential customers probably had moved onto other platforms before it was available. In any case, each version of BASIC tends to have its pros and cons and not everyone will agree on which properties are features or bugs, so the discussion could go on for a long while. Some BASICs will allow you to GOTO a line number that doesn't exist and resume execution from the next available line, others will bail out with an error message. Some BASICs will allow you to GOTO a line based on an expression, either in the form of ON n GOTO xxx, xxx or in the form of GOTO 20+n*10. Some BASICs like the Camputers Lynx supports floating point line numbers so you can insert line 10.5 between 10 and 11, and then insert line 10.4 before line 10.5 etc. Good ideas or bad ideas? That is without getting into specific commands to handle graphics, colours, sound, auxillary input and so on. Edited February 13, 2017 by carlsson Quote Link to comment Share on other sites More sharing options...
fujidude Posted February 13, 2017 Share Posted February 13, 2017 OMG! People keep complaining about the Commodore DOS commands being cryptic, but that one-liner for listing the directory is way beyond cryptic. I was thinking the same thing until it all came together with the ENTER "D:DIR". That's not so bad really in and of itself, but the discipline of having it available on every disk is rather inconvenient in a entirely new way. In any case, each version of BASIC tends to have its pros and cons and not everyone will agree on which properties are features or bugs, so the discussion could go on for a long while. Which is kind of the point & precisely why it's an interesting subject for an Internet forum about classic computing/gaming. Quote Link to comment Share on other sites More sharing options...
JamesD Posted February 13, 2017 Share Posted February 13, 2017 The obscure commands certainly created a bit of a steep learning curve for people.Unless it was in the manual or the dealer you purchased the machine from gave you a cheat sheet, you'd be at a bit of a loss.And if you bought it from KMart, ToysRUS, Fred Meyer, etc... ?You have to admit, it must have turned some users off to computers. Quote Link to comment Share on other sites More sharing options...
+slx Posted February 13, 2017 Share Posted February 13, 2017 The obscure commands certainly created a bit of a steep learning curve for people. The gradient of the curve wasn't equal for all people I don't recall the exact circumstances but I clearly remember watching a "pre-literate" child (i.e. about 4-5 years old) type something like LOAD "*",8,1 on a C64 as if it were stacking building blocks. Quote Link to comment Share on other sites More sharing options...
Bryan Posted February 13, 2017 Share Posted February 13, 2017 The gradient of the curve wasn't equal for all people I don't recall the exact circumstances but I clearly remember watching a "pre-literate" child (i.e. about 4-5 years old) type something like LOAD "*",8,1 on a C64 as if it were stacking building blocks. Yeah, kids always figure out what they need to. Today's kids can operate every function of a cell-phone but can't figure out 2600 games in those 'react' videos. Today's adults could figure out every aspect of 2600 games, but can't figure out most of the stuff on their cell-phone. 1 Quote Link to comment Share on other sites More sharing options...
+slx Posted February 13, 2017 Share Posted February 13, 2017 (edited) Today's kids can operate every function of a cell-phone but can't figure out 2600 games in those 'react' videos. My personal observation is that today's kids find many old games either too shallow or too hard or both. The idea of playing on and on and on just to reach another identical (or identical but a bit faster) level seems to bore them (which I can't blame them for as I don't seem to have as much zeal for it as I used to have 30 years ago ). Even if higher levels are different they're not used to not being able to "continue" or start where they left off. With hindsight it's interesting that the "level code" concept was not really invented or at least in widespread use until the 1990s although it would have been much more comfortable on the Ataris with their keyboards than on, say a Jaguar. Edited February 14, 2017 by slx Quote Link to comment Share on other sites More sharing options...
2600problems Posted February 18, 2017 Author Share Posted February 18, 2017 (edited) I was actually wondering if you guys could help me out. i'm practicing programming off of some books from atarimania and the vic20 emulator won't produce any graphics at all. why is this. i'm using sample code from this book: a beginners guide to real programming for the vic 20. I type in the code on page 75 but it only shows a heart. it says that there's supposed to be a bug but there's nothing there. Edited February 18, 2017 by 2600problems Quote Link to comment Share on other sites More sharing options...
fujidude Posted February 19, 2017 Share Posted February 19, 2017 I was actually wondering if you guys could help me out. i'm practicing programming off of some books from atarimania and the vic20 emulator won't produce any graphics at all. why is this. i'm using sample code from this book: a beginners guide to real programming for the vic 20. I type in the code on page 75 but it only shows a heart. it says that there's supposed to be a bug but there's nothing there. You might try posting the actual code here, if it isn't too long. There is a better chance of someone looking at it that way. Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted February 19, 2017 Share Posted February 19, 2017 That book refers to it as a "bug" (i.e. centipede), because it is made of 5 characters...or segments. How it looks is irrelevant at this stage...it is instructing you how to handle those multiple segments. Redefining the character set (altering the character map to look the way that you want it to look) is covered in chapter 16. Quote Link to comment Share on other sites More sharing options...
carlsson Posted February 19, 2017 Share Posted February 19, 2017 The program in question begins on page 74, and is then explained on the following pages 75-77. Converted to lower case and control characters converted to CHR$ so it is easier to paste into VICE: 10 inputa 20 printchr$(147); 30 forp=1to20 40 fl=int((((p/2)-int(p/2))*2)+0.5) 50 sn=1-2*fl 60 forj=0to21 70 ch=(22*p)+(21*fl)+(j*sn) 80 ifj>=athenpoke7680+(22*p)+((j-a)*sn)+(21*fl),32 90 ifj<athenpoke7680+(22*(p-1))+((a-j)*sn)+(21*fl)-sn,32 100 poke7680+ch,81 110 poke38400+ch,2 120 fort=1to10:next 130 next:nextAnyway, graphics character 81 should be a filled ball, not a heart (83). Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted February 20, 2017 Share Posted February 20, 2017 Which doesn't matter if the (eventual) intent is to redefine the set. You can use any characters you choose for testing...preferably, characters whose control codes match what the program is doing to make the program easier to handle. Basics first, fun stuff later. Quote Link to comment Share on other sites More sharing options...
2600problems Posted February 27, 2017 Author Share Posted February 27, 2017 i've recently discovered the bbc micro. 32k joy, even if it lacks peek,poke commands 1 Quote Link to comment Share on other sites More sharing options...
2600problems Posted February 27, 2017 Author Share Posted February 27, 2017 this is the code: 10 print a=5 20 print " (picture of a boxed heart) 30 for h=0 to (a-1) 40 poke 7680+H,81 50 poke 38400 + H,2 60 for t =1 to 100 next 70 next would not let me copy and paste the code. hate pdf files. vic 20 is set on ntsc most of the time and on full blocks (24k memory) Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted February 27, 2017 Share Posted February 27, 2017 The Vic migrates screen memory to $1000 (4096 decimal) when 8k or more expansion RAM exists. It is $1E00 (7680 decimal) in an unexpanded 5k Vic (or with the 3k "Super Expander" cartridge only). Similarly, color memory moves from $9600 (38400 decimal) when unexpanded to $9400 (37888 decimal) with 8k or more expansion RAM present. IIRC the reason for this change is so that your program would not get clobbered if you scroll a screen. Thanx a lot C=...some superb planning there). 2 Quote Link to comment Share on other sites More sharing options...
2600problems Posted February 28, 2017 Author Share Posted February 28, 2017 in english? Quote Link to comment Share on other sites More sharing options...
JamesD Posted February 28, 2017 Share Posted February 28, 2017 The Vic migrates screen memory to $1000 (4096 decimal) when 8k or more expansion RAM exists. It is $1E00 (7680 decimal) in an unexpanded 5k Vic (or with the 3k "Super Expander" cartridge only). Similarly, color memory moves from $9600 (38400 decimal) when unexpanded to $9400 (37888 decimal) with 8k or more expansion RAM present. IIRC the reason for this change is so that your program would not get clobbered if you scroll a screen. Thanx a lot C=...some superb planning there). in english? The VIC 20 normally sets up screen RAM to start at memory address 7680, and color memory normally starts at memory address 38400. When you add a RAM upgrade with over 8K, the machine detects the additional RAM and configures the screen to start at memory address 4096, and the color memory to start at address 37888. This makes more RAM available to BASIC. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.