Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.sys.apple2.programmer > #3636 > unrolled thread
| Started by | anthonypaulo@gmail.com |
|---|---|
| First post | 2017-07-06 20:58 -0700 |
| Last post | 2017-08-15 13:22 -0700 |
| Articles | 20 on this page of 42 — 11 participants |
Back to article view | Back to comp.sys.apple2.programmer
Sound programming standard across Apple II audio peripherals anthonypaulo@gmail.com - 2017-07-06 20:58 -0700
Re: Sound programming standard across Apple II audio peripherals Michael J. Mahon <mjmahon@aol.com> - 2017-07-07 14:24 -0500
Re: Sound programming standard across Apple II audio peripherals anthonypaulo@gmail.com - 2017-07-07 16:54 -0700
Re: Sound programming standard across Apple II audio peripherals laseractiveguy@gmail.com - 2017-07-07 13:25 -0700
Re: Sound programming standard across Apple II audio peripherals laseractiveguy@gmail.com - 2017-07-07 13:33 -0700
Re: Sound programming standard across Apple II audio peripherals anthonypaulo@gmail.com - 2017-07-07 16:59 -0700
Re: Sound programming standard across Apple II audio peripherals laseractiveguy@gmail.com - 2017-07-07 17:01 -0700
Re: Sound programming standard across Apple II audio peripherals laseractiveguy@gmail.com - 2017-07-08 11:44 -0700
Re: Sound programming standard across Apple II audio peripherals Michael Pohoreski <michael.pohoreski@gmail.com> - 2017-07-08 11:49 -0700
Re: Sound programming standard across Apple II audio peripherals laseractiveguy@gmail.com - 2017-07-09 06:03 -0700
Re: Sound programming standard across Apple II audio peripherals laseractiveguy@gmail.com - 2017-07-09 06:08 -0700
Re: Sound programming standard across Apple II audio peripherals Michael Pohoreski <michael.pohoreski@gmail.com> - 2017-07-09 06:34 -0700
Re: Sound programming standard across Apple II audio peripherals laseractiveguy@gmail.com - 2017-07-09 08:28 -0700
Re: Sound programming standard across Apple II audio peripherals Michael Pohoreski <michael.pohoreski@gmail.com> - 2017-07-09 11:08 -0700
Re: Sound programming standard across Apple II audio peripherals laseractiveguy@gmail.com - 2017-07-09 16:28 -0700
Re: Sound programming standard across Apple II audio peripherals Michael Pohoreski <michael.pohoreski@gmail.com> - 2017-07-09 16:50 -0700
Re: Sound programming standard across Apple II audio peripherals Michael Pohoreski <michael.pohoreski@gmail.com> - 2017-12-19 18:37 -0800
Re: Sound programming standard across Apple II audio peripherals Tom Porter <laseractiveguy@gmail.com> - 2017-12-20 16:46 -0800
Re: Sound programming standard across Apple II audio peripherals Michael Pohoreski <michael.pohoreski@gmail.com> - 2017-12-20 17:35 -0800
Re: Sound programming standard across Apple II audio peripherals Tom Porter <laseractiveguy@gmail.com> - 2017-12-20 18:00 -0800
Re: Sound programming standard across Apple II audio peripherals craigslist530a@gmail.com - 2017-12-20 23:05 -0800
Re: Sound programming standard across Apple II audio peripherals Tom Porter <laseractiveguy@gmail.com> - 2017-12-21 06:58 -0800
Re: Sound programming standard across Apple II audio peripherals qkumba <peter.ferrie@gmail.com> - 2017-07-12 10:12 -0700
Re: Sound programming standard across Apple II audio peripherals Anthony Ortiz <anthonypaulo@gmail.com> - 2017-07-12 10:31 -0700
Re: Sound programming standard across Apple II audio peripherals qkumba <peter.ferrie@gmail.com> - 2017-07-12 21:38 -0700
Re: Sound programming standard across Apple II audio peripherals Michael J. Mahon <mjmahon@aol.com> - 2017-07-12 14:44 -0500
Re: Sound programming standard across Apple II audio peripherals laseractiveguy@gmail.com - 2017-07-12 13:08 -0700
Re: Sound programming standard across Apple II audio peripherals Antoine Vignau <antoine.vignau@laposte.net> - 2017-07-12 13:26 -0700
Re: Sound programming standard across Apple II audio peripherals laseractiveguy@gmail.com - 2017-07-12 13:37 -0700
Re: Sound programming standard across Apple II audio peripherals laseractiveguy@gmail.com - 2017-07-12 13:40 -0700
Re: Sound programming standard across Apple II audio peripherals Michael J. Mahon <mjmahon@aol.com> - 2017-07-12 18:12 -0500
Re: Sound programming standard across Apple II audio peripherals Anthony Ortiz <anthonypaulo@gmail.com> - 2017-07-12 13:25 -0700
Re: Sound programming standard across Apple II audio peripherals qkumba <peter.ferrie@gmail.com> - 2017-07-12 21:42 -0700
Re: Sound programming standard across Apple II audio peripherals qkumba <peter.ferrie@gmail.com> - 2017-07-13 09:37 -0700
Re: Sound programming standard across Apple II audio peripherals Michael J. Mahon <mjmahon@aol.com> - 2017-07-13 19:14 -0500
Re: Sound programming standard across Apple II audio peripherals laseractiveguy@gmail.com - 2017-07-15 09:46 -0700
Re: Sound programming standard across Apple II audio peripherals Michael Pohoreski <michael.pohoreski@gmail.com> - 2017-12-19 18:14 -0800
Re: Sound programming standard across Apple II audio peripherals James Davis <JPD.Enterprises@outlook.com> - 2017-07-07 13:43 -0700
Re: Sound programming standard across Apple II audio peripherals anthonypaulo@gmail.com - 2017-07-07 16:03 -0700
Re: Sound programming standard across Apple II audio peripherals laseractiveguy@gmail.com - 2017-07-12 12:40 -0700
Re: Sound programming standard across Apple II audio peripherals qkumba <peter.ferrie@gmail.com> - 2017-07-12 21:40 -0700
Re: Sound programming standard across Apple II audio peripherals Bill Chatfield <billchatfield1@gmail.com> - 2017-08-15 13:22 -0700
Page 2 of 3 — ← Prev page 1 [2] 3 Next page →
| From | craigslist530a@gmail.com |
|---|---|
| Date | 2017-12-20 23:05 -0800 |
| Message-ID | <05254920-24f3-4ecb-8f16-10898903bbdb@googlegroups.com> |
| In reply to | #4045 |
Applevisions book by Bob Bishop has 1bit record/play routine source in it. He also has cassette port networking in p.a.c.k (programmers assembly c.... kit) Kant remember what ... wait. It's c for Construction He also did voice recognition through cassette ports. I started a MIDI file to mockingboard player music. File converter years Ago but never finished. The mockingboard player is interrupt driven So you just load a file and call PLAY. Music plays in the background while you catalog a disk, run a basic program , or a 6502 program
[toc] | [prev] | [next] | [standalone]
| From | Tom Porter <laseractiveguy@gmail.com> |
|---|---|
| Date | 2017-12-21 06:58 -0800 |
| Message-ID | <249b7a74-986c-4d22-856d-d6affba4a121@googlegroups.com> |
| In reply to | #4047 |
Craig... I hate this post to become all about me... Recently, in the last 6 months I also have come up with a *MID to Mockingboard program called MIDI2MOCK... there are about 70 samples on 4 disks, plus a converter software/instructions ect... good to mess around with. https://www.dropbox.com/s/z0ldxehkebwbfeg/MIDI%20TO%20MOCK%20VER1.zip?dl=0 It is NOT interrupt driven, work has begun on MIDI2MOCK version 2 that will/does have smaller music files (higher compression) and will be interrupt driven, prototypes are working but have too many apple II projects. Some sample vids below... https://www.youtube.com/watch?v=2Lb8JoaVK3s https://www.youtube.com/watch?v=MmMZxdquiPA Anyway, do you still have your code/player in a working state, i'd love to see it! -Tom
[toc] | [prev] | [next] | [standalone]
| From | qkumba <peter.ferrie@gmail.com> |
|---|---|
| Date | 2017-07-12 10:12 -0700 |
| Message-ID | <effab9ed-d2e0-4f50-95d4-1b4d415ca7bb@googlegroups.com> |
| In reply to | #3687 |
> Delay > NOP > NOP > NOP It looks like this could be reduced by one byte, by replacing with CMP ($00,X) instead.
[toc] | [prev] | [next] | [standalone]
| From | Anthony Ortiz <anthonypaulo@gmail.com> |
|---|---|
| Date | 2017-07-12 10:31 -0700 |
| Message-ID | <5e92ceb9-5f82-4429-a1ff-d24614a4a100@googlegroups.com> |
| In reply to | #3696 |
On Wednesday, July 12, 2017 at 1:12:16 PM UTC-4, qkumba wrote: > > Delay > > NOP > > NOP > > NOP > > It looks like this could be reduced by one byte, by replacing with CMP ($00,X) instead. Who cares about a single byte when you have a whole 64K of RAM??!!!
[toc] | [prev] | [next] | [standalone]
| From | qkumba <peter.ferrie@gmail.com> |
|---|---|
| Date | 2017-07-12 21:38 -0700 |
| Message-ID | <30e1a4c5-625d-4434-97a1-d4cfc0573442@googlegroups.com> |
| In reply to | #3697 |
> Who cares about a single byte when you have a whole 64K of RAM??!!! One byte can make all the difference if space is tight.
[toc] | [prev] | [next] | [standalone]
| From | Michael J. Mahon <mjmahon@aol.com> |
|---|---|
| Date | 2017-07-12 14:44 -0500 |
| Message-ID | <7M6dnfASityG4fvEnZ2dnUU7-VVQAAAA@giganews.com> |
| In reply to | #3696 |
qkumba <peter.ferrie@gmail.com> wrote: >> Delay >> NOP >> NOP >> NOP > > It looks like this could be reduced by one byte, by replacing with CMP ($00,X) instead. > It also fails to equalize cycles for both cases, which results in additional noise. It looks like someone was trying to "trim" the loop period, but kind of missed the point. This is a typical, not-well-engineered example of the simple code to playback sound "recorded" to 1-bit precision through the cassette input port. It reproduces fuzzed or "infinitely clipped" sound, which is OK for some purposes, but pretty raucous for most purposes. It was used because for many years it was thought to be "the only game in town" for Apple II's without hardware assistance. I used it in my early "HEX DUMP READER" published on my website. It was my dissatisfaction with simple 1-bit audio that motivated me to write a 5-bit software DAC (playing through the standard 1-bit speaker) running at a pulse rate of 11kHz, followed by a 5-bit player running at 22kHz (but still at an 11kHz sample rate). The double-frequency DAC pulse rate greatly reduces the requirement to provide a low-pass (reconstruction) filter, since the speaker itself and many human ears provide sufficient filtering. ;-) For the AppleCrate synthesizer, I provided an audio processing/amplifying channel that has stereo 5-pole filters which essentially eliminate the 22kHz pulse tone, and would probably allow going to a 6-bit software DAC running at a pulse rate of 11kHz. -- -michael - NadaNet 3.1 and AppleCrate II: http://michaeljmahon.com
[toc] | [prev] | [next] | [standalone]
| From | laseractiveguy@gmail.com |
|---|---|
| Date | 2017-07-12 13:08 -0700 |
| Message-ID | <4dd65bf2-3d59-49b9-b964-16f10cd5aa82@googlegroups.com> |
| In reply to | #3699 |
You are unquestionably the audio guru, however as I see it its impossible to have 'perfect' audio and multi-tasking a full playing game without hisses and pops of any sort, even if the code truly was balanced on its clock cycles. I do a 'good enough' approach by using equalizers to create the maximum clarity with the audio and then the pops do show up, but without pure tones it actually is masked fairly well, unlike beep or 'pure instrument' music. My game code is not sync'ed nor is it cycle counted... heck, half the game is 'compiled applesoft!' The good enough approach still is about the best that has ever been made, even if you compare it to 'Moon Patrol', Dogfighter2 blows the doors off it.
[toc] | [prev] | [next] | [standalone]
| From | Antoine Vignau <antoine.vignau@laposte.net> |
|---|---|
| Date | 2017-07-12 13:26 -0700 |
| Message-ID | <964584fb-5721-465a-a043-18a4f4f04c60@googlegroups.com> |
| In reply to | #3700 |
Force 7 by Kyle Freeman, published by Datasoft, is a great example of sound while playing, cycle counting at its best!
[toc] | [prev] | [next] | [standalone]
| From | laseractiveguy@gmail.com |
|---|---|
| Date | 2017-07-12 13:37 -0700 |
| Message-ID | <c66849c8-1252-44da-896b-29c3c1bebd11@googlegroups.com> |
| In reply to | #3702 |
Your right, Force 7 isn't too bad for synth. I haven't mastered 4 way scrolling with a whole map in memory yet... (only 2 way). And for Anthony, MjM's explanation was a little bit more intelligible....
[toc] | [prev] | [next] | [standalone]
| From | laseractiveguy@gmail.com |
|---|---|
| Date | 2017-07-12 13:40 -0700 |
| Message-ID | <8a0d19e9-e1c0-4dd9-a8f7-41fe17921713@googlegroups.com> |
| In reply to | #3703 |
How many floppy disks would 5bit audio take to make a game... that's another factor to consider to. Its a trade off, good audio, or disk space. Alright, I be quiet now...
[toc] | [prev] | [next] | [standalone]
| From | Michael J. Mahon <mjmahon@aol.com> |
|---|---|
| Date | 2017-07-12 18:12 -0500 |
| Message-ID | <W4ednVz5GeRnMfvEnZ2dnUU7-I_NnZ2d@giganews.com> |
| In reply to | #3704 |
<laseractiveguy@gmail.com> wrote: > How many floppy disks would 5bit audio take to make a game... that's > another factor to consider to. Its a trade off, good audio, or disk > space. Alright, I be quiet now... > > Of course. I'm not proposing that you adopt a software DAC approach, which requires multiple bits per sample. However, your playback routine can easily be made to have constant loop times for "toggle" and "no toggle". It's a small improvement, but it's easy. BTW, if instead of continuous playback you are synthesizing musical notes, then very little additional space is required. For example, a typical instrument voice is about 5-10 pages, and each note (up to six seconds long) is just three bytes. -- -michael - NadaNet 3.1 and AppleCrate II: http://michaeljmahon.com
[toc] | [prev] | [next] | [standalone]
| From | Anthony Ortiz <anthonypaulo@gmail.com> |
|---|---|
| Date | 2017-07-12 13:25 -0700 |
| Message-ID | <f794a62f-00a7-4f0d-a122-c825e1a54559@googlegroups.com> |
| In reply to | #3699 |
On Wednesday, July 12, 2017 at 3:44:32 PM UTC-4, mjm...@aol.com wrote: > qkumba <peter... @gmail.com> wrote: > >> Delay > >> NOP > >> NOP > >> NOP > > > > It looks like this could be reduced by one byte, by replacing with CMP ($00,X) instead. > > > > It also fails to equalize cycles for both cases, which results in > additional noise. > > It looks like someone was trying to "trim" the loop period, but kind of > missed the point. > > This is a typical, not-well-engineered example of the simple code to > playback sound "recorded" to 1-bit precision through the cassette input > port. > > It reproduces fuzzed or "infinitely clipped" sound, which is OK for some > purposes, but pretty raucous for most purposes. It was used because for > many years it was thought to be "the only game in town" for Apple II's > without hardware assistance. > > I used it in my early "HEX DUMP READER" published on my website. > > It was my dissatisfaction with simple 1-bit audio that motivated me to > write a 5-bit software DAC (playing through the standard 1-bit speaker) > running at a pulse rate of 11kHz, followed by a 5-bit player running at > 22kHz (but still at an 11kHz sample rate). > > The double-frequency DAC pulse rate greatly reduces the requirement to > provide a low-pass (reconstruction) filter, since the speaker itself and > many human ears provide sufficient filtering. ;-) > > For the AppleCrate synthesizer, I provided an audio processing/amplifying > channel that has stereo 5-pole filters which essentially eliminate the > 22kHz pulse tone, and would probably allow going to a 6-bit software DAC > running at a pulse rate of 11kHz. > > -- > -michael - NadaNet 3.1 and AppleCrate II: http://michaeljmahon.com For all you laymen that need this translated to plain and simple English that we can all understand, he's simply stating the obvious : when the Heisenberg magnaspanners collapse you need to realign the nuclear density synthesizer to correlate with the metatronic microfilament dish's perpetual resonance by utilizing a bipolar shifter damping field with multiadaptive seeker gravitic subspace duotronics. This is, of course, par for the course and you will probably wonder "what's the big deal mjm?" but if you tweak the Dermatiraelian sensor net ever so slightly with Michael's patent pending psilosynine transwarp field coils and thoron neurotransmitters your ears will literally piss in their cavities; *that's* how good 5-bit sound is.
[toc] | [prev] | [next] | [standalone]
| From | qkumba <peter.ferrie@gmail.com> |
|---|---|
| Date | 2017-07-12 21:42 -0700 |
| Message-ID | <6da057e5-09c0-4a6d-a523-be1435305a96@googlegroups.com> |
| In reply to | #3699 |
> It looks like someone was trying to "trim" the loop period, but kind of > missed the point. More exactly - we have different points of view. Yes, it's a simple playback routine, but if it is sufficient for the purpose, then it becomes the target for optimization. And yes, the timing is not consistent, especially when crossing a page.
[toc] | [prev] | [next] | [standalone]
| From | qkumba <peter.ferrie@gmail.com> |
|---|---|
| Date | 2017-07-13 09:37 -0700 |
| Message-ID | <d5da51b4-d5d6-488f-80cb-b8db5edb8268@googlegroups.com> |
| In reply to | #3708 |
> And yes, the timing is not consistent, especially when crossing a page.
Here's a version with effectively constant timing across all paths, but subject to the fluctuation due to calling $FCA8:
Speaker = $C030
WAIT = $FCA8
ORG $300
Main
LDX #0
STX GetNote+1 ; *** SELF-MODIFYING
LDY #$14
STY GetNote+2 ; *** SELF-MODIFYING
BNE GetNote
SamePage
LDY #8 ; BitsPerByte
SameByte
PHA
LDA #8 ; Delay, Default=4
JSR WAIT
PLA
ASL
NOP
BCC Delay
STA Speaker
BCS Next
Delay
CMP ($00,X)
Next
DEY
BNE SameByte1
GetNote
LDA $DA1A,X ; *** SELF-MODIFIED!
INX
BNE SamePage1
INC GetNote+2
LDA GetNote+2
CMP #$6A ; End of File, Default=#$96
BNE SamePage
RTS
SameByte1
CMP $44,X
CMP ($00,X)
CMP ($00,X)
JMP SameByte
SamePage1
CMP ($00,X)
NOP
JMP SamePage
The tones are slightly lower as a result.
[toc] | [prev] | [next] | [standalone]
| From | Michael J. Mahon <mjmahon@aol.com> |
|---|---|
| Date | 2017-07-13 19:14 -0500 |
| Message-ID | <78idnRuzIO5mkfXEnZ2dnUU7-QXNnZ2d@giganews.com> |
| In reply to | #3709 |
qkumba <peter.ferrie@gmail.com> wrote: >> And yes, the timing is not consistent, especially when crossing a page. > > Here's a version with effectively constant timing across all paths, but > subject to the fluctuation due to calling $FCA8: > > Speaker = $C030 > WAIT = $FCA8 > > ORG $300 > > Main > LDX #0 > STX GetNote+1 ; *** SELF-MODIFYING > LDY #$14 > STY GetNote+2 ; *** SELF-MODIFYING > BNE GetNote > SamePage > LDY #8 ; BitsPerByte > SameByte > PHA > LDA #8 ; Delay, Default=4 > JSR WAIT > PLA > ASL > NOP > BCC Delay > STA Speaker > BCS Next > Delay > CMP ($00,X) > Next > DEY > BNE SameByte1 > GetNote > LDA $DA1A,X ; *** SELF-MODIFIED! > INX > BNE SamePage1 > INC GetNote+2 > LDA GetNote+2 > CMP #$6A ; End of File, Default=#$96 > BNE SamePage > RTS > > SameByte1 > CMP $44,X > CMP ($00,X) > CMP ($00,X) > JMP SameByte > > SamePage1 > CMP ($00,X) > NOP > JMP SamePage > > The tones are slightly lower as a result. > So the "recording" routine should also be inspected for equivalent timing. -- -michael - NadaNet 3.1 and AppleCrate II: http://michaeljmahon.com
[toc] | [prev] | [next] | [standalone]
| From | laseractiveguy@gmail.com |
|---|---|
| Date | 2017-07-15 09:46 -0700 |
| Message-ID | <69cc037e-6336-4187-8093-e7fed99b135b@googlegroups.com> |
| In reply to | #3710 |
To be honest I never thought about 'modifying' the player or recording cores, as when I started out doing apple recording I didn't know an LDA from a JSR. I will take all these suggestions to my assembler on Sunday and see if it can be modified to have 'equal clock cycles' in on and off periods and just general improvements. There is a margin inside SFX for the 'playback routine' so modifying that for the 'upgraded' sound shouldn't be a problem... although the rest of it is VERY tight after the GS "correction" speed upgrade.... thank you MJM, Qkumba and the others!
[toc] | [prev] | [next] | [standalone]
| From | Michael Pohoreski <michael.pohoreski@gmail.com> |
|---|---|
| Date | 2017-12-19 18:14 -0800 |
| Message-ID | <59c79f84-5075-4117-9d78-3deb7bf1bada@googlegroups.com> |
| In reply to | #3685 |
On Sunday, July 9, 2017 at 8:28:42 AM UTC-7, Tom Porter wrote: > This is about the best compression that can be achieved (I think anyway)... the quality isn't the highest but that wasn't the point of this test. Pirates of the Caribbean loop... 54 seconds, takes 86 sectors (aka 21.5kb), or only 15% of the disk. I guess sample rate is close to .40kb per second. > > I cant guarantee speed accurate on a gs... https://www.dropbox.com/s/zymrlfobvzsqkui/REC%20TEST.DSK?dl=0 Necro'ing ... I was going to show this to another Apple 2 aficionado but the link is dead. Fortunately, was able to find a saved copy. Is the original source WAV file available so we test different codecs using an apples-to-apples (pun intended) comparison?
[toc] | [prev] | [next] | [standalone]
| From | James Davis <JPD.Enterprises@outlook.com> |
|---|---|
| Date | 2017-07-07 13:43 -0700 |
| Message-ID | <fab26dc5-2ca1-4993-88d6-69f50d546bd4@googlegroups.com> |
| In reply to | #3636 |
On Thursday, July 6, 2017 at 8:58:07 PM UTC-7, anthon...@gmail.com wrote: > For people interested in generating sound effects/music for their games on the Apple II, is there a standard file format for sounds that can be played across the different devices, such as Apple II speaker, Mockingboard, and Ensoniq, and are there libraries out there for playing said standard? That is, similar to the way the same mp3 file is played via a Sound Blaster, RealTek, or any of those other audio chips where mp3 is the standard but the driver implementation varies? If you are really interested in Apple II sound technology, you should read some of the sound articles (pun intended) on MJM's website: http://michaeljmahon.com James Davis
[toc] | [prev] | [next] | [standalone]
| From | anthonypaulo@gmail.com |
|---|---|
| Date | 2017-07-07 16:03 -0700 |
| Message-ID | <9962dad1-1134-4ad5-a86d-71be848b81fd@googlegroups.com> |
| In reply to | #3652 |
On Friday, July 7, 2017 at 4:43:25 PM UTC-4, James Davis wrote: > On Thursday, July 6, 2017 at 8:58:07 PM UTC-7, anthon...@gmail.com wrote: > > For people interested in generating sound effects/music for their games on the Apple II, is there a standard file format for sounds that can be played across the different devices, such as Apple II speaker, Mockingboard, and Ensoniq, and are there libraries out there for playing said standard? That is, similar to the way the same mp3 file is played via a Sound Blaster, RealTek, or any of those other audio chips where mp3 is the standard but the driver implementation varies? > > If you are really interested in Apple II sound technology, you should read some of the sound articles (pun intended) on MJM's website: > > http://michaeljmahon.com > > James Davis Yes, I just went through your link... Michael is quite the busy bee, and hardcore to boot! I could use a brain dump from him...
[toc] | [prev] | [next] | [standalone]
| From | laseractiveguy@gmail.com |
|---|---|
| Date | 2017-07-12 12:40 -0700 |
| Message-ID | <2ecca0b0-e345-4386-9d5c-7cd8a2ee88e8@googlegroups.com> |
| In reply to | #3636 |
I never messed with the core.... I think the NOP is more of a delay, but its possible it was a patch way back in 1986... the music may play a little faster with them removed...
[toc] | [prev] | [next] | [standalone]
Page 2 of 3 — ← Prev page 1 [2] 3 Next page →
Back to top | Article view | comp.sys.apple2.programmer
csiph-web