Jump to content
IGNORED

64kb really?


Heaven/TQA

Recommended Posts

46 minutes ago, Heaven/TQA said:

don't tell me that this was not a fuckery... compared to Atari ST or Amiga....

lol  I don't know what the Atari ST or Amiga did.  But, yeah, getting access to Extended and Expanded memory was a mess.  Then, depending what application or game you were running depended upon what config.sys or autoexec.bat settings worked best.  So you may have a config.sys menu to allow you to select your configuration at boot-up.  

Link to comment
Share on other sites

11 minutes ago, reifsnyderb said:

lol  I don't know what the Atari ST or Amiga did.  

The 68000 CPU had a flat memory model so you access the entire memory of the system without needing to worry about bank switching, near/far memory segmentation or hi-memory TSRs

 

PC got this ability in a workable form with the 386, but legacy DOS applications lingered around for years after that.

Edited by zzip
  • Like 2
  • Thanks 1
Link to comment
Share on other sites

12 minutes ago, DrVenkman said:

And still do if you fart around with stuff inside DOSbox … :)

Yeah, but at least DOSbox takes some of the pain out of it.  It has a bunch of built-in stuff that you would normally need to install TSR's for, so that saves memory and I rarely need to worry about 640K memory management in DOSbox 

Link to comment
Share on other sites

On my Atari PC4 (12MHz 286) I was attempting to get enough of the 640kB of ram left over to get Falcon AT to run... yeah, that was a lost cause!

 

My next task at hand is to get my p3@600 to run Wing Commander games via ArcaOS!

 

DOS memory management is a nightmare, and without being able to use emm386.sys... I don't think emm.sys supports all of the same things?  At least I couldn't find a proper replacement when I looked last.

  • Like 1
Link to comment
Share on other sites

1 hour ago, StickJock said:

Marketing....

 

Like with TV screen sizes.  Now they are size "classes".  ?

 

Here's a Samsung " 75" " TV that is actually a 74.5" TV.

Samsung - 75" Class QN90A Neo QLED 4K UHD Smart Tizen TV

Model:QN75QN90AAFXZA
SKU:6451487

 

 

image.thumb.png.236902ef98a8bb22837da7cf1330f8a7.png

Still think they should have kept Tizen for their watches... Android is crap.  ?

Link to comment
Share on other sites

  • 4 months later...
On 6/15/2022 at 1:07 AM, Heaven/TQA said:

C64 has true 64kb due (well minus $00/$01 maybe? ;-))

64.5 kB, actually, including the additional color map RAM, which is in a 2114 SRAM chip in most C64s.  This RAM consists of 1024 nybbles, however, instead of 512 bytes, although it makes no difference to its usefulness.  And for the vast majority of practical purposes, $00 and $01 are unusable as RAM, albeit they can be written to the normal way (all writes go to the DDR, port, and RAM) and read with the help of the VIC-II sprite collision registers, if you really, really, wanted to.

 

The 6-bit port added to the 6510 was used for bank switching because we only lose 2 bytes to gain the capability to switch all of the main 64 kB of DRAM in at once (minus those 2 bytes), with every byte at its normal address.  Other schemes could have been used, but with different compromises that wouldn't have been quite as clean.  The 6510 port also controls some tape I/O operations.  Basically, I think a few more I/O lines were needed by the C64, so MOS put all of the additional I/O lines they could on the CPU.

 

On 6/16/2022 at 3:05 AM, patjomki said:

And not to forget MapRAM which lets us use the additional 2K with just a small modification.

Sure, it's doable, but this capability didn't come standard on the computers back in the day, and I doubt that it's in widespread use today.  That's too bad, I think, but it kind of doesn't count, in practice.

  • Like 1
Link to comment
Share on other sites

On 6/15/2022 at 4:07 AM, Heaven/TQA said:

As a professional marketing manager in RL I know how creative we can be with the truth or facts… but honestly… how could Atari ever claim that the Atari 800xl/65xe have 64kb RAM? We accepted that for granted but is it true? Or do we have 62kb? Do we call the ANTIC/GTIA/POKEY/PIA etc D000-D7FF as RAM? Just because they can hold values even they can not be read or they are even multiple areas of same value?

