Page 1 of 2

8-bit machines limited to 64K RAM or less, said BBCtv.

Posted: 26/03/2012 - 18:30
by Commie_User
Around 3:35 in:



Ian McNaught Davis demonstrated the BBC Micro, which could physically accept up to 32K. He then said an 8-bit micro could take up to 64K. This was by 1983 standards perhaps.

So where did the C128 and Spectrum Plus machines come from then?

Still, I liked the sight of a PET used to design racing yacht sails in part 2. (Also see links at the end of my 'definitive way to switch on the 64' post.)

Re: 8-bit machines limited to 64K RAM or less, said BBCtv.

Posted: 27/03/2012 - 1:03
by Analog-X64
Do they even produce these types of shows anymore? There is something magical about old computers shows even after all these years.

Re: 8-bit machines limited to 64K RAM or less, said BBCtv.

Posted: 27/03/2012 - 11:16
by Chris Abbott
I think he was talking about the technical issue where only 64K of RAM could be addressed, since an 8 bit unsigned integer only goes 0-65535. Which would be true, as far as it goes. But, loads of ways were demonstrated to overcome that using technical trickery. I'd welcome someone else's knowledge as to how they did it though to get 128k of addressable RAM...

Chris

Re: 8-bit machines limited to 64K RAM or less, said BBCtv.

Posted: 27/03/2012 - 16:41
by LMan
In DOS, an accessible memory "window" could be mapped to pass-through otherwise unaccessible extended RAM.

Re: 8-bit machines limited to 64K RAM or less, said BBCtv.

Posted: 27/03/2012 - 20:42
by Chris Abbott
Does anyone know how they managed on a C128? Obviously the STA command could only address a two byte range, so was there bank switching as well? Did people have to carefully organise their code? (I mean, more than usual!).

Re: 8-bit machines limited to 64K RAM or less, said BBCtv.

Posted: 27/03/2012 - 23:04
by Commie_User
And of course the 64's RAMdrive could be expanded by up to 16 megs. The 128 could also take up to 640K itself.

If we're talking access to extra memory then we must also consider how third party plugin boards could be integrated by machines whose designers never anticipated them.

Re: 8-bit machines limited to 64K RAM or less, said BBCtv.

Posted: 28/03/2012 - 5:32
by LMan
I just read up on the c128, it says the machine had two 64K banks, one was used for storing BASIC code, the other for variable values. There were possibilities to address both banks on assembler code level by swtiching banks.
http://rvbelzen.tripod.com/128intpt/index.html

Re: 8-bit machines limited to 64K RAM or less, said BBCtv.

Posted: 28/03/2012 - 6:15
by poke16384
LMan wrote:In DOS, an accessible memory "window" could be mapped to pass-through otherwise unaccessible extended RAM.
In a similar way, most of the C64 games we know and love would have been much poorer if you could only use the RAM available as standard.

'BASIC' ROM occupied about 8k of the 64k but... by flipping, (poking) one of the bytes lower down in the registers, (the exact address escapes me now),
you could effectively switch off the ROM and use the RAM it normally occupied. I think i'm correct in saying that most SID music used to occupy that space.

An early 'anti-hack' trick was to put all of the jump instructions and addresses for the game at the beginning of that chunk of memory because resetting
the C64 didn't wipe the RAM and values could still be read/disassembled after a reset. Putting the all-important 'Jump-table' in that space meant that
'BASIC' ROM overwrote that space between 8192-16384 ($2000 - $4000 hex) as it kicked back in on reset. This stopped early game hackers from resetting
the C64, poking new values into the game, (number of lives etc) and then restarting the game.

But, then the 'Icepik' and 'Freeze Frame' cartridges came along.....

On the C128, only one bank of RAM was used for C64 games compatibility. In fact, I don't know that any games were ever written specifically for the C128
utilising all of the 128K.

During my time at Ocean Software, the C128 was the programmer's / musician's weapon of choice. It was sync'd, (using a cable & a cartridge) to a C64.
All of your precious code was in the 128 and squirted down the cable into the C64 at assembly time. If your code was unstable and the C64 crashed, your
code remained safe and untouched in the C128. Find the bug, reset the C64, go again. Great system and ahead of it's time.

Re: 8-bit machines limited to 64K RAM or less, said BBCtv.

Posted: 28/03/2012 - 9:17
by LMan
poke16384 wrote: During my time at Ocean Software, the C128 was the programmer's / musician's weapon of choice. It was sync'd, (using a cable & a cartridge) to a C64.
All of your precious code was in the 128 and squirted down the cable into the C64 at assembly time. If your code was unstable and the C64 crashed, your
code remained safe and untouched in the C128. Find the bug, reset the C64, go again. Great system and ahead of it's time.
THAT is cool. :)

Re: 8-bit machines limited to 64K RAM or less, said BBCtv.

Posted: 28/03/2012 - 17:24
by Analog-X64
poke16384 wrote: During my time at Ocean Software, the C128 was the programmer's / musician's weapon of choice. It was sync'd, (using a cable & a cartridge) to a C64.
All of your precious code was in the 128 and squirted down the cable into the C64 at assembly time. If your code was unstable and the C64 crashed, your
code remained safe and untouched in the C128. Find the bug, reset the C64, go again. Great system and ahead of it's time.
I'm curious if this type of wizardry is done for modern games or if its even needed.

I bought my C64 because of the Intro voice on Mission Impossible and the music on Rambo. A friend and I were obsessed with sampled sounds, we didn't have much $$$ or resources to do anything serious. We had modified a Datasette with simple circuitry and programming to read the audio from the tape and convert into into a sample.

I think we had a 4-bit limitation and the best we could get out of it, which sounded cool, was the the bass line from "On the run" by Pink Floyd.

Fun times.

Re: 8-bit machines limited to 64K RAM or less, said BBCtv.

Posted: 28/03/2012 - 19:03
by poke16384
Analog-X64 wrote:I'm curious if this type of wizardry is done for modern games or if its even needed....

...I think we had a 4-bit limitation and the best we could get out of it, which sounded cool, was the the bass line from "On the run" by Pink Floyd.

Fun times.
3 reasons we don't actually need that kind system anymore....

1). With modern network capability, plus how quickly HDDs save stuff nowadays, there's no need to worry about losing code through crashing.

2). Nowadays, people don't write code that pokes values directly into addresses or registers. the vast majority of programming is addressed to relative labels
and where that value ends up in RAM usually only gets decided once it's assembled/run. With 8 bit computers, you had to write in assembly language / Machine code
because the cpu's just weren't quick enough to run interpreted, high-level languages like BASIC. So you wrote in assembler, then compiled/translated it to Machine
Code and addressed the actual, (Absolute) memory addresses in the 'Label Tables' in your source code. That's why your code crashed the computer so much. If you
wrote a piece of code that did something naughty and poked values into the wrong address... BAM! crash! Nowadays, with DirectX and equivalents, you simply write
values to labels in DirectX and IT then decides where the correct sound or graphics card register addresses are. No real need for a second machine.

3). Lastly, no modern games are held 100% in RAM during game-play. Everything loads 100's of times more quickly from CD/DVD and so fantastically rich games will
happily run on a mid-range PC with a couple of Gigs of RAM, loading 1 level at a time.

You did indeed have a single 4-bit volume register on the C64 (values 0-15) and next to useless for any sound requiring even the smallest degree of fidelity.

However....

In some ways, it was were modern computer sampling was born. I can remember a 'Madonna - Material Girl' demo with a very fuzzy 8-bit photo and about half
of one verse sampled using every remaining scrap of RAM. At the time it was mind-blowing. That would have been 1983...ish? 7 or 8 years before the ST & Amiga?

The only really usable sounds were lo-fi percussion sounds... as in 'The 4th Channel' pioneered by Mr Galway.

I will tell the tale and explain if anyone's interested..... :)

Re: 8-bit machines limited to 64K RAM or less, said BBCtv.

Posted: 28/03/2012 - 20:55
by Commie_User
Thanks for answering my question. Some fantastic responses I very much enjoyed reading. Analog's C2N was an impressive bit of modding. Just the idea of sampling through the storage device is pretty great. Do you still have the sample for us to hear?


I'd love to hear your sampling story Poke. There are plenty of good sample demos out there. I linked to a few in my Microrhythm thread: viewtopic.php?f=3&t=8087&p=89099#p89099

http://www.leftiness.org/Records.htm






And on the ST, the YM sound chip seems to make a better job of sampling than the SID, yet the SID's always hailed superior. Was there an 8-bit Atari sound chip to make up some shortfall?


The 'Owner Of A Lonely Heart' MOD (last on list) shows what I mean: http://www.thegamearchives.com/?val=0_2 ... 69_0_0_0_0

Re: 8-bit machines limited to 64K RAM or less, said BBCtv.

Posted: 29/03/2012 - 5:15
by Analog-X64
Commie_User wrote:Thanks for answering my question. Some fantastic responses I very much enjoyed reading. Analog's C2N was an impressive bit of modding. Just the idea of sampling through the storage device is pretty great. Do you still have the sample for us to hear?
There is a very slim chance that I may still have the diskette with the data on it including the code. I currently dont have anything setup to transfer from an 1541 back to a PC. Maybe in the near future, I'll setup something.

Re: 8-bit machines limited to 64K RAM or less, said BBCtv.

Posted: 29/03/2012 - 6:21
by LMan
poke16384: Would you care writing up your story as an extensive article for the Remix64 main page? I'd love to publish it there. PM me if you're interested. :)

Re: 8-bit machines limited to 64K RAM or less, said BBCtv.

Posted: 29/03/2012 - 13:16
by Analog-X64
LMan wrote:poke16384: Would you care writing up your story as an extensive article for the Remix64 main page? I'd love to publish it there. PM me if you're interested. :)
Excellent idea. :cheers: