[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Module 6 (was Re: CiderPress v2.1.0 released)
Michael J. Mahon <mjmahon@aol.com> wrote:
> But wouldn't there be a problem with attempting to LOAD a tape in
> the stack area in any case? There is no way that one could ensure
> that the stack was not somewhat "advanced" prior to the LOAD, so
> the actual locations of return addresses in the stack could not be
> guaranteed.
>
> Perhaps this tape could only be loaded if it were the first thing the
> user did after powering up...?
Hmm. The main part of the READ routine ($fefd) is also the part that
stores bytes, so the stack will be fine until this gets finished reading
the entire thing. At which point it does an RTS.
The stack is filled with 0303, so I would expect this to return to address
$304, which is $00 (BRK).
That doesn't make much sense. Just to check: BRK sends us to the BRK/IRQ
vector at $FFFF/FF, which is $FA40 in the autostart ROM. That does an
indirect jump through the vector at $3FE, which doesn't seem to be set
to anything.
The program runs from $30 to $3FFF. The first part of it is below. The
value $3C is in location $3C (A1L), suggesting that it's not trying to
do some fancy trick changing up the load location.
Somebody else want to take a swing? The stuff at $200 is a red herring,
for two reasons: (1) the program doesn't load at $5000, and (2) unless
the stack gets cleaned up we're not going to fall back into the keyboard
read routine.
00000030: ff 00 ff aa 13 28 40 08 00 08 00 40 3c 00 00 40 ...*.(@....@<..@
00000040: 00 40 00 08 00 04 00 3a 00 c8 00 08 00 40 8d ac .@.....:.H...@.,
00000050: 5b 00 b6 7f 12 00 00 01 ff ff ff ff ff ff 00 01 [.6.............
00000060: 01 25 ff ff ff ff ff 01 30 a1 d0 14 f7 00 ec 00 .%......0!P.w.l.
00000070: ff ed ed ed ec ec ed ed ff ff 00 ff ff 00 30 ff .mmmllmm......0.
00000080: ff ff ff 24 ff ff ff ff ff ff ff ff ff ff ff 03 ...$............
00000090: 4c ff 00 00 00 00 02 00 00 82 82 82 5b 6d f3 ff L...........[ms.
000000a0: 00 00 2d ff 00 80 00 00 00 04 00 00 01 05 01 03 ..-.............
000000b0: 30 e6 b8 d0 02 e6 b9 ad 05 30 c9 00 ff 00 5e 7d 0f8P.f9-.0I...^}
000000c0: 7f 05 0f 0e 09 ff ff ff 0f b1 f0 0f 4c 0a 17 e8 .........1p.L..h
000000d0: 46 0a ff ff 00 00 01 00 21 00 d2 14 c9 14 ff ff F.......!.R.I...
000000e0: 18 02 e1 3f 62 3f e1 3f bb b9 15 1e 19 14 0f 0f ..a?b?a?;9......
000000f0: 0f 18 00 00 ff ff ff ff 3e b5 00 00 00 20 00 ed .........5... .m
00000100: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................
00000110: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................
00000120: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................
00000130: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................
00000140: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................
00000150: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................
00000160: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................
00000170: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................
00000180: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................
00000190: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................
000001a0: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................
000001b0: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................
000001c0: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................
000001d0: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................
000001e0: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................
000001f0: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 ................
00000200: b4 b0 b0 bc b5 b0 b0 b0 ae b5 b3 c6 c6 cd b4 b0 400<5000.53FFM40
00000210: b0 b0 c7 8d 75 b3 ff 7f 01 b7 b3 00 7d 01 b0 5f 00G.u3...73.}.0_
00000220: b1 0f 00 01 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 ac d1 1... ,Q
00000230: a8 b7 b3 a9 ac d0 a8 b8 a9 ac d3 a8 b5 a9 ac d6 (73),P(8),S(5),V
00000240: a8 b8 a9 ac c1 a4 a8 b2 b6 a0 a0 a0 a0 a0 a0 a0 (8),A$(26
00000250: a0 a0 a0 a0 a0 a0 a9 ac c4 a4 a8 b4 a9 ac d3 a4 ),D$(4),S$
00000260: a8 b3 b2 a9 ba cc c9 d3 d4 b0 df 59 00 7d 4f c1 (32):LIST0_Y.}OA
00000270: 34 b2 18 00 72 44 c2 34 b2 18 00 72 44 c3 34 b5 42..rDB42..rDC45
00000280: 34 00 72 44 c4 34 b2 18 00 72 44 d1 34 b7 49 00 4.rDD42..rDQ47I.
00000290: 72 44 d0 34 b8 08 00 72 44 d3 34 b5 05 00 72 44 rDP48..rDS45..rD
000002a0: d6 34 b8 08 00 72 43 c1 40 22 b2 1a 00 72 43 c4 V48..rCA@"2..rCD
000002b0: 40 22 b4 04 00 72 43 d3 40 22 b3 20 00 72 03 74 @"4..rCS@"3 .r.t
000002c0: b0 00 00 01 ff ff ff ff ff ff ff ff ff ff ff ff 0...............
000002d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
000002e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
000002f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
00000300: ff ff ff 00 ff ff ff ff ff ff ff ff ff ff ff ff ................
00000310: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
00000320: 55 00 5d 20 ff ff ff ff 55 00 5d 00 ff 0c 20 ff U.] ....U.]... .
00000330: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
00000340: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
00000350: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
00000360: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
00000370: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
00000380: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
00000390: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
000003a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
000003b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
000003c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
000003d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
000003e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
000003f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
00000400: a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0
00000410: a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0
00000420: a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0
00000430: a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0
00000440: a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0
00000450: 20 a0 a0 a0 a0 20 a0 a0 20 a0 20 a0 a0 a0 a0 20
00000460: a0 a0 20 a0 20 a0 a0 20 a0 20 20 a0 20 a0 20 a0
00000470: a0 a0 a0 20 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0
00000480: a0 20 20 20 20 a0 20 20 20 20 a0 20 20 20 20 a0
00000490: 20 20 20 a0 20 20 20 20 a0 20 20 20 20 a0 20 20
000004a0: 20 20 a0 60 60 60 60 a0 20 20 20 20 a0 a0 20 20 ````
000004b0: a0 a0 20 20 20 20 a0 20 20 20 a0 20 a0 a0 a0 20
000004c0: a0 a0 20 20 a0 a0 20 20 20 a0 a0 20 20 20 20 a0
000004d0: 20 20 20 a0 a0 a0 20 20 a0 a0 20 a0 a0 a0 a0 20
000004e0: 20 20 20 a0 20 20 20 20 a0 20 20 20 20 a0 20 a0
000004f0: 20 20 a0 20 20 20 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0
00000500: a0 20 a0 a0 20 a0 20 a0 a0 20 a0 20 a0 a0 a0 a0
00000510: a0 20 a0 a0 20 a0 a0 20 a0 20 a0 a0 20 a0 20 a0
00000520: a0 a0 a0 60 60 60 60 a0 20 a0 a0 a0 a0 20 a0 a0 ````
00000530: 20 a0 20 a0 a0 a0 a0 a0 20 a0 a0 20 a0 a0 a0 20
00000540: a0 20 a0 a0 20 a0 20 a0 a0 20 a0 20 a0 a0 a0 a0
00000550: 20 a0 a0 a0 a0 20 a0 a0 20 a0 20 a0 a0 a0 a0 20
00000560: a0 a0 20 a0 20 a0 a0 20 a0 20 a0 20 20 a0 20 a0
00000570: a0 20 a0 20 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0
00000580: a0 20 a0 a0 a0 a0 20 a0 a0 20 a0 20 a0 a0 a0 a0
00000590: a0 20 a0 a0 20 a0 a0 20 a0 20 a0 a0 20 a0 20 a0
000005a0: a0 a0 a0 60 60 60 60 a0 a0 20 20 a0 a0 20 a0 a0 ````
000005b0: 20 a0 20 20 20 a0 a0 a0 20 a0 a0 20 a0 a0 a0 20
000005c0: a0 20 20 20 20 a0 20 20 20 a0 a0 20 20 20 a0 a0
000005d0: 20 20 20 20 a0 20 a0 a0 20 a0 a0 20 20 20 a0 20
000005e0: a0 a0 20 a0 20 a0 a0 20 a0 20 a0 a0 20 a0 a0 20
000005f0: 20 20 a0 20 20 20 20 a0 a0 a0 a0 a0 a0 a0 a0 a0
00000600: a0 20 20 20 20 a0 20 a0 a0 20 a0 20 20 20 a0 a0
00000610: a0 20 a0 a0 20 20 20 20 a0 20 20 20 20 a0 20 20
00000620: 20 a0 a0 60 60 60 60 a0 a0 a0 a0 20 a0 20 a0 a0 ````
00000630: 20 a0 20 a0 a0 a0 a0 a0 20 a0 a0 20 a0 20 a0 20
00000640: a0 20 a0 a0 20 a0 20 a0 20 a0 a0 20 a0 a0 a0 a0
00000650: a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0
00000660: a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0
00000670: a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0
00000680: a0 a0 a0 a0 20 a0 20 a0 a0 20 a0 20 a0 a0 a0 a0
00000690: a0 20 a0 a0 20 a0 a0 20 a0 20 a0 a0 a0 a0 20 a0
000006a0: a0 a0 a0 60 60 60 60 a0 20 20 20 20 a0 a0 20 20 ````
000006b0: a0 a0 20 a0 a0 a0 a0 a0 20 a0 a0 20 20 a0 20 20
000006c0: a0 20 a0 a0 20 a0 20 a0 a0 20 a0 20 20 20 20 a0
000006d0: d4 c8 c9 d3 a0 d0 d2 cf c7 d2 c1 cd a0 d7 c9 cc THIS PROGRAM WIL
000006e0: cc a0 c5 d8 c5 c3 d5 d4 c5 a0 c1 d5 d4 cf cd c1 L EXECUTE AUTOMA
000006f0: d4 c9 c3 c1 cc cc d9 a0 a0 a0 a0 a0 a0 a0 a0 a0 TICALLY
00000700: a0 20 a0 a0 20 a0 20 a0 a0 20 a0 20 a0 a0 a0 a0
00000710: a0 20 a0 a0 20 a0 a0 20 a0 20 a0 a0 a0 a0 20 a0
00000720: a0 a0 a0 60 60 60 60 a0 a0 a0 a0 a0 a0 a0 a0 a0 ````
00000730: a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0
00000740: a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0
00000750: a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0
00000760: a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0
00000770: a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0
00000780: a0 20 20 20 20 a0 20 20 20 20 a0 20 a0 a0 a0 a0
00000790: a0 20 a0 a0 20 a0 a0 20 a0 20 a0 a0 a0 a0 20 20
000007a0: 20 20 a0 60 60 60 60 a0 20 20 20 20 a0 20 a0 a0 ````
000007b0: 20 a0 a0 20 20 20 a0 20 a0 a0 20 a0 a0 20 20 a0
000007c0: a0 20 a0 a0 20 a0 a0 20 20 20 a0 20 20 20 20 a0
000007d0: a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0
000007e0: a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0
000007f0: a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0
[...]
--
Send mail to fadden@fadden.com (Andy McFadden) - http://www.fadden.com/
CD-Recordable FAQ - http://www.cdrfaq.org/
CiderPress Apple II archive utility for Windows - http://www.faddensoft.com/
Fight Internet Spam - http://spam.abuse.net/spam/ & http://spamcop.net/