62K was overkill anyway, because most games were made for 48K RAM. ;)

 

Edited by MrFish
  • Like 1
  • Haha 1
Link to comment
Share on other sites

On 6/15/2022 at 5:17 AM, DjayBee said:

BUT I am curious how the C64 manages to get away without an I/O area. ;)

As others have pointed out, the C64 has a second I/O area at $0-$1 (only two bytes), just for the 6-bit 6510 I/O port (and data direction register) that happens to control memory bank switching.  But for completeness, in the sense of needing the main I/O area for most things, unlike on the A8, the bank-switching is only from the CPU's point of view.  As far as the VIC-II graphics chip is concerned, the main 4 kB I/O area at $D000-$DFFF always appears as 4 kB of RAM, so it's a handy place to put character sets and/or sprite definitions, for example; it can fit two full 256-character character sets or 64 sprite images, or a mix of the two (or anything else you want).  While the CPU manipulates chip registers in the main I/O area, the VIC-II is happily reading the RAM from there instead, simultaneously without switching banks (only for the CPU to write to the RAM in this area, if needed).  Writes from the CPU to ROM areas always result in writes to the RAM "underneath", but this is not true of the main I/O area, in which CPU writes only go to the chip registers when the I/O is mapped in.  These rules generally make access to memory more convenient, and minimize the need for bank-switching.

 

On 6/16/2022 at 8:42 AM, Heaven/TQA said:

Guys... you know... me is the last one who is bashing Atari but when you get on to C64 and do some stuff suddenly you realise those 2kb missing :D (ok.... and the SID sometimes and the color ram and the mix of high res plus low res per char and sprites and drive code and and and.... :D but don't get me wrong... I love our "copper list" and linear VRAM etc plus extra CPU power for 3D calcs).

Each has certain strengths/advantages over the other, as you know.  Is the linear VRAM really that much of an advantage, though?  It's nice because it makes some things a bit easier, but many 8-bit computers, including the Apple II and ZX Spectrum, do not have linear VRAM, either, and even without sprites to make up for it, they don't seem to suffer for this.  I think C64 developers have usually been "lazy" about bitmap manipulation because of the sprite system, but I don't see the C64's VRAM layout as being much of a hindrance.  And on the plus side, at least it makes drawing characters a little easier, not that this is any real advantage, either.

 

So why is the C64 so weird in this respect (even weirder than the Apple II and ZX Spectrum)?  It's because instead of having 14 different ways of accessing VRAM (not counting sprites), it has only one way to access VRAM for all five of its graphics modes.  That pretty much saved a whole chip right there, and still left enough room for the fancy sprite system and everything else to reside on a single chip.

 

On 6/16/2022 at 8:39 PM, oo7 said:

Not marketing when you say the 800xl has 64k, its fact. This topic is foolish

No one is crying or dying over being shorted by 2 kB.  It's not like half the memory were missing, and the 800 is still a great 8-bit computer with only 48 kB, so having 62 kB instead is just dandy.  This is simply a matter of principle.  Let's take another example for illustration.  The standard Sinclair ZX Spectrum originally came with 16 kB, which was very popularly upgraded to 48 kB with a second 32 kB bank of DRAM.  To save on cost, Sinclair decided to use broken 64 kb DRAM chips in the second bank.  As long as the faults were only in the lower or upper half of the address space, a matched set of half-broken 64 kb DRAM chips gave the Speccy a total of 48 kB.  That's the way it was sold, as a 48 kB computer, so this is purely academic, but technically, doesn't it have 80 kB of RAM?  That is a fact.  Would it have been right, as in honest or ethical, to have sold it as an 80 kB computer, even though only 48 kB was actually usable?  OK, some of it is broken, while the lost 2 kB in the 800XL is perfectly good RAM, but the latter is just as unusable as if it were broken.

 

By the way, instead of calling the 800XL's successor the 62XE, Atari decided to call it the 65XE.  Ooh, 65 > 64, objectively, so it must be at least a little better than its competition.  Maybe it has 65 kB of memory!  That was pretty cheeky of Atari's marketing department.  I don't care, it's not a big deal, but it's definitely a bit of marketing shenanigans.  I guess that's their revenge for Commodore getting William Shatner to ask why you'd want a video game console when you could have a computer (the VIC-20) that could also play games.  That question didn't really hit until 1983, but it sure it hard when it finally did.

 

On 11/12/2022 at 11:24 AM, MrFish said:

62K was overkill anyway, because most games were made for 48K RAM. ;)

That's true enough, unfortunately considering that so many (perhaps even most) A8s came with at least 64...I mean 62 kB, but it could have been worse.  For instance, I believe that most of the games one could play on the 64 kB Commodore Plus/4 back in the day were actually written for 16 kB to be compatible with the lower-end models of that platform, the Commodore 116 and 16.  Imagine being stuck with mostly 16 kB games for the sakes of the 400 or unexpanded 600XL!  Additionally, I think the otherwise pretty powerful (in some ways) BBC Micro is largely limited, in terms of software, to the 32 kB of the most popular (and compatible) Model B.

  • Like 2
Link to comment
Share on other sites

6 minutes ago, Robert Cook said:

That's true enough, unfortunately considering that so many (perhaps even most) A8s came with at least 64...I mean 62 kB, but it could have been worse.  For instance, I believe that most of the games one could play on the 64 kB Commodore Plus/4 back in the day were actually written for 16 kB to be compatible with the lower-end models of that platform, the Commodore 116 and 16.  Imagine being stuck with mostly 16 kB games for the sakes of the 400 or unexpanded 600XL!  Additionally, I think the otherwise pretty powerful (in some ways) BBC Micro is largely limited, in terms of software, to the 32 kB of the most popular (and compatible) Model B.

Actually, we got our share of 16K games for just that reason. There were some luxury games written for 64K systems. 128K games were a pipe dream...

 

  • Like 1
Link to comment
Share on other sites

On 6/15/2022 at 4:09 PM, Mathy said:

Nobody tells you why a lightbulb glows, they just tell you it does.

It's an LER: light-emitting resistor.

 

On 6/15/2022 at 4:09 PM, Mathy said:

That's why Atari computers were sold as 64kB computers instead of 62kB computers.  It just confuses people.  And it might make them choose another computer that seems to have 2kB more.

I'll buy that, in this minor case at least, but then came the 62 kB 65XE. 😄

 

On 6/15/2022 at 6:16 PM, leech said:

Well the incognito has the Colleen option, which limits it to 48kb, so the OS being the limitation seems likely.

The XL/XE has hardware mapped to PORTB that handles the memory bank-switching, while on the 400/800 PORTB is used for the third and fourth joysticks instead.  If the OS is the issue, it's a matter of compatibility with the hardware (or the lack thereof) rather than the OS enabling anything, in case anyone has that impression.  It's the hardware that enables bank-switching, and with a write to PORTB, the OS on an XL/XE can be switched out entirely, itself (for the RAM "underneath").

 

On 6/16/2022 at 9:32 AM, zzip said:

Wasn't the 384K memory above the first 640K  and below 1mb inaccessible too on early x86 CPUs?   It was marked reserved for future use.   So if you had 1mb, you could only access 640K of it, if you had 2MB, you could only use 1.6MB or so.

The original 8088 (the 16-bit 8086 with an 8-bit data bus) used by the IBM PC can access 1 MB using segments plus 16-bit offsets.  This addressing scheme has a quirk that numerically allows accessing a 64 kB segment above 1 MB, but this doesn't actually work because the 8088 only has 20 address lines, setting the hard limit for memory addressing to 1 MB.  At the time, this was far more RAM than any actual IBM PC had, so they decided to play it safe with ROMs and expansion cards, and set aside the upper 384 kB of address space for the BIOS ROM (including the boot code), as well as use by several expansion cards.  Obviously, this was where the RAM on graphics cards appeared to the CPU.

 

It was a while before people actually filled up the entire lower 640 kB of address space with RAM, and RAM was still relatively costly, so few if any IBM PC or PC-compatible computers actually came with 1 MB of RAM, only to waste 384 kB of it.  640 kB was still considered a lot of memory, except by those who ran large businesses, anyway. Before this became a major issue, the IBM PC AT came along with its enhanced architecture and 80286 CPU, which has 24 address lines and therefore a 24-bit or 16 MB address space.  Many of this type of computer would come with 1 MB when RAM got cheap enough, although this CPU wasn't really ready to handle both MS-DOS compatibility and the more advanced "protected" mode that addressed lots more memory, because it couldn't switch between these modes--once you switched it into protected mode, it couldn't be switched back into the so-called "real" mode for 8086/8088 and MS-DOS compatibility.  Oops.

 

But one trick the 80286 could do with the extra 384K in real mode was map it above 1 MB, making part of it accessible in the extra 64 kB address space just above the old 1 MB limit.  This was a form of "extended memory" supported by the driver himem.sys that could be used in real mode by MS-DOS, which now allowed itself to optionally relocate to this "high memory" area, along with any other drivers or TSRs (terminate and stay resident programs) that were compatible with this scheme.  This left more of the 640 kB of main memory free for games or applications to use, and by this time, they really could use the additional elbow room.

 

Because of the 80286's limitation regarding protected mode, MS-DOS programs could not switch to protected mode to access "extended memory" while still being MS-DOS compatible, so a consortium of software development companies got together and created the "expanded memory" standard.  This allowed any PC with special cards filled with RAM or PC ATs with large amounts of RAM to make the RAM available to real mode MS-DOS programs 64 kB at a time through a window within the 384 kB BIOS/expansion address space.  Only later with the 80386 and its successors would nice, flat extended memory come into common use.

 

On 6/16/2022 at 10:44 AM, reifsnyderb said:

Yeah, emm386.exe isn't the right answer for a 286.  emm.sys should do the trick.

Right, although it should be noted that emm.sys was for expanded memory, while himem.sys was for extended memory.  The latter was often used to load DOS and other programs high (yay, an extra 64 kB!), while the rest of the extended memory on the 286, being unusable if you still wanted to use MS-DOS, was allocated as expanded memory managed by emm.sys.  This was only an interim issue.  The 386 finally solved all of the issues involving memory.  Or nearly, as some computers even to this day might have quirks that cost you a small amount of memory.

Link to comment
Share on other sites

4 hours ago, Peri Noid said:

Does anyone remember an Amstrad CPC 472 SOLD WITH 72KB of RAM but 8KB not even connected to anything? 😃 

Yep - it was designed to get around Spanish import duties on machines containing 64K of RAM (or less, IIRC).

 

Kind of have to admire the approach: after all, nothing said that the machine had to have more than 64K of working RAM ;-)

  • Like 1
  • Haha 2
Link to comment
Share on other sites

6 hours ago, Robert Cook said:

Because of the 80286's limitation regarding protected mode, MS-DOS programs could not switch to protected mode to access "extended memory" while still being MS-DOS compatible, so a consortium of software development companies got together and created the "expanded memory" standard.  This allowed any PC with special cards filled with RAM or PC ATs with large amounts of RAM to make the RAM available to real mode MS-DOS programs 64 kB at a time through a window within the 384 kB BIOS/expansion address space.  Only later with the 80386 and its successors would nice, flat extended memory come into common use.

Ha, all I know is I was about 6kb shy of getting Falcon AT to run on my Atari PC4 because it needed to run out of the base 640kb for some reason, and I gave up before figuring out which version of DOS I could use that would let me move enough into high mem, and take less RAM to run...

Link to comment
Share on other sites

3 hours ago, MrFish said:

Actually, we got our share of 16K games for just that reason. There were some luxury games written for 64K systems. 128K games were a pipe dream...

I realize that, but even the C64 has many games, commercial or otherwise, that don't use anywhere near all of its RAM, and it has always had 64 kB (plus another 0.5 kB for the main color/attribute map, for good measure), of course.  The "big" games were where the limits came into play, and some computers either didn't get as many big games or had to compromise quite a bit.  At least 48 kB was a popular limit for the A8, as opposed to 16 kB, although I'm sure the smaller limit had an impact, too, especially early on.

 

