The Lounge is rated PG. If you're about to post something you wouldn't want your
kid sister to read then don't post it. No flame wars, no abusive conduct, no programming
questions and please don't post ads.
At the moment I'm simultaneously listening to and copying a CD - audio only. The system is an i7 with 12 GB of RAM, running WIn7 Pro and Nero. I'm listening to a CD in my HP DVD Writer 1170, while burning a backup copy using Nero on a HP DVD Writer 1260. If the copy is as awful as the audio stream I'm hearing, it's going in the trash. I really thought that the state of the art had advanced farther than this, but it's horrible! The audio I'm hearing is much like a cell phone call in a very marginal reception area, with the stream badly broken and barely understandable. If this is multitasking, give me back my beloved DOS...
Wow... Both drives just kicked out the disks, without warning, or finishing the recording or playback! Hmmm...
If you are listening to one track while making a copy of another that's no big surprise. You are constantly forcing the head of the drive you ar reading from to hop between the two tracks. The processor may be able to do several things at once, but the drive's head certainly not.
I'm a little surprised that the data isn't cached - since the read-for-write would normally be well ahead of the read-for-play and is normally buffered anyway.
I guess whoever wrote it was feeling lazy that day...
If you get an email telling you that you can catch Swine Flu from tinned pork then just delete it. It's Spam.
What a luxury. Do you have too much memory? I have been playing with the old computer again. I started out with a blank memory and no OS and by now I have the code to do the initialisation, set up the interrupt and DMA for graphics(you can choose between 64 x 32 and 64 x 64 pixel ), the video memory, the stack and the functions for text output. I squeezed all that and even the font into 1 1/2 k memory. That leaves me 2 1/2 k left for any program I want to write. Ah, yes, the function that draws the text characters also can be used to draw sprites.
Edit: Screenie[^] (running in emulation on the PC)
It is about capacity, if the code that caches optical discs is going to generically support all optical discs (then there'd need to be enough RAM to cache the largest disk). As long as the copying process accessed the portions of the disk first that are then subsequently read for playing, then the cache could be accessed rather than read from the disk.
Of course, there are a bunch of assumptions in that hypothetical, but that was where I was going with it.
With my 32 gb RAM I could do that, but what a waste. Even on hardware level we don't access the drives one byte at a time. I think that my old Elf was about the last generation of computers that could not afford read or write buffers. Even a buffer of only 512 bytes already reduces the overhead to 1/512 of single byte access,even more if the disc would have to spin once before the next byte can be read.
Yes, it's assembly. The resulting code that does very much the same was several times this size when I tried the C compiler. But the characters in the font varies from 1 x 5 to 5 x 5, so it does not have a fixed spacing. This way I can hope to get at least a minimal number of characters into a line. The printable characters in the font are packed together in just 192 bytes (no lower case).
Slowly I'm getting together what I need: The assembler, Visual Studio as editor, the emulator and also the new program to convert cassette tapes to binary or the other way around for new programs. I use the debugger I have for the old computer and run it in the emulator, together with the program I'm debugging. Fortunately the emulator can be configured to have some more memory.
Fixed width just does not work at such a low resolution. With a fixed 4 x 5 character matrix I could have 16 characters per line and 10 lines. But there are some characters, like 'M' or 'W' that just do not fit into a 4 x 5 matrix and there are quite a few that are actually smaller.
I have packed together two characters in one pattern, which makes the font so small. Even the little 8 bit processor can easily shift or mask out the correct bits before drawing the character.
Happily, the copy worked flawlessly, even though the playback was less than satisfactory... Oh well, I've learned that it's silly to expect a system to play back a recording at the same time it's recording the same stream. That's an important thing to know, and I'm glad I know it. Today, apparently, wasn't a complete waste - I learned something, and that's never a waste.