datajerk
-
Content Count
13 -
Joined
-
Last visited
Posts posted by datajerk
-
-
Tried this tonight as well. I guess I have been living in the dark. This stuff is absolutely awesome. Amazing that there are such easy ways to get software running on the Apple II....even if I didn't have a floppy disk or drive for that matter. I know the concept is simple (I used to do the same thing for the most part with Datasette stuff on the Commodores...and doing stuff like this on the CoCo 3) but I am amazed at the quickness of it all. I mean, loading Ms. Pacman from gameserver to Apple II in 12 seconds is just incredible to me!
The speed comes from a combination of compression and custom 8000/9600 BPS code. The average effective download rate for the diskserver based on ~1500 disks measured is just under 19000 BPS. The native Apple II 1333 BPS code is used to boot strap my faster code and compression. Details here: https://github.com/datajerk/c2t/raw/master/article/article.pdf
-
1
-
-
I made a few disks today using this. Incredibly awesome and fast.
Do offline versions of the disks converted to audio exist for download, as well as a player to play them back (if they are not wav and some proprietary format)? It would be awesome to have a collection stored offline and run a 3.5MM audio cable from a PC sound card to the Apple II and use the PC to play back the audio images and create disks without having to do it through an online server.
Either way, this works and works well. Oddly (and ironically) enough I can only create them using my duaghter's iPhone. I always get a checksum error with my Galaxy S5.
Right click on the WAV link to download the .wav file. There's one for each format/speed permutation. Or create your own: https://github.com/datajerk/c2t. I'd use c2t with a cache of .dsks before caching a lot of .wavs.
Re: S5 issues. Make sure volume is up, phone is in vibrate mode (system sounds are a killer), try both 8000 (8KFI) and 9600 (HIFI) BPS speed. The overall download/write time is not that much different between 8000 and 9600. 9600 uses asymmetrical waves that some players do not like (I know of a fix, just no time). 8000 (symmetrical) should work on any system that does not alter the .wav or filter the output. The S5 could be doing other types of mods to the output.
-
1
-
-
Hi, Just got Lynx as gift, please add me to list (cased multicart). Thanks.
Scratch that. Uncased please. I just reread the FAQ. I have Lynx 1. Thanks.
-
Hi, Just got Lynx as gift, please add me to list (cased multicart). Thanks.
-
1
-
-
Emulating a modem and actually having it generate and recognize the right tones would be a bit beyond my DSP knowledge, unfortunately.
Perhaps this will help: https://bitbucket.org/Cathedrow/potsduino/wiki/Home
-
though since you dont seem to have a serial card you have to use the rather slow, but workable tape audio ports
It's still possible to get disks copied via the audio ports in a reasonable amount of time. http://asciiexpress.net/diskserver
The code (c2t) is open source, so making your audio images is easy too. Average time to create a 140K floppy via c2t 8000 bps + compressed audio is about 2 minutes. Add 30 seconds if you need to format the disk first.
-
Oh, this is pretty neat, but I was thinking of compression of the binary tape file itself, not the data within the tape file. But I can see both being useful.
I'm going to have to check out c2t some more. I've written some code to generate tape audio before -- nothing too fancy. Lately I've been using the little Apple II emulator to generate tape images, but again limited to what the stock firmware will do. Definitely want to push the limits a bit more on the tape interface.
The WAV and AIF formats (if computer generated using c2t or emulators) are very compressible. I just did a quick test and was able to reduce the size of an Apple II WAV file by 38x (1277K to 33K).
I've spent too much time trying to squeeze the most out of the Apple II audio jacks. The best I could do was 9600 bps (no compression). However, that speed is not stable on all Apple IIs. 8000 bps has been demonstrated to be stable with all Apple IIs (that have been reported) as well as Virtual ][ emulation. When/if I have the time I may try again to get 9600 bps stable.
The c2t source has all the 6502 assembly source as well. Good luck with your project.
-
Does Apple II tape use start/stop bits at all? If not, then the overall format would be somewhat simpler. Atari normally uses start/stop so there are special desriptors that allow for data that doesn't.
No, but the COSMAC VIP did. Here's a quick hack to support the VIP with start/stop (parity really) bits: http://asciiexpress.net/files/VIP/
You could adapt to other formats.
-
I'm thinking that wrapping the entire file in LZW or similar compression afterwards might be a good second step. Similar to how a lot of emulators zip their ROMs for storage purposes. Not required, but could be nice to have. I'll worry about that later

Again done. Look at the c2t source. There is an option to compress. The compression is 6502 simulated by c2t to judge if it would be faster to just transfer vs. transferring the decompress code + binary + decompress time. Examples of a compressed binary and an uncompress binary:
Input: Binary game without DOS header that should be loaded at $801 as fast as possible while being compatible with all Apple IIs. Command: c2t -8c moon.patrol,801 moon.patrol.aif Reading moon.patrol, type binary, segment 1, start: 0x0801, length: 18460 Writing moon.patrol.aif as Apple II formatted aiff. start: 0x7226, length: 18393, deflated: 0.36%, data time:18.95, inflate time:6.83 WARNING: compression disabled: no significant gain (18.11) To load up and run on your Apple II, type: LOAD NOTE: Compression was disabled because it didn't help.Input: Binary game without DOS header that should be loaded at $800 as fast as possible while being compatible with all Apple IIs. Command: c2t -8c super_puckman,800 super_puckman.wav Reading super_puckman, type binary, segment 1, start: 0x0800, length: 30719 Writing super_puckman.wav as Apple II formatted wave. start: 0x886C, length: 12691, deflated: 58.69%, data time:13.25, inflate time:5.79 To load up and run on your Apple II, type: LOAD -
Using the tape out port to communicate back to the iPhone would be pretty cool and even allow for multi-load games. I'll have to think about that one some more.
I started to explore this as well, but ran out of time. I had a number of challenges getting a good recording from the Apple II via iOS (existing apps).
Here's a possible workaround, have the Apple II post up a QR code, use the iPhone camera to read it and fetch the audio code. E.g.: http://asciiexpress.net/gameserver/gameserverclient.mp4
-
Use the tape interface to load in DOS 3.3 or ProDOS, insert a blank disk, format and install the system on it. That would be pretty useful in my opinion.
Already been done: http://asciiexpress.net/diskserver/
Out of date demo (it's much better now): http://asciiexpress.net/diskserver/video.mp4
-
If you look on the site I linked above, they have at least 5 different WAV files for each game they offer -- basic and monitor load versions in both hifi and lofi, which are different speeds, along with a CD optimized version as well. That collection of games takes up 1.5GB alone -- even if you throw away half of the files as being redundant, you are still looking at 750MB of storage being tied up for what's probably less than 1 MB of actual data. And since I'm thinking of making an iPhone app, where the device size goes down to 8GB (which is really more like 6GB of available storage), it would be a bit silly to use that much space that the user probably wants to have for music, videos, photos and other apps, especially if it's not needed.
If your end goal is an iOS app that streams tapes to the Apple II, then just store the code as compressed binaries and generate the audio as needed.
It was my intention to have the Apple Game and Disk Server Online dynamically generate the audio, but I ran out of time and opted for static pre-generated audio files (that and I have 200GB free on that server). Someday I'll update both sites to something more dynamic.
The c2t source that the Apple Game and Disk Server Online uses is available from here: http://asciiexpress.net/files/
Tape @ 1333 bps is painfully slow, I'd recommend using c2t @ 8000 bps with compression enabled.

Apple IIe - Not possible to use 5 1/4 card in slot 5?
in Apple II Computers
Posted
No idea on the iPhone X. I've been too lazy to get one. Hopefully someone else can confirm. I have been meaning to test BT audio with an adapter on the II side to convert the BT to analog. But alas, no time.