By the way, one common example that is brought up when discussing the 48 kB limit of many big games on the A8 is Ultima IV, since unlike Ultima III, the A8 port doesn't have the soundtrack, due to this limit (or so everyone says).  Apparently, Origin bothered to support the exceedingly rare Mockingboard on the Apple II, while ignoring the fact that the far more common and popular Atari 800XL has 62 kB of RAM.  Based on the actual topic of this thread, I wondered whether the "missing" 2 kB could have had anything to do with this. 😁  After all, this game requires 64 kB on the Apple II (which means the original II and II Plus need to have a language card with 16 kB of additional RAM installed).  It seems unlikely, but what if Ultima IV really, really needs that extra 2 kB to run on the A8 with music in the background?  Let's explore this a bit farther.

 

The original Apple II version uses DOS 3.3 (rather than ProDOS), which when loaded leaves about 52.5 kB free.  So that's what it really takes, maybe with some extra left over.  Apple IIs with only 48 kB of RAM have only 36.5 kB free, which isn't enough to run the game at all.  Obviously, the C64, with about 63 kB free (loses about 1K in zero page, stack, and OS variables) since it has no DOS to load (it's in the disk drive), has more than enough RAM available.  More to the point, the A800 has about 47 kB free after subtracting about 1 kB for system stuff.  What about DOS?  Curiously, Chuckles' (Chuck Bueche) A8 and C64 ports do not use Atari or CBM DOS, respectively. 🤨  They appear to have their own proprietary, custom DOS, and only call low-level ROM-based functions for random access the sectors on the disks.  This must consume some RAM, although it's probably less than the 5-6 kB that DOS would on the A8.  Let's say it takes, er, 3 kB or so.  So the A8 has 44 kB available for the actual game.  So with 36.5 kB being not enough to run the game at all, 44 kB being enough to run without the soundtrack, and 52.5 kB required to run with the soundtrack, the music subsystem must require no more than 52.5 - 44 = 8.5 kB (could be less).  Since the 800XL has 14 kB of additional RAM, obviously it has more than enough RAM to run with the soundtrack, so as I had expected from the start, the "missing" 2 kB was not a factor.  It was worth looking into, in any case.

 

But this also raises a couple of new questions.  Ultima V on the C64 uses CBM DOS plus a 1 kB fastloader, which gives it about 9.5 kB more free RAM than an Apple II or Apple II Plus with 64 kB of RAM (the soundtrack doesn't play on these computers).  Furthermore, upon inspection, the Apple II version of this game has a ProDOS directory structure, and ProDOS uses nearly 7 kB more RAM than DOS 3.3.  So why doesn't the C64 version of this game play the soundtrack (which is only heard on the C128 and Apple IIe with 128 kB of RAM and of course a sound card)?  Looking deeper into this, it seems that the Apple version uses a proprietary DOS called DinkyDOS, which only takes up 4 kB of RAM.  So with only 3 kB of RAM to spare over its 64 kB equipped Apple II counterparts (really 2 kB because of the dual color map required), the C64 couldn't play the soundtrack, either.  OK, question answered, mystery solved.  Ultima V without a soundtrack really does barely run in a 64 kB computer.  But my other question is whether it could have run (without the soundtrack but with all other features intact) on the 800XL (and 65XE).  A port was planned and announced, after all, and Origin had even hired a guy for the A8 port and had him working on it, when it was canceled in the early stages.  The answer seems to be yes, but only if the DOS has a memory footprint that does not significantly exceed 2 kB, which is tight.  That "missing" 2 kB sure would have given it more room to work with, perhaps even allowing for a standard Atari DOS like 2.5 to be used, depending on how much memory is really left.  But there is another issue that had always been a non-issue previously.  Ultima V comes on 8 disk sides of 140 kB, and some/most are almost completely filled--enough that they wouldn't nearly fit on Atari 130 kB disks (90 kB per side had always been enough before in this game series, but now even 130 kB isn't).  Of course, this issue could be overcome, but it makes things more difficult and therefore more expensive and more likely to be canceled.

  • Like 1
Link to comment
Share on other sites

16 minutes ago, Robert Cook said:

I realize that, but even the C64 has many games, commercial or otherwise, that don't use anywhere near all of its RAM, and it has always had 64 kB (plus another 0.5 kB for the main color/attribute map, for good measure), of course.  The "big" games were where the limits came into play, and some computers either didn't get as many big games or had to compromise quite a bit.  At least 48 kB was a popular limit for the A8, as opposed to 16 kB, although I'm sure the smaller limit had an impact, too, especially early on.

Right, but I'm talking about considerations that didn't exist for C64 development. Nobody said, "well, we can't make this game because only 60% of C64 owners will have enough memory to run it". Whereas that was a real consideration when developing for the A8 platform. And, yes, 16K was a more serious consideration earlier on; but it was still important in the XL days, because you still had 400 and then even the new 600XL owners with stock machines; and the A8 market was small enough for companies to not want risking leaving out any segment. This, along with the more long-lasting 48K limit dominated enough to have a huge impact on what the library ultimately consists of today. The era when 64K was considered the reasonable limit, was also the time when Atari 8-bit computers were being considered irrelevant by most companies.

 

It's all fine, from a modern development standpoint, though. We ended up with a machine that begs to be pushed to the limits it never was. So, while other machines have generally reached that point, there's still tons of work to be done on the Atari 8-bit computers; making it one of the best platforms to be involved with.

 

  • Like 1
Link to comment
Share on other sites

On 6/15/2022 at 4:09 PM, Mathy said:

That's why Atari computers were sold as 64kB computers instead of 62kB computers.  It just confuses people.  And it might make them choose another computer that seems to have 2kB more.

(Double-take) Wait, to be clear, the other computers do have 2 kB more.  A 64 kB Apple II actually has exactly 64 kB of usable RAM, and a Commodore 64 actually has 64.5 kB - 2 bytes = 66046 bytes of usable RAM.  Does this difference mean much of anything?  Nope.  Would I have done the same as Atari's marketing department?  Yep.  But the other computers don't merely "seem" to have 2 kB more that is usable, they actually have it (or more).  No big deal, but that MapRAM mod should have come standard on the 800XL.

 

It's better than what happened to the C64 and 1541 floppy drive, though.  If Commodore management had approved it, two short bodge wires (not at all uncommon for that time) would have fixed the error made in the C64 mainboard that broke the fast serial communication mode.  Had they made the sensible decision, then instead of being 3 times slower than the A8 and 810/1050 in terms of floppy data transfer speed, the C64 and 1541 would have been more than 3 times faster, as planned.  But Commodore management were already sore at their engineers for insisting that the C64 needed to have a disk drive in the first place, so they said no, leave it broken, and this became a huge issue--an interesting one, to be sure, with many third-party solutions, but it should never have been an issue to start with.  Management just kept thinking that they'd lose so much money on the 1541, which they believed would flop just like the 1540 (for the VIC-20) did.  Oops.  Compared to this, unnecessarily losing 2 kB of RAM out of 64 was really no big deal.  Bonus question: why wasn't the A8's floppy data transfer speed faster than it was? 🤔  It could (and should) have been, and easily, too.  At least it wasn't 400 bytes/s.

Link to comment
Share on other sites

21 hours ago, Robert Cook said:

By the way, one common example that is brought up when discussing the 48 kB limit of many big games on the A8 is Ultima IV, since unlike Ultima III, the A8 port doesn't have the soundtrack, due to this limit (or so everyone says).  Apparently, Origin bothered to support the exceedingly rare Mockingboard on the Apple II, while ignoring the fact that the far more common and popular Atari 800XL has 62 kB of RAM.  Based on the actual topic of this thread, I wondered whether the "missing" 2 kB could have had anything to do with this. 😁  After all, this game requires 64 kB on the Apple II (which means the original II and II Plus need to have a language card with 16 kB of additional RAM installed).  It seems unlikely, but what if Ultima IV really, really needs that extra 2 kB to run on the A8 with music in the background?  Let's explore this a bit farther.

I'm sure it's because Lord British owned a Mockingboard himself.

 

I don't think the A8 version of Ultima IV exceeds 48K,  does it?   If you can't fit a background music player in 14K, then almost no games would have them.   I think it's more likely they didn't want to use extra memory that not every atari could benefit from.  Atari developers tended to go for the lowest common denominator unfortunately   48K RAM, 90K Disks... 

 

  • Like 1
Link to comment
Share on other sites

In response to the initial post of this topic, and my non-expert two cents.

 

I think it is merely a matter of perspective. 64K Atari's have the real 64K worth of dram, and the operating system takes up 2K. But if the operating system is a program itself, then it is part of any code programmed over top of it. After all, you can make your own operating system to suit your needs and make it to suit the needs of your program. There are plenty of OS versions both 1st and 3rd party that have proved this since the beginning. I point out an example of exactly how a developer did this way back in the 80's with their program. From Antic Vol. 6 #12, 1988:

 

https://www.atarimagazines.com/v6n12/TheStoryBehindVirtuoso.html

 

https://www.atarimagazines.com/v6n12/DesktopVideoForXLXE.html

Edited by Gunstar
Link to comment
Share on other sites

3 hours ago, zzip said:

I'm sure it's because Lord British owned a Mockingboard himself.

Yeah, but wouldn't he also have been motivated to make sure that as many people got to hear the soundtrack as possible (until it drives you crazy, that is, although personally I always had it playing)?  Sound cards for the Apple II were rare and never received much support.  Almost everyone who had ever heard the Ultima soundtracks back in the day must have heard them on a C64/C128 or A8 (Ultima III)--I mean early on before additional ports were made for newer platforms.

 

3 hours ago, zzip said:

I don't think the A8 version of Ultima IV exceeds 48K,  does it?

What I know is that on a 6502-based computer Ultima IV needs more than 36.5 kB free (after accounting for any resident DOS) to run at all, and that 52.5 kB is enough (more than enough?) to run the game with the soundtrack.  The Atari 800 with about 47 kB free (minus OS variables and the system stack), and probably more like 43-44 kB after accounting for Origin's custom Atari DOS, falls in between, so it can run the game (and fortunately does, since there was a port made for the A8) but without the soundtrack.  I also know, for sure now, that the 800XL has more than enough RAM to run Ultima IV with the soundtrack (not that this was much in doubt).  So why wasn't the soundtrack made optional?  That's the question people have been asking for ages.  This game offers two types of artifacting, one for the 800 and the other for the 800XL, since their artifact colors are reversed, but it can't optionally load the soundtrack on the 800XL?  By that time, 1985, there were more 800XLs (most of which were effectively sold at clearance prices) than 800s, and a lot more than there were Mockingboards.  I guess there always will be decisions that don't make much sense.  Sure, translating the soundtrack for the A8 probably involved a little work, but not more than making a custom DOS for both the A8 and C64 ports.  Why?  Ultima V on the C64/C128 simply used CBM DOS (with a fastloader for the C64 as a separate matter), which takes no work and uses up no RAM.  So weird. 🤨

 

3 hours ago, zzip said:

If you can't fit a background music player in 14K, then almost no games would have them.

As I had calculated earlier, the background music player uses no more than 8.5 kB of RAM, and possibly less.  The A8 and Apple II bitmaps take the same amount of RAM, with only a couple of hundred bytes extra for the A8's display list, so that wasn't an issue.

 

3 hours ago, zzip said:

I think it's more likely they didn't want to use extra memory that not every atari could benefit from.  Atari developers tended to go for the lowest common denominator unfortunately   48K RAM, 90K Disks...

True, but Origin already had the soundtrack for Ultima IV and a player for the POKEY from Ultima III.  The soundtrack was written by Kenneth Arnold, an old friend of Lord British and one of Origin's programmers, and musicians usually want their work to be heard.  It's there, a sunk cost, so use it.  Let even more people hear it for minimal effort.  Switching memory banks isn't much different than on the Apple II or C64, so I doubt there was a technical issue.  The 800XL certainly isn't missing any kind of hardware feature.  The Apple II doesn't even have a built-in timer or source of interrupts, believe it or not (very strange to any A8 or C64 programmer, but Steve Wozniak had trouble setting up an interrupt routine on the Apple I, switched to a polling routine to save time and PROMs, and never used interrupts again, even in the Apple II 😄).  The only reason the Apple II can play this soundtrack in the background is that the Mockingboard has a couple of 6522 VIAs that provide timer interrupts.

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...