#Commodore 64 emulator mac os code#Theoretically now, the same code should compile on Windows as well, and act correctly there as well. On a little endian system, this does nothing except return the value as is, but thanks to the wonders of conditional compilation, this same function will reverse the byte ordering of the LongWord on a BigEndian system.Īfter doing this, everything worked on PowerPC. So, if a value we read from a file is supposed to be a Little Endian LongWord value, we would wrap the access in endianLittleLong(). I created a unit called "Endian" which provides four functions…įunction endianLittleLong( l: longword ): longword įunction endianLittleWord( w: word ): word įunction endianBigLong( l: longword ): longword My solution was to create some functions that would compile differently based on what the target system was. The solution, at least on FreePascal are some handy defines the compiler gives you…Įither ENDIAN_LITTLE, or ENDIAN_BIG will be defined, depending on the target architecture you are compiling for. Now, if I ask the system to read a longword from a file stream, you see that this might present problems. Intel based), the LSB (least significant byte) is written first. On a Big Endian system, the most significant byte (MSB) is first in memory, and on a little endian system (ie. In that case, you need to ensure that when it compiles, it reads and writes the data to and from files in the correct way…Ī LongWord is 4 bytes. This is fine, except when you write code that is intended to be cross-platform. Pascal is a wonderfully optimized language, down to the point where it uses the byte ordering of the CPU to represent words, integers and longwords. The problem was, that I developed this on a PC, and moved the code to PowerPC based mac. Welcome to the world of endianess… where depending on whether or not you are putting some intel employees kids though college or not, or IBM kids, your lovely Pascal code might compile, but totally fail to do what it was supposed to. I transferred the code onto to our PowerPC based Mac Mini last night and it compiled first time… it was however a shame that it didn’t actually work. Windows binaries will follow, when I get time to fire up my Windows machine and perform the necessary builds. You also need to ensure the heads on your datasette are properly aligned as well. You could try using an mp3 player, but in practice I have found depending on the player and the encoder you will likely experience a lot of trouble.Įither way, it will take some fiddling with volume to find the optimal level for this to work. The best option is to use a CD burning program and burn them onto a CD, and use a cassette adaptor to feed the audio into the datasette. #Commodore 64 emulator mac os software#If you plan to load the software onto a real commodore, I’d advise using a program that will play back audio without special effects or EQ settings (avoid Quicktime and iTunes like the plague). Playing it back loudly in your ears is not advisable hehe, but it sounds a lot like a 300 baud modem… which interestingly enough is a pretty good analogy for how the datasette worked. This will produce an audio file, called “”, which is the audio as the datasette would read it. Find a suitable TAP file (the are plenty of places you can obtain them from).ģ. #Commodore 64 emulator mac os download#Download the dmg, and copy the files to a location that is executable in the path (for example /usr/bin or /usr/local/bin).Ģ. #Commodore 64 emulator mac os how to#I will post some instructions on how to do this at a later stage, but for simple usage of tapdancer: –ġ. (We generally use a car cassette CD adaptor to feed it from CD into the real datasette, although I have started to experiment with recording the audio out to tape.) It will however convert a c64 TAP file (.tap extension) into a Sun AU audio file that can be either recorded to a blank tape, or burnt to a CD. Remember this is pre-alpha, or at least that is what I’m calling it right now. I have setup some make rules for automagically creating DMG (mountable disk images) for the associated tapdancer binaries.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |