Amiga.org
Operating System Specific Discussions => Other Operating Systems => Topic started by: trekiej on March 21, 2013, 01:19:11 AM
-
Outside of a cartridge expansion is there a way to upgrade Commodore Basic on a C64.
I guess a disk with compiler would be better but how about a rom?
-
I know of no BASIC extension that comes on plug-in ROM for the C64 (no space left on the original ROM for any enhancements). Thus, all the BASIC extensions came on cartridge or on disk. A nearly complete listing of the extensions is at
http://www.npsnet.com/danf/cbm/languages.html#BASIC-extenders
The list does not seem to include BASIC 4.0 which was in the Better Working Turbo Load 'N Save cartridge nor the BASIC 4.5 which was in RUN magazine issues 18-20.
Truly,
Robert Bernardo
Fresno Commodore User Group
http://videocam.net.au/fcug
-
Would JiffyDOS not fall under this?
-
What exactly do you want? There were a whole mess of BASIC extensions available back in the day. Some hid under ROM. Most of them added new commands, one popular extension being a DOS wedge. I remember one in particular published in COMPUTE! called BASIC 7 (or BASIC 6; the memory fails) which added a bunch of C128 BASIC-like commands and shortcuts, including programmable f-keys.
-
Simon's BASIC was pretty popular, and also has a compiler. Noticably faster than the inbuilt basic v2.0, but also inherited a lot of v7.0.
As for function keys, theyre programmable even with even the inbuilt basic (they have ascii values)
-
Simon's BASIC was pretty popular, and also has a compiler. Noticably faster than the inbuilt basic v2.0, but also inherited a lot of v7.0.
Simon's BASIC was indeed pretty popular, but it was noticably slower than BASIC 2.0, not faster. An easy test for this would be a simple FOR...NEXT loop. Of course, graphics and such were faster as you needed much less code to obtain a certain result. Simon's BASIC commands were much more powerfull compared to the rather crude BASIC 2.0.
Apart from that, it could not have inherited anything from BASIC 7.0: Simon's BASIC is from 1983, BASIC 7.0 (the C128, that is) is from 1985. If anything, it would be the other way around.
Simon's BASIC was a way cool BASIC extension. Very impressive for its day.
-
They used to sell Basic 8 for the C128 as a Rom chip that you could put into the C128 expansion rom socket or you could put it in your REU expansion socket. For plain old C64, there were carts that added commands and shortcuts to basic like Simon's Basic, Super Expander and S'more. Other than that there is no way to "upgrade" C64 basic. Why are you looking to upgrade it by the way?
-
@Jiffy
Ah ok. My experiments with Simon's BASIC were mostly writing games, which is probably why it was faster for me (ie. pretty grahpics heavy). As for inheriting stuff from BASIC v7.0 I guess Id misinterpreted the description, "heavily enhanced and featuring many features from BASIC 7.0" (or something to that effect) from back when I played with it some time around 2000.
Regardless it was fun. Cant really recall how we came up with the idea, but me and a friend decided to try to make a monkey island clone in basic for the c64, and simon's basic sounded interesting so we gave it a go. :)
-
I still use Simons BASIC on my C64. I remember writing my O Level computer science project on it and having to lug my C64 and floppy drive into school in order to get graded.
-
I still use Simons BASIC on my C64. I remember writing my O Level computer science project on it and having to lug my C64 and floppy drive into school in order to get graded.
Ah the halcyon days before they replaced O'level CS with GCSE IT.
I unfortunately had to do the latter in the early 90's and was much peeved that the entire two year course consisted of typing letters in MS Works on MSDOS4.01 286 machines. :(
-
Ah the halcyon days before they replaced O'level CS with GCSE IT.
I unfortunately had to do the latter in the early 90's and was much peeved that the entire two year course consisted of typing letters in MS Works on MSDOS4.01 286 machines. :(
I was actually shocked and sort of saddened to hear that UK schools no longer have a proper CS track/module.
Who was the genius behind swapping learning how to code for learning how to use MS Office? That guy definitely needs a blue plate on his house that reads "Here lived the guy that turned a nation of David Brabens into a nation of Mavis Beacons and Clippies."
-
I was actually shocked and sort of saddened to hear that UK schools no longer have a proper CS track/module.
Who was the genius behind swapping learning how to code for learning how to use MS Office? That guy definitely needs a blue plate on his house that reads "Here lived the guy that turned a nation of David Brabens into a nation of Mavis Beacons and Clippies."
The IT teacher in my school hated me and my friend because we could code and he couldn't. He actively discouraged us from teaching ourselves to code.
He is still there at the school 20 years later apparently.
-
The developer of Simon's Basic has posted some comments about his time developing it here at this link.
http://www.lemon64.com/forum/viewtopic.php?t=31356
He was just 16yrs old at the time!
-
The IT teacher in my school hated me and my friend because we could code and he couldn't. He actively discouraged us from teaching ourselves to code.
He is still there at the school 20 years later apparently.
Damn, it really bugs me to find out that computer classes have been dumbed down to that sort of level. Computer Science was about programming and hardware in my day. If you wanted to know about Excel and Word then you had to sit in the typing classes with the girls!
One thing that did upset us computer geeks was when they replaced our two Research Machines 380Z machines with 3 brand new BBC Model B computers (for 25 of us to use)... and replaced the 15 manual typewriters in the typing class with 15 BBC Model B computers!
I think my worst memory was having to flowchart my A Level project. I know the flowchart was worth 5% of the exam total, but I'm sure as hell certain that nobody waded through my sheets of paper to see if it was correct.
-
Damn, it really bugs me to find out that computer classes have been dumbed down to that sort of level. Computer Science was about programming and hardware in my day. If you wanted to know about Excel and Word then you had to sit in the typing classes with the girls!
One thing that did upset us computer geeks was when they replaced our two Research Machines 380Z machines with 3 brand new BBC Model B computers (for 25 of us to use)... and replaced the 15 manual typewriters in the typing class with 15 BBC Model B computers!
I think my worst memory was having to flowchart my A Level project. I know the flowchart was worth 5% of the exam total, but I'm sure as hell certain that nobody waded through my sheets of paper to see if it was correct.
I remember the 380Z at primary school fondly. They used to drag it into the classroom on a big trolley twice a week.
The thing looked like a tank! :)
The thing that pissed me off the most is that the kids in the year above me were the last year that did CS. I spent many an hour in the maths lab during lunch playing around with their Model B's and a couple of Masters. They even had an old PET in there too.
I spent even more time in the music suite when they installed the STe and the A500 though. :)
-
The 380Z was a brick outhouse. :-)
I still recall having to insert a disk to boot into CP/M and then inserting another one to boot into BASIC. We had 2 models. The newer one had a nice feature that would "slow scroll" your program if you hit a key combination.
-
The 380Z was a brick outhouse. :-)
I still recall having to insert a disk to boot into CP/M and then inserting another one to boot into BASIC. We had 2 models. The newer one had a nice feature that would "slow scroll" your program if you hit a key combination.
If memory serves me correctly the version we had at school used 8 inch floppy disks.
-
If memory serves me correctly the version we had at school used 8 inch floppy disks.
Ours had 5.25" disks. The older one had a B&W monitor and the new one a nice green screen display. Sat in the corner was the old teletype they replaced. I'm glad I wasn't around for that.
-
Ours had 5.25" disks. The older one had a B&W monitor and the new one a nice green screen display. Sat in the corner was the old teletype they replaced. I'm glad I wasn't around for that.
Ooh nasty stuff, coupled up to a remote punch card Redding machine was it?
I could be remembering ours wrong, 87 was a long time ago, it might have had 5.25" disks.
-
My heart goes out to the Plus/4 but a Basic upgrade for the C64 would have been a better computer. The Plus/4 has Basic 3.5 and the C128 had the 7.0 Basic.
I have the Super Expander on Vice X64 and maybe Simons Basic. I hear that Simons has more memory.
how does Jiffy Dos compare. I guess is gives the C64 better Algorithms for faster disk access ,etc.
Later.
edit
thanks for the links
-
I have the Super Expander on Vice X64 and maybe Simons Basic. I hear that Simons has more memory.
Don't forget about Tuned Simons Basic (TSB) which corrects the errors of the original and also gives more commands. A link for TSB is at
http://rsp.retrocomputacion.com/basic-expansions-and-variants-commodore/
At that webpage above, the relatively new DotBASIC is listed there. DotBASIC is a very capable BASIC extension. The official DotBASIC webpage is at
http://dotbasic.cbm8bit.com/about.html
Truly,
Robert Bernardo
Fresno Commodore User Group
http://videocam.net.au/fcug
July 27-28 Commodore Vegas Expo v9 -
http://www.portcommodore.com/commvex
-
how does Jiffy Dos compare.
It doesn't. Jiffy DOS is a dos wedge, with fast disk routines and only some minor basic additions, none of them aimed at sound or graphics.
-
My heart goes out to the Plus/4 but a Basic upgrade for the C64 would have been a better computer. The Plus/4 has Basic 3.5 and the C128 had the 7.0 Basic.
I have the Super Expander on Vice X64 and maybe Simons Basic. I hear that Simons has more memory.
how does Jiffy Dos compare. I guess is gives the C64 better Algorithms for faster disk access ,etc.
Later.
edit
thanks for the links
The Plus/4 was my first computer back in 88, I have such fond memories of it.
If CBM had put a SID chip on the motherboard it would have been a much better machine than the c64 I reckon.
It still has an active demoscene with some pretty nice releases.
-
Did the Plus/4 even have hardware sprites? It's pretty neat, but I think hardware sprites would have been more of an upgrade than a SID chip. There were of course SID expansions for the Plus/4 anyway.
-
Did the Plus/4 even have hardware sprites?
No, but it had 60k of accessible RAM and could display 128 colours onscreen. The c64 had less than 40k of usable RAM and 16 colours so it's a fair trade. :)
edit: Faster CPU, serial port and floppy drive too.
It's pretty neat, but I think hardware sprites would have been more of an upgrade than a SID chip. There were of course SID expansions for the Plus/4 anyway.
Yeah, there are quite a few demos that use them.
-
I got a text file for the C64 Super Expander and I like it better than Simons Basic.
I could not get Sim' Basic to go into high res. I do not know how to run it well I guess.
I guess there is no replacement rom for the C64 to give it a better version of Basic.
A cartridge with a better basic and more memory would be great. (128k)
Later.
-
I'm sorry I can't remember the name, but 64'er (german mag) published a basic extension that provided something invaluable at the time: a way to store arrays in the memory under the roms, thereby extending or in fact nearly doubling working memory.
For me, that was a killer extension at the time !
Tom UK
-
Interesting.
An REU with a rom socket and/or cart. port would be cool.
I think CMD had a socket for rom/ram.
-
Solution:
A Basic Compiler on disk.
-
Solution:
A C compiler on disk.
FTFY. Basic is for 10yr olds. ;)
-
Well I do have Power C on D64.
It uses C99.
edit:
Basic is great for doing some quick programming.
The programmer could make a quick analysis of some data.
-
Well I do have Power C on D64.
It uses C99.
edit:
Basic is great for doing some quick programming.
The programmer could make a quick analysis of some data.
Sorry, I was just playing. I couldn't resist it. I first learned to code using Basic on my Plus/4 as a kid so I have fond memories of it. :)
I might have to have a look at Power C, sounds interesting.
How is compilation speed? I imagine it would be quite slow given the CPU and RAM constraints.
-
No, but it had 60k of accessible RAM and could display 128 colours onscreen. The c64 had less than 40k of usable RAM and 16 colours so it's a fair trade. :)
edit: Faster CPU, serial port and floppy drive too.
Yeah, there are quite a few demos that use them.
The extra ram was due to the plus4 bankswitching when accessing code and data behind the roms, the C64 could have done that too. IIRC there were some cartridges that did it, you could probably hack the BASIC rom as well.
The C64 had a drive available that was better than a 1551 (http://www.c64-wiki.com/index.php/SFD-1001) the sales figures for both are unlikely to be very exciting.
The serial port was good, but for the majority it was unused and you could add one to the c64 anyway.
For the target business market the TED was probably ok, but the lack of sprites and the poor sound really destroyed it in the games market. They could have added a SID chip, which would have free'd up space for doing sprites on TED. But the whole point of TED was to fit sound and graphics in one chip.
I think the real mistake CBM made was that they still didn't have a better graphics chip available for the C128. An 80 column VIC would have been pretty awesome.
-
The limited amount of available RAM in the C64 is only apparent to basic BASIC programs. Using ML purely (or even in concert with BASIC) you can swap out the BASIC ROM and "open up" 4k of RAM. You can also swap out I/O space for another 4k. If you can get away with it, you can swap out the Kernal for yet another 4k. Some memory has to be set aside for color and video memory; no biggie.
I wrote a BBS program which uses RAM under ROM and I/O for various tasks and modules. The trick is to make sure you don't have a particular ROM swapped out when you decide to use a routine contained within (like floating point math while BASIC is out or disk access routines while Kernal is swapped out) or attempt to access I/O devices with that space swapped out.
If you've never programmed the 64 in machine language/assembly, you're missing out. It's a ton of fun manipulating the hardware and running "on the metal."
-
C for the C64 has not received much good press here.
Maybe this link will help.
http://www.lyonlabs.org/commodore/powerc.html
Sorry, I was just playing. I couldn't resist it. I first learned to code using Basic on my Plus/4 as a kid so I have fond memories of it. :)
I might have to have a look at Power C, sounds interesting.
How is compilation speed? I imagine it would be quite slow given the CPU and RAM constraints.
-
Well I do have Power C on D64.
It uses C99.
C99 came out in 1999, has Power C been updated?
It's more likely to be C89 but here http://www.lyonlabs.org/commodore/powerc.html it suggests using K&R style arguments to functions, which I'd find a major pain.
-
C99 came out in 1999, has Power C been updated?
It's more likely to be C89 but here http://www.lyonlabs.org/commodore/powerc.html it suggests using K&R style arguments to functions, which I'd find a major pain.
Oops.
It does say pre-Ansi.
-
No, but it had 60k of accessible RAM and could display 128 colours onscreen. The c64 had less than 40k of usable RAM and 16 colours so it's a fair trade. :)
FYI all 64K of the C64's RAM is accessible. I wrote lots of BASIC programs and I always used all 64K of RAM.
The 38911 byte limit is only for newbs :)
-
FYI all 64K of the C64's RAM is accessible. I wrote lots of BASIC programs and I always used all 64K of RAM.
The 38911 byte limit is only for newbs :)
TECHNICALLY all but two bytes are accessible. $00 and $01 are on-chip registers on the 6510. :D
-
TECHNICALLY all but two bytes are accessible. $00 and $01 are on-chip registers on the 6510. :D
Whoa, that is really deep!
-
FYI all 64K of the C64's RAM is accessible. I wrote lots of BASIC programs and I always used all 64K of RAM.
The 38911 byte limit is only for newbs :)
You can't use more than 38911 for code.
You should be able to use c000 for variables, but that can't be in addition to anything in the 38911 area.
All that rest can only be accessed with POKE and PEEK, which is a tad boring to code. Using the upper ram for VIC is probably your best bet.
I ran out of ram in a basic program once and then I stopped writing basic programs.
-
-
-
For the target business market the TED was probably ok, but the lack of sprites and the poor sound really destroyed it in the games market. They could have added a SID chip, which would have free'd up space for doing sprites on TED. But the whole point of TED was to fit sound and graphics in one chip.
Yeah, the sound was pretty dire but it was possible to do some nice tricks with it though.
19KHz replay routine (https://www.youtube.com/watch?v=Flpq0LYyMCo&t=4m10s)
The limited amount of available RAM in the C64 is only apparent to basic BASIC programs. Using ML purely (or even in concert with BASIC) you can swap out the BASIC ROM and "open up" 4k of RAM. You can also swap out I/O space for another 4k. If you can get away with it, you can swap out the Kernal for yet another 4k. Some memory has to be set aside for color and video memory; no biggie.
I wrote a BBS program which uses RAM under ROM and I/O for various tasks and modules. The trick is to make sure you don't have a particular ROM swapped out when you decide to use a routine contained within (like floating point math while BASIC is out or disk access routines while Kernal is swapped out) or attempt to access I/O devices with that space swapped out.
If you've never programmed the 64 in machine language/assembly, you're missing out. It's a ton of fun manipulating the hardware and running "on the metal."
I've done some but not nearly enough! :)
Whilst convalescing for the last week or so after surgery I've been reacquainting myself with Rodnay Zaks "Advanced 6502 Programming" book and the old Commodore Hacking series by Craig Taylor to pass the time.
I must say that I've got the bug and will be spending my free time with VICE and YAPE for the foreseeable future (In no small part due to the fact that I've become bored with Amiga's again.)
C99 came out in 1999, has Power C been updated?
It's more likely to be C89 but here http://www.lyonlabs.org/commodore/powerc.html it suggests using K&R style arguments to functions, which I'd find a major pain.
Ouch! I wonder what C compiler is used for the Contiki OS on 8bit machines?
-
C64 "demos" were the root of the whole demo-scene-thing and they are still the main force keeping the C64 alive today. Audiovisual pleasure, still pushing hardware limits, still exploring different ways of expression. But what is typically happening inside the machine when you watch a demo? What effort is needed to entertain the audience? This talk will give you an inside look at the steps taken for the award winning demo "Error 23" given first hand by one of its main programmers.
This talk extends previous talks and documentation about the Commodore 64 and its demo effects by adding real-life challenges and experiences to it. What were the basic ideas? What obstacles were on the way? How did they get solved? 6502 assembly knowledge is really not required, some general understanding about assembly and low-level computing will be useful, though (think of stack, timer, cycles...). This isn't about theory, this is for real ;)
Topics include (but not limited to):
Explaining design choices
Basic ideas behind the effects
Data compression techniques
Load stuff while displaying effects
Dirty tricks which make your computer science professor run away
Synchronization and linking
how to keep it all in 64KB RAM
Speaker: Ninja / The Dreams
EventID: 4814
Event: 28th Chaos Communication Congress (28C3) by the Chaos Computer Club [CCC]
Location: Berlin Congress Center [bcc]; Alexanderstr. 11; 10178 Berlin; Germany
Language: english
Start: 29.12.2011 21:45:00 (https://www.youtube.com/watch?v=So-m4NUzKLw#) +01:00 (https://www.youtube.com/watch?v=So-m4NUzKLw#)
License: CC-by-nc-sa
[youtube]So-m4NUzKLw[/youtube]
That's my next 60 minutes spoken for. :)
-
The trick is to make sure you don't have a particular ROM swapped out when you decide to use a routine contained within (like floating point math while BASIC is out or disk access routines while Kernal is swapped out) or attempt to access I/O devices with that space swapped out.
I forgot to mention the IRQ and NMI handling. If you don't have your own IRQ and NMI routines (or turn off the IRQ) when you swap out the Kernal, you're heading right straight into a lock-up when the interrupt gets vectored by, and usually into, uninitialized memory.
-
The IT teacher in my school hated me and my friend because we could code and he couldn't. He actively discouraged us from teaching ourselves to code.
He is still there at the school 20 years later apparently.
Same age as the guy who wrote the PAL and NTSC releases of Outrun :D
-
You can't use more than 38911 for code.
You should be able to use c000 for variables, but that can't be in addition to anything in the 38911 area.
Luckily for me, all my programs are composed of code and data. The data arrays works perfectly in the area above 38911.
All that rest can only be accessed with POKE and PEEK, which is a tad boring to code.
It is exactly like coding in asm. Which is fine.
I ran out of ram in a basic program once and then I stopped writing basic programs.
I ran out of ram all the time. I wrote large programs. But then I discovered a basic compiler (which I think was called Blitz64 but I can't really remember) which squished the size of my code down enough that my programs could just barely run. It stripped away all the REM statements to save a lot of space.
Luckily the Amiga came out and saved me from ?OUT OF MEMORY ERROR IN LINE 12756 for many years until I started getting out of memory errors on my 32MB Apollo 060.
-
http://www.npsnet.com/danf/cbm/languages.html#BASIC-extenders
The list does not seem to include BASIC 4.0 which was in the Better Working Turbo Load 'N Save cartridge nor the BASIC 4.5 which was in RUN magazine issues 18-20.
The mentioned link has moved to
https://telarity.com/~dan/cbm/languages.html
Back in California,
Robert Bernardo
Fresno Commodore User Group
http://www.dickestel.com/fcug.htm