[comp.binaries.apple2] 6502 Visual Simulator for all //s

dpalermo@aludra.usc.edu (Dan Palermo) (10/16/90)

   This is a small (but interesting) program that I picked up off a bulletin
board a while back but thought it may still be of interest.  It will take a
program, piece of code, or just start from an address in memory and visually
step through its execution.  Might be helpful to someone learning assembly
or maybe even as a low-level (where does my program go?) debugger.

   The BBS didn't have any docs for it nor do I have any information on the
author, but it appears to be public domain and I am fairly sure that it will
run on any //{+,e,c,gs}.  It is a bit fast on an 8MHz //c however ;-).
Packaged with binscii but not shrinkit'ed.

PS. This was meant to be run from DOS, but will function from Prodos basic 
  except that it will crash into the monitor when you quit.  Maybe someone
  out there can patch it to alleviate this minor problem.

FiLeStArTfIlEsTaRt
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789()
KAPL6502.SIM    AohUAAAAAYw4PIAQ1(EAPZxDW8QtAohUAAE8
N2YqgIAAgAUngkEJgEFfgwPWpufOlU4BgCUqXDCioDiQZArQgCUqXDyQoDiQVDrQ
8jFIDoOIgCUqXzEfKBiQIwUQN2IQV)81gSMzV)c2JzMogW8yg(M1FT90UDK0PLNy
Ifc1OHMoIT9zNKdxPLN0BL9xoCazO)a2g(bqE2IAOXt0MXMyN(MzD3IAOHMygW8x
gOM0vmNq)mqzAAAo5ACAYBy(AkK)(vIIgAQqp6fllUIBgGUqXDiZoDiQCBpQgGUq
XDimZAiQqDyQBl6AgELotK01NOA2NCk8pCE(A0YjAkqA(vIIgAQqp6flYDaQCdNI
qOXr9rNIqKXr9rNIBtATgGUqXDC9oDiQMArQgKUqXDyIoDiQzApQgKUqXDCV53qQ
b24A63KQc24A3kKQDkfjNGUqMNg(Y)fWAtZrDkfjAxZrDofjIBUqIdQqgKUqXDSe
rCiQAAqQAAQueAQmBAQufAQmxDNiX3IYMX9zZDKxgW9zLnMzUDaxMD6zEH8zgGMo
PLN0BL9xG3YzN)s0JTMogu80vmNq)mqzNCAoOXcjSXM1SDNoSf8zg2cwNHszgqbx
E2IAPzswAQcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCAAZ3IASX9zSDNo
Sf8zg2cwB)MzEXMxUHMogCquNCApX3YjMX9zZDKxgW9zLnMzUDaxUD6zFDd2OnMo
PPdjgWczE)8woCaxO)a2g(bqN2IAV)81gSMzV)c2JzMogW8yg(M1UX80QXNoOHMo
S3Y2JfcxFT90gOt0vmNq)mqzNCAoZTdjgWM0O)8wPLN1Z3KzPTNoUPNoULdwSTNo
JPcwueszA0YjB3YjXDK1UHMyEHMoFLNxgO90g(MxV)c2BfNogStzg(M1HXswN6cy
BLN1On8wg(7xpCAp8X4AFCQq9UIPp6fh)XIgD1CI9CgoKEEuKogCqMAomwjJQgYP
kjO(qDp)(TIYg(fh(HLAgYA8I3f7gZP09zAIwndyOnMBIVP093OI9zAIw3YyIm8F
oVP0ggYqp2f7tDCoIma)93OIChOTZnMadAKYpyPh4mJoQgYQAkq(F6fhoRy)9zAI
QCaykg0MUAx)QCbyHn87JvOsGApuJfQ6hDpum(QK42p)(beQtDCa8Te)gENkJ3PD
PAPiQ3YyImc9JfA8(Cdj93OTw7vpIm6t93OIdCaqgEEup2f7tDCi(bc)AEKEM6IA
Ny4Qpg0QpjzfEBJIg6dhoHLAIXehFiesfX45iCQqmowBfbQ1YcAkQ6dZVbuAvDhy
oXGGmLAkphR1UXIBllepVXY1EJLIE9AINyKaM66Q4A2QQie6Gk88K8OsDlqqXnKS
73LS9i0QINk(EFDYPRkDEdGRFQ0cAkKRFCehQxU4CAKRYAepFiecCAJ4lGu5vAf4
YAepJXeZmAZGFCQqgXY4EBFTlKAoxjD4gXI6GLBsOAR4FGQqYka4gAehMREagRkM
lOAoxhh4iXI6lhAsEA75QGcyAkK7gJehlOAoxjj4yDJ6gJehNaepiSEgAk6HAkJq
QjIIA6u(QoMRgXI9FGehX1q4S1KwQ1KwU1KwmXKwQDUyV16AHAGw4whDAAOcAAKU
gCAAvyIARTIRlCNhhbK4ieA8QbIEwlOOdXgoIQkpoEtJ9PAkKTkpJFPEphx)s04B
JkWRNWe5lSEslhR0x2I0iXKRlOdhHky0FqgCTXa0KpkSpgkSRXwAFaeBIgW0qqkS
ExavtpGKFSUsvyK0UHLRgKdhQHLAFxCr4WupqBAUqpmaqpmaCAjyqJtB3DBiRisa
woM0xisEGoG0Qos0w6q(KrGRRyPETbO0E9q7E9arQfexFAmkJYACAAAAAAAAgAAA
gACIgAAIQBFAAAAUAAAA4DFUQhPUgAAUwBKcgAHKIDMAABCEAgBmgCKQQiKQQAAa
AAEIAAAAgABAgACIAABIgACQgACIgAAQgAHqggKcgAAAggPIAAAIAAAAAAAAAAEI
4DAAAAAAAAAAAAAAAACAQgAAACEIwBAAoiJiwhIygBCAgACoAgPIIgIcACGEwBA(
wgAiwhICwABA4DJUAABEwDI(IiACwBAcwDIiwhIiIgPAgABCAACIIiIcIiIcwBAc
4hIiwhICAAAAAACAAACAAAAAAAAIQAEIACEIQACQAAAAAAA(AAA(QACQgABCwBAQ
wgAigAAIICHAQiKmAgHgIiIcIiI(wDAiwjIiwjIiICHAACIgAAHiIiI8IiIi4DA8
gDIg4DIgAiPAACOgAAIgAiIcIiImICAc4jIiIiIiggPAgACIAgPIQABOQCBEICAY
ADKkICJoACIAACIgAgPgoiNiIiIiICAiYiKyIiIiICHAIiIiAAHiIiI8ACI8wBAg
IiIioBJqICPAICPiAgIiAiIcIiAc4DAcgACIgACIIiIAIiIiAAHiIiIiQhIiICAI
IiIiQhKqIiIAQBCUAgIiIiIigACc4DAIgABC4DIQABHAABEQAAHQABIAIABIwBAA
QABEwBBEAAAAICFIAAAAAAAAAAAAAhPAAABIAAAAAAAAwBBYAgGkwDIgIiIiAAA8
ACHAwBIgIgAAIiIeAgHiwBAAAiPiYAAcwBCIgACIAAAAIiIewjAewDIgIiIigAAi
gAGAwBCIAABAQABMgBJEICIgQDKkgBAigACIwBCIAAAAoiK0AgKqwDAAIiIiAAAi
ICHAwhIiAAAAIiI8ACPi4BAAIiIiAgAeICPAACIgAAAAwBIeAAPCwBCAgACIAAAG
IiIA4hIiAAAAIiIiAACUICAAoiKiAAAUQhIAICFIAAAAIiIiwjAe4DAAABCEQAA(
ABCIQACIgACAgAAIAACIgACQgACEoBAQAAAkAAAAQhKAoCFqAgKUFUQBwBSBgAH(
4DHOgACcwhPewBCI4AH(4DHIgDCewhPcwDCIgAH(4DHIgAOcwjPcwBCIgAHe4BHY
gCGcwjP8wBCogAH8wDHMoADc4hPewDKKgAH(4BHYgACcwhHcwBCAAgH(4DHIAgDc
ggDAAAAIgAC44ACIgAAAAAOIAAAAAAA(gACIgACIggDIgACIgAC4AgDIACAAAAAg
AAAAQAB8wDBEQAAAQABEAABEAABAAAAAACAAACIg4DAgAAAAFCSq0Bi5AAKRMtRu
ieB8bkLAw1JTojcWQSA4IhJ9ZRHIQjKapAC5MlqWgQEopmVEY1oTn1ITP2ITvlKT
MlVjNybqpyEkYBKTZFBIgyUqRAyjzlaWMhWjpegonBKTZFBIMhWrJkGGMhWjtDhy
N(cqNyEWNy0Zpy0jZ14YMmKTMBZjgyUqRACWMlaWg8IopmVEo14ZEIKTgyUqRAyZ
o1aWphBTo1YCQrMTeAS7klqWZNTjNuUqgkFNgk1FwnVMYg5DZNTbZNTju7OkQnFN
pAS6AAqWE6Ph7T4)5SAoZrEywrEzEndNmAtSKlculufhgXo)F(fp5kq4D5IIF)fp
OA)(FWQ67X8)lCOs)X4(5qN0FqEzNnr))XoSIjMy8BMyguLk(TIAKpcuK8EM5qqC
FqEyJnL4J3tS)AtS9KehFqEygX8(p6vZOCCO(TyQl(AMpjD4gXoCwvfxqDrDlaAk
7XM4lKOkgX4(G0RqIpi)KpcvwimC4kqAD5IIIjMyECMypSKkgXISFGUq2kq4D5II
a5BIgAooi6EncCigBIqTOxJIJAO6ghPkBgIjIuaA3iAAIMwfBu3tZd7E3eBgLEoS
AG0tzcbD3yQgSAYKByxtRcbEJTBgAVgSHMj1BhUBIBgBWEYKACCSRgEGWXRgEkAH
IkSk7p8AQewACoQEQEBTpMlA1NgDBSQWPAyPImjBIJoGBkBidkVU)dSgnIYHbEYW
d40JfQFgICAIA8xHVhk0QwFtfTDXx8tGW)hCHSLhaRkHH6BWOPhCC3q1TQCAanMx
LAwwgCNLhT)0zXP9FtAAAMM0BvERyTO5zPf5lLNozn(5yXO9UWBAkTewzXu8bBw8
l3May)e7UCQ(MH8FvBQ1jHcNtX)4hze9y)O9U6KA0HOxmDQ40PtkrPe4bIPAyDK2
uee5yIPAyDa2uee5V9NAjXOxlT(7oCg8lb8ooPO9wiKAljfx0X)4DAQ5yDdqzPf5
QPNoFPcwzyAAg(O91HO8AU(8z6BAg((5A4(7LoBBjYFPY44C2UwPFMFVCihcZbTB
rPQFDwS2C666MD8AIswQJ4poWBg0IkjMIkjCExjC9QERDtACDtACv5EA4gDN4gDO
4gDO(gDOz5EACJUOCJkQCJkQAJkQIgACIgACIgACIgACCljCCJkQCFkQCJkQOBAQ
4YDv4gDO4gDO4gDOpCwP)X4)g2fhKnLebAjSKtcuQzax(TICQ8PJ)ToDQ3ax8TIC
Q0PJ9ToAIiIiaDBiF(fqBA6(1Ggo5jj)wCA)5ijB1DA)7Xs)FaAsma4(KfKhIWOE
mCOEnSqpAwfu1WahmWo)K3rqKogSgcahk2UWmScp5SB8KokyuWoCE7KpIAtpFWap
Zx0pmCWTI3rpIntSWAtSKlcvKlc2wOQq8nqAFeaZZBypXwUTJ3bTBlsSpmO0ljDT
nWopNlFINdBTkaqpKn7poWoSKhcv44fhKhc(paA8CAZAF(fqJ3rq)XoSJnPOGAvS
QGQq)nqAQvahInrF0AsSkQA8fABqqWOOqWOOqWOO5SB0ArUyEAPNQgKJljTCljzq
ljzq7X4qwTD4K3rICBhSpkqSwrKpCARJFySq6BSqpauTORGIgkq5M5EZp6UApWYM
OpHIQvKppaM6g6A0CArIkYCoCAxqEiMykBSqpasTORGIFCSqkBSq7DtTwgapnS6H
wTDw4A6DQrapEicA6BSqfxkTzIqTQvapvIKEkGC0RA9qG5ioCAJqGuiokBSqpasT
KMB0hkgCqSQSCAPyGiO6kBSqpauTORGIFCSqkBSqnWqTgZahZZDIwraplhBC(Xo)
IANSY8fpFuaZli0)gXo)F(fppAi4pWqWD5IIa5BIgygoQjIAQrc)Fjm(KC2(QigC
RkmAMlLqgX4SL1UuoIehgLCs8A5AwfA4CVbKwbA4GBSEDAeUpWN0gXIXFiSqFVq4
RRGToqgiA0TuRZEIAwTuRZETImEpp6Ph)XYAFSQqUAN)QHA4AVKaFSQaBVq)FCQa
Ik6)lyfhliE4GBy)(XaURZEIYAepFyQa(TK4w)fpBk8DgaA8(HLA5iAsw(BAAk7A
ggkHoFlRALOpCA9hpqUhOCyCFi2QAkK4gHehJA)BQ7fp)bsAs4vxG7v5oCN)HAOY
g)E8MBvAIogipJAk5iaEFuETNlL4iX4SgAaqgMkjoMkjgYAkMNkjgPkjSAvBQPA4
cBKIgCOhiTIKD5IID5IID5IID5IImDu5DAK4D5II6DBiHkKYP5LIgARqp(kviXYG
FSVqgmK4D5IIEyFoKDN4pYQpqp0AJomaj3YBliwTogESk8ZpFVIoFiGCGYGSAkKK
g6ZhsA9BgAAopCV4sWoBFKQqeCSrIVKTliEClhynFiAogWURF(ZRFimngiCShDiB
ggMUgCV4hDSA8TIU)TIiFeQqeWq4wzfJGQCDOPAEkCF36Cy)EBCUokqWlKeh)TaR
QVLIG8v5WDJ)pgUp(XYAFpmSWAhBldVqc3o)HkKU4IehggAopCluc3IWpCGUiXIE
IAKOQVLIgAAopCV4sWoBFKQqeCSrAmKTIYQhIhUpfWKKFCa5ohQRogUhF9ZpFVEo
M5ZhiCFHc7IWIhAU9XIm9XmCK8fSAnYaCAJCALQ6CAJBFKQ6ogG4QgoaYlK)OykK
(T4QAXRqDALB4YRqG4f5ljj)tpg)FuEWZ1K4iX4SMBaqiOkjsaIgtaI6M5JIFyTp
9UqPi(ThcCSgsaoTGegoeCSr)UKTY1PIg4TpiiV)exUgg16TgX4SLFWrpKehOCCo
OCyQ(U6QKpESJrkSCApCpZQaOCCMpg2QKk8DpJAkwkmBD5ITKcAoYkKSOCiKEA8Q
mTA0gbO4QgIaAAG775ouemaUZFXjZRHIX9OIYVBIFiQqAlKrg0ahlyknOCiSGUI(
M1KqgX4SL1Ur5KehFmPwAk7)(Xo(iKAoAkKBm4vJKry)phPEOCyvQg4QgmK7D5II
g6SpmmdDDAf(4DNiYuEhoqgC5OgogIFiIPkj2DhyFCQqEBS4JDiWrmaWZFXjZRHI
iyAoGUKBA3NylBvUF3NifBvUxDhyhkMiIeF8wiTyJjoUNB)EwXRy8nSSwjSyJj4Q
(APMGUKibksSIaD8wHRyliYMUksBpSA0GUYJJ7eKgAPJGUKiQzSyVkKBpYQhRA)8
RkMiIyA8wHQyli4BwqkBYiYA5iqCNKly5KVgNK1ygIlggIFggoFRMlVypHFgu2e7
hDv(iH(5g668gCKogCKosiKoomK(5zaq4zKJkQCokgPr5zKJpCKqsSCogCa(gCKo
tACE(8iLYcCHSduJBOFSTN7UtPF2U5xUpRVSVFDVcU1iWdlVgZF5X9OIYVBIKZQp
qqkSTRUvwjUJqD5AnDLLGCooGiOreCSr8UKTl6Th)UYPgEoop6EnsWICgEYqlykn
KRiPYsAMFqUZNApPw(j5lhRC(UoSGLAsEByPBKqWOxJIUtCTBAEgGUqAQfRyTkqA
KpkS8qKCgMVfpCV4qgDA8DBiF4fhwiCS(XkApiUhsWIQFaQqeCSrGIKTOxJTGIAA
GU6AKpkSiqECCA7AoYgoGKBkeBSrrDyTtaKWgIUlMxknGWVUHkKrg0ahmyknCVLr
Y1PTGZgRGYkBqIQqqGQSGJk9EArBWLk1taoQFCUqeCCrEBCTRxkWGUaV5iqSINl5
TVeusDGSXJiVMdlLeByVGU6VpQgoBANEGYE6KyAkVACSqiGWMpUpGW1RIkKr12ah
KVoQM5JIgggoM5EnggVNGhFiGApBY1MIYJKIF6Tp)UKPi2ThsaYgtaoyP5FIM5JI
gAooo7EnP5FTX5FIYVBIGpkxEApBmrk5EBiSIIqWOxJIYVDIMhgopWlWsW4Aw7Sp
eBSCVAyVmhDWCkqLg0ahmykneBCrCV7Ti(ZhibIEGylokBC4GYUUGZAsIZASgyAk
hDCAGkKUgwahiyknibIEKhUpggAogCVthDCAggMUgCV4hDyBEBCUqkqWQagRqlqA
UpdjIVKCliCSFq2nohwniiUhibIEgqEK1CCCclKUlCehkBynEBSUCIqWVBHIGKgo
uQCrpSBMtW4AM5JIF(ZpDIaROxJIexkyIk6Tg0ahlyknKV4ngggoi6EneBiA1w0T
GUKWwCSypp0AmkeH)5LqsaYV(KUtGWVhCVZrP5FIM5JIg0qpg7EnkArBgcAogCV4
hDSAliAUogESIIUtIVIasaIKFaQqeCSrGIKTOxJTDUAYDQABFMwBEcwAeBCBGU6V
ekkSiWA07z0AFV6Ui(ZBtaoAsaI6M5JIFCRqclq4lCehkByngmaUPFJIYVBIFqUp
CIKog0qhpykniXYGFyVqgWK4RRGIpYQppi6BgXIVW5QuD5IIAHgoEA5AoHA8KqMJ
5iqCNalF5W1)Na1FgYFAiWl)cCyAkBiTCIaVP5FT(7t9AAwqP3KAPZ)TlCFfBlgB
laQhggURoV1iiWUhcCyAHAqTQFOIhDCiIVKUF(TKKVKSFAcKIVISFiQqGkKrg0ah
iykncykBKiuTphhSgg0AodlXpyahtWoAM5JI1yqpfWoQGChocJq4gAuh4EFZggAo
gAVtpiVFtWoAM5JIFqUpZIKoiKuhgbIXRRGIFSVqtmK4D5IIIVUpFCaqRCiBliwT
ogESF)Zp4gAoFCa5ogWRliUhgW0nFWURAAqnQFOIgcAoiClIkByAFiWVDIaROxJI
exkyEByTEBiWExkWvDiWIV6VFCRCGIKSOxJIRNAIgYgolO1oEkASiiUh)Y4)(Yoy
gEoog4EnggVzggloiS1KcykBvDiTDAyViCSUrwEWGIKVTFJIGGoorDSr(UIWYtOI
g8ThiykncCSgrwkT0ACV8Y(VmLA0EBSPAKqWOxJTw6iRICCLuUKWHkiSJ8B8GqKB
CVLr(UGGQ6Th)YuAGGooeCSrEBCTBKqWOxJIY1MTX9OIJ7SpXBPEHkiSg4ShiiVF
taYgM5JIFqUpAkqPi(ThcCSguUqTJTN8fA)AJUQKGqKBCVLr(UGGi6ThtaYgM5JI
aREIgEool6EnCkiLg0K8ggVzliloDksLiGK0BCdB8UKYlCUhBVYPGCooCKKrg0qh
g8kXmzknCANPi2j5cCigAKqTOxJTGKooBkKrg0ahiykncCSAsaoTFiQqeCSrIIKT
Mxqhi6EnsaogGGgoeCSrKVKTBIKSOxJIGigoeCCrkiGTaAfQwHAweAsHAzAkgApW
kaA0SBMQgiBkAFJAkKB8AkJQAykHARKWfAQmgcgog4EniqFRcyUAvDiTVAyVBmKW
g0ahlykn(UoSRJDIX9OIYpLTYVBIFGYqeCSrKVKTg4ThmHlMCKKQOxJIYVBIFGYq
eCSrKVKTi(ThcyUg(UqTlCUhBV4PGGooGiOreBSreCyTCKKTOxJIexkyJZ(TGego
cCCrEBiTJRqWfAQuJRKYfAQmgcgoG7EnEBSSHIqWOxJTZRTjZNDjg8PoFmVMxAC4
iXYWZFDIgYA8MNkjFm1IIDW4ABQutiEYQAMAQwSLbmMwJjC8iANopiEmTAKTZFBI
ADQrssPEJDMEPA)mQDayMlK8gcAoolVEghGqRtnrAAmmAAAAalCIZBXrtCehYkVc
IRQapKehMASOw1qWgXYWZFXrsKehpmlctDCNw1aWgXYWFCQqx1a4phRWiXIDZJHr
gYTqtmV7Fm1cFiG45kq4axAIFCQqewU4ClqWZZYjZhZjZFbjZ5bjZRHINmTqNmlh
pmlvY2IN2kaWZFbjggEYJPkjCALQggTqIOkjtqP0Fm1cJjG4CALQMFQaINkjD5II
ggQqpOkjOCiCMh2QINkjFOWqFlK6olehpiEYoX4ZFiUqghW6ECuhpiq4OCCoQj4Q
hTo(AJKYgAAoImlNKrP0gdP0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AIew