A 6502 Simulator Mystery - Solved!

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 มิ.ย. 2022
  • For a while now I've been looking at a nifty little 6502 simulator which has been available on the Apple ][, but was uncertain of its provenance. I began this video in the hopes that someone could identify it, but while making it - right as I was about to publish it! I stumbled across the actual answer to the mystery. Here we go!
    On a related note, check out Curt Sampson's excellent blog article "Going Back to EDASM, the 1980 Apple II Editor/Assembler", which discusses one of the other executables on the same disk.
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 171

  • @Barnaclebeard
    @Barnaclebeard ปีที่แล้ว +45

    Wow. I can't believe this existed in 1982 and nothing like this became a part of everyone's 6502 educational tools for another decade or two.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  ปีที่แล้ว +9

      I know. This would have been so helpful for me back then.

  • @RussErickson_v1
    @RussErickson_v1 8 หลายเดือนก่อน +16

    I worked at MECC when that was built. My recollection is that it was written by Anders McCarthy and possibly with the help of Eric Rantapa. It was the best of times. We had a cadre of young brilliant coders with a love of technology. I learned many amazing things from those days. They were mostly also attending UofM and way ahead of where the college curriculum was.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  8 หลายเดือนก่อน +9

      @RussErickson_v1 thank you so much for chiming in! If you have any way to reach Anders or Eric, I'd love to reach out to them to interview them. Let me know. Best way to contact me is to reach me on Mastodon at @peterb@mathstodon.xyz.

    • @RussErickson_v1
      @RussErickson_v1 8 หลายเดือนก่อน +9

      @@TeaLeavesProgramming Eric is still living in the Minneapolis area. I will pass along your contact information.

  • @henrypile2385
    @henrypile2385 10 หลายเดือนก่อน +16

    I can confirm that the 6502 simulator existed in the 80‘s. During my time as a student, around 1982…1984 I was lucky to get my hands on an Apple ][ owned by the university and also came across this really amazing piece of software. It helped me in understanding machine language and not much longer I started to write assembler and BASIC applications for the Apple ][. Memories, memories!

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  10 หลายเดือนก่อน +1

      That's a great story, Henry! I'd love to hear about what some of your applications were, if you're willing to talk about them.

    • @henrypile2385
      @henrypile2385 10 หลายเดือนก่อน +3

      @@TeaLeavesProgramming I had a project to implement graphics characters in parallel to the normal upper case character set of the Apple ][, like the ones used in the Commodore machines (PET, C64, CBM xxxx). For this I wrote a BASIC program for creating and modifying the Apple’s character ROM contents (a copy in RAM of course). In the end I could burn an EPROM that contained upper/lowercase and graphics characters much like Commodore machines. Then I wrote a machine language/assembler routine that parsed the BASIC command input of a running program and intercepted the „GRAPHICS“ command that enabled the changed character set - voila, graphics on the text screen! Wrote some BASIC games as well, like a „Sokoban“ clone, using my enhanced graphics charset, so it was just for my purposes and would show funny characters on an unmodified Apple machine. The most ambitious project, with some friends, was a modified and enhanced DOS that supported 40/80 track floppy drives and offered a much faster R/W speed. Listed programs could be started by bringing a cursor into the line with the up/down arrow keys and pressing „Enter“. That‘s the kind of stuff we did in these days - was great fun!

    • @herrbonk3635
      @herrbonk3635 10 หลายเดือนก่อน

      Looks like a good system, but I wrote in assembly (Z80, 6502, 8086, 68K) for decades before I understood what a (or this) "monitor" was :D

    • @leechatt9709
      @leechatt9709 10 หลายเดือนก่อน

      I love the idea of the Data pulsing from point to point. I may add something like this in my C64 Blitzmax Emulator which also shows how the 6502/6510 runs step by step.

  • @pablogarin
    @pablogarin ปีที่แล้ว +5

    An ad appear the exact moment you pressed enter on the keyboard, and for a second I was utterly confused and had no idea what had happened. The timing was just too perfect.

  • @IvanToshkov
    @IvanToshkov 2 ปีที่แล้ว +24

    I started programming in 1985 on an Apple ][ knock off (I was living on the other side of the iron curtain). I've seen this, or a very similar thing a couple of years later. Back then I was only programming in BASIC, so this looked like magic to me. Unfortunately, I didn't make a copy and when I started dabbling in assembly a couple of years later, I couldn't find it.
    It is an amazing piece of software and I don't know why it wasn't more popular. Thanks for the memories! :)

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  2 ปีที่แล้ว +1

      I have seen some of those Soviet-era Apple II clones and have always been curious about what it was like to use them. Thanks for the reminiscence.

    • @IvanToshkov
      @IvanToshkov 2 ปีที่แล้ว +5

      ​@@TeaLeavesProgramming We were using Pravetz 82 and its predecessor IMKO-2. As far as I know they were pretty close to the originals. I think even the CPU and the other chips were full copies, but manufactured in Bulgaria.
      They were pretty expensive so it was very rarely people actually owned them. We had to go to schools and other places to be able to use them.

    • @MichaelElfial
      @MichaelElfial 2 ปีที่แล้ว +1

      Yeah I remember those times, I was obsessed with machine code, knew the instructions of a few CPU-s (6502, z80, 6800) as codes - crazy times. As for the simulator, I am pretty sure I saw it in the mid 80's or at least something looking quite similar.

    • @YUPTHATSGOODSOUP
      @YUPTHATSGOODSOUP 9 หลายเดือนก่อน

      To Keep the population dumb

  • @galier2
    @galier2 ปีที่แล้ว +7

    This simulator dates back to the '80s. I had it and I did Apple II stuff just until I got my Atari Mega ST in 1988.

  • @MikePerigo
    @MikePerigo ปีที่แล้ว +4

    After over a decade of watching 8bit retro computing videos on TH-cam, how have I never seen this before? Since I finally got the recommendation you get a belated sub. Looking forward to catching up on the rest of your content.

    • @peterb12
      @peterb12 ปีที่แล้ว +1

      Thanks so much for the kind words, Mike!

    • @TymexComputing
      @TymexComputing 10 หลายเดือนก่อน +1

      I have also just subscribed but not for the content that i dont know but for the correct approach in solving mysteries :)

  • @cigmorfil4101
    @cigmorfil4101 2 ปีที่แล้ว +11

    Interesting...not quite emulating the 6502 properly.
    Once the LSB of the address of LDA $0800,X has been loaded, while the processor loads the MSB (08) the X is simultaneously being added to the LSB.
    During the next cycle the created address (read MSB plus modified LSB) is read whilst internally the processor checks the carry flag and increases the MSB if necessary. If the MSB was increased the read data is thrown away and the read of the correct address is done on the next clock cycle.
    This is why crossing page boundaries on reads take an extra cycle.
    On a write to avoid potentially splatting memory the 6502 does not do a write before it has checked the carry flag (it possibly does a read) and so a write (on an indexed address) always takes the extra cycle.
    Being little endian it means the 6502 can start modifying an indexed address whilst the address is still loading, thus improving efficiency.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  2 ปีที่แล้ว

      Thanks for the color on that!

    • @michaelbauers8800
      @michaelbauers8800 2 ปีที่แล้ว

      Wow, you know a lot about that old stuff :) I built a simple, 5 bit CPU in the PC program Logic World. And I gained a lot of appreciation for the skills of early microprocessors designers, working out all that logic, with no assists. And getting all the timing correct, etc.

    • @cigmorfil4101
      @cigmorfil4101 2 ปีที่แล้ว +1

      @@michaelbauers8800
      The first processor I learnt to program was the 6502 (then the Z80, 68000 and GEC 4000 series [this latter in Babbage though I was starting to transition to direct assembler]).
      As the machines I started on had no assembler I learnt 6502 machine code ops and could read/write directly in hex.

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt 10 หลายเดือนก่อน

      Why does the very naming of Endian ridicule this technical detail? All Intel processors are little Endian, too. Later RISC CPUs had a data bus of the same size as their registers.
      Only Motorola uses big Endian for no reason. I mean I could understand if the top 16 bit would be written first onto the address bus, and used to select pages or chips. But why would a page be as large as 64 kB, or a chip as small ( ROM ? ).
      Maybe internet router read the 128 bit tcp/ip address Bit by Bit and can start to route early. But I am pretty sure that thanks to error correction and clock synthesis the physical layer delivers long words despite a serial data input.

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 10 หลายเดือนก่อน +2

      @@ArneChristianRosenfeldt The only rationale I have ever heard for big-endian ordering is that it lets you read memory dumps from left to right. That’s it. They forget that there is no “left” or “right” (or indeed, “up” or “down”) in computer memory. And really, little-endian layout makes more logical sense overall.
      But as a result of this early prejudice, big-endian layout has become baked into our very TCP/IP networking protocols.

  • @HAGSLAB
    @HAGSLAB 2 ปีที่แล้ว +2

    Hi! I just came across this video and your channel. This program is very intriguing and looks awesome! I'm more of a C64 guy, but this program could have been very helpful to me in a lot of my projects. Obviously there are some great modern tools, but it's fascinating seeing an old tool like this. Thanks for the great watch. Subbed!

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  2 ปีที่แล้ว +2

      Glad you liked it! I don’t know much about the C64 but it seems to me there’s no conceptual reason a similar app shouldn’t exist there. If you find one, please let us know!

  • @markjones5973
    @markjones5973 ปีที่แล้ว +5

    I saw this program back in the 80's running on an actual Apple IIe. I don't know who wrote it.
    A few years ago I wrote a 6502 emulator, and then when on to write an Apple II emulator on top of it. Once I got the graphics and the Disk II emulation running, I went and found this simulator and ran it. I realized that I was watching a 6502 simulator running on a 6502 emulator! How meta is that???

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  ปีที่แล้ว

      That's awesome!
      Was your emulator ever released to the wild?

  • @Commodoreretro-programming
    @Commodoreretro-programming ปีที่แล้ว +3

    Impressive and funny. This 6502 simulator clearly shows how 6502's registers work. I wish I could have seen it working when I started to learn 6502 machine language. Thank you!

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  ปีที่แล้ว

      You and me both!

    • @malingeorgiev2962
      @malingeorgiev2962 10 หลายเดือนก่อน

      I was student from 1984 to 1989. Probably second year in university I saw this program. For 5 min. I learn as much as 5-6 lectures for computer CPU's.

  • @DanielBarnes-gw4jt
    @DanielBarnes-gw4jt 3 หลายเดือนก่อน +1

    This disk is listed in the 1986 MECC catalog: Apple Assembly Language | Advanced Programming | These comprehensive materials provide the basis for an introductory course in Apple assembly language. In addition to lesson outlines, handouts, and 36 sequenced student exercises, this package features six utility programs to aid the beginning or advanced assembly language programmer. Among these utilities are a powerful debugging tool and an animated simulation of the 6502 microprocessor.
    Apple 48K*
    No. T-691 .................. $49.00

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  3 หลายเดือนก่อน +1

      Yep! I have been unable to find a copy of the actual instructional materials - a few libraries had them, but no longer do. And I found one person online who had been selling a physical copy years ago, but I was unable to connect with him. What a shame.

  • @michaelbauers8800
    @michaelbauers8800 2 ปีที่แล้ว +8

    I imagine some people wonder why anyone would care about such old tech. But the beauty of the Apple II, was you could understand everything it did for the most part. Read the Reference manual, the DOS manual, and other manuals, and you know what it's doing. I am a software engineer since the 80s, who got his start with time shared BASIC and Apple II, and since then, programming has gotten increasingly black box. In fact, the HP 2000, not sure?) Something doesn't work, and you don't really know why, you can't necessarily debug what's wrong. I think some people love an environment where you can still understand what the computer is doing. Consider a modern Windows computer. You type something into a console window. And it seems simple, except who knows how many APIs, system calls, device drivers, and whatnot, had to happen, just to print out those characters. I often thought it would be interesting to write a book whose only goal, was to explain what happened, when you type in a command to the console, in terms of how the characters are displayed in the window, programs are run, and output is funneled back to window. If you understood all that stuff from Windows calls, lower level system calls, device drivers, etc. you would understand a modern computer really well. But I couldn't even write that book with my current knowledge ( I would come closer, if it was Linux.) Anyway, my point is even stuff that looks simple, is due to a complex pyramid of code on top of code. Where in the Apple II days, much simpler. Harder in a lot of ways as so little code was available to leverage, but also a lot simpler too.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  2 ปีที่แล้ว

      Thanks for the insight.

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 10 หลายเดือนก่อน +1

      Or consider the Raspberry Pi, which is probably the closest you can come to that old-school hacker experience with modern technology. Everything about it is based on off-the-shelf technology, including the open-source Linux OS.
      One major improvement, though: instead of typing in BASIC with line numbers, you can type multiple lines of code in Python and other languages into a Jupyter notebook. That is just as interactive as any vintage BASIC interpreter, and more.

    • @michaelbauers8800
      @michaelbauers8800 10 หลายเดือนก่อน

      Some very cool stuff is out there for people to play with@@lawrencedoliveiro9104

    • @anon_y_mousse
      @anon_y_mousse 10 หลายเดือนก่อน

      @@lawrencedoliveiro9104 Yeah, but you can always use a better language like C and one of the C shells if you want immediate interactivity.

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 10 หลายเดือนก่อน

      @@anon_y_mousse Speaking of which, you can enter and run C++ code incrementally in a Jupyter notebook. Not sure if a C kernel is available.

  • @buffer0xaa555
    @buffer0xaa555 2 ปีที่แล้ว +1

    This channel is a gem keep it up mate.

  • @sanderbos4243
    @sanderbos4243 10 หลายเดือนก่อน

    Awesome that you managed to solve the mystery at the last second!

  • @lostmyhare
    @lostmyhare 2 ปีที่แล้ว +3

    Sure looks like visual computer 6502. Looks exactly like what I remember from early 80s. I loved it as a kid learning to program.
    Likely found on some pirate board, I don't think I ever saw the retail package.
    You had me laughing when you couldn't use assembly. I had no problem reading the hex as you typed it in... decades later and most of the machine code hex values are still available.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  ปีที่แล้ว

      It does look like that, but is actually a different package.

  • @jselectronics8215
    @jselectronics8215 10 หลายเดือนก่อน +2

    I got my programming start in 1988 with a surplus Rockwell AIM 65. I wrote an algorithm to detect engine knock from a knock sensor. It's still in use today in all my ignition timing controllers. The target processor was the MC68SEC811E2FN, which had 2k of securable EEPROM. I had a "Fat Mac" and used Red Ryder to communicate with the 6811 dev system. I eventually ported it to a 9s12C32. I'm still using assembly. I have tried a few times to learn C but always give up.

    • @davidrush4908
      @davidrush4908 7 หลายเดือนก่อน

      Anyone with assembly experience should be able to pick up C relatively easily. I would recommend starting with procedural code and not initially attempting event driven code like Windows.

  • @LadyNicola
    @LadyNicola 2 ปีที่แล้ว +2

    Wow. Seeing it in action, makes all that learning visual. I gotta have this. 😁

  • @denismilic1878
    @denismilic1878 2 ปีที่แล้ว +9

    I'm c64 guy, and I like this symulator a lot.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  2 ปีที่แล้ว +2

      I would love to learn more about the development environment on the C64.

    • @AdamSommer70
      @AdamSommer70 2 ปีที่แล้ว +1

      Would be super cool to port the simulator to the C64!

    • @MattKasdorf
      @MattKasdorf ปีที่แล้ว

      @@AdamSommer70 And the PET/CBM.

    • @williamwade8119
      @williamwade8119 10 หลายเดือนก่อน +1

      Maybe this is something to show The 8bit Guy. He has written a bit of code for the C64 and this might be something he would tackle?

  • @LiamDennehy
    @LiamDennehy 8 หลายเดือนก่อน

    That's beautiful. I can imagine this running on a monitor in the background of my office because ... it's beautiful.

  • @nesa6582
    @nesa6582 2 ปีที่แล้ว +2

    I think it was me asking about it few days ago. Thanks for quick video. :D

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  2 ปีที่แล้ว +1

      Your question was absolutely the inspiration for this, so thank you!

  • @TechCowboy
    @TechCowboy 2 ปีที่แล้ว +3

    Wow! I'm impressed. I will use this when I create a new 6502 tutorial.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  2 ปีที่แล้ว +1

      Excellent - please drop by and link it here once you go!

  • @jasonblewis
    @jasonblewis 2 ปีที่แล้ว

    Nice find! Thanks for sharing!

  • @deangarbis8284
    @deangarbis8284 8 หลายเดือนก่อน

    Great video! The size of each file in the catalog is reported in sectors. In DOS 3.3 there are sixteen of them per track and each holds 256 bytes. At 35 tracks per disk that's 143,360 bytes or 140 kilobytes per disk.

  • @AdamSommer70
    @AdamSommer70 2 ปีที่แล้ว

    The simulator is super cool!! Great video!

  • @stevepreston7879
    @stevepreston7879 10 หลายเดือนก่อน +3

    Dan Patch was a famous harness horse from the early 1900's. So I'm guessing the name was used as a pseudonym for this program. Side note: He is referenced in the song 'Ya Got Trouble' from 'The Music Man', which is how I have heard of him.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  10 หลายเดือนก่อน +2

      Yeah, I think in retrospect this was a pseudonym for someone who pirated the program.

    • @dnwheeler
      @dnwheeler 8 หลายเดือนก่อน

      Dan Patch (the horse) was from the Minneapolis area and that name appears in many business and street names.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  8 หลายเดือนก่อน

      Thank you,@@dnwheeler !

  • @Kobold666
    @Kobold666 8 หลายเดือนก่อน

    Found this video few days ago and played around with the 6502 Simulator. It crashes when tracing itself (start address $4000) and that ALU line in the upper left of the screen doesn't look right as well. It's my first time using an Apple II emulator or getting in touch with an Apple 8bit system at all, and I was curious to see if this program would port to the C64. The screen size fits nicely, but the Apple seems to blit characters at any pixel position, not limited to the 40x24 character grid. All characters in strings have the high bit set, I ran the program through an AND $7F filter to make all text readable in the hex editor. Other than that, the Simulator calls the dis/assembler in the Monitor ROM which isn't a lot of code (but copyrighted by an existing company). Most of the Simulator code is updating the screen, the real work is done by Woz.

  • @michaelbauers8800
    @michaelbauers8800 2 ปีที่แล้ว

    Wow, that's cool. Never seen anything like that for Apple II.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  2 ปีที่แล้ว +1

      Now I'm wondering if something like this existed on other platforms. Is there a Z-80 version?

  • @ChrisMasto
    @ChrisMasto 10 หลายเดือนก่อน +2

    Ok, this is blowing my mind. I have been looking for this program (kind of) for decades.
    I had something like this for my Commodore 64 when I was a kid. I can't for the life of me remember the name. I am almost sure I got it out of a bargain bin at K-Mart. Every few years I go on a hunt for it and come up empty.
    In my memory, it was very similar to what you showed here. Except you could edit the code in it, and it had sound effects. I feel like I can still hear it 40 years later.
    If anyone has any idea what that program was or any clues, I am desperately interested in seeing it run again. I feel like there's a chance they are related or one is inspired by the other.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  10 หลายเดือนก่อน

      Wow, how interesting! If you ever do track it down please come back and link to it!

  • @philippelewis3543
    @philippelewis3543 2 ปีที่แล้ว

    That is cool. Thanks for sharing.

  • @Breakfast_of_Champions
    @Breakfast_of_Champions 9 หลายเดือนก่อน

    This is great and even passes as suitable for kids. Back then it really took an adolescent to grok it all, but here everything is openly visible and can teach the basics to much younger kids.

  • @perplexedmoth
    @perplexedmoth 2 ปีที่แล้ว +1

    Just in case did you try checking the binary for any ascii strings that might be hidden?

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  2 ปีที่แล้ว +1

      Yeah, that was my first step (but walking through with a hex editor and not finding anything doesn't make for compelling video :-)
      It makes sense that there wouldn't be anything, though - this software shipped in a box, with a 111 page manual, and was expected to be used in schools. No need to be clever or hide messages in that case.

  • @lowlevelretro
    @lowlevelretro 3 หลายเดือนก่อน

    Very cool! Thank you

  • @TheBarretNL
    @TheBarretNL 10 หลายเดือนก่อน

    That is nifty simulator indeed, this would be so useful to debug.

  • @mikefochtman7164
    @mikefochtman7164 10 หลายเดือนก่อน

    Got started in 79 with an 'Exidy' system that used a Z80. Only later in the late 80's did I shift to the 6510 (very similar to 6502) on the C-64. Those were some heady days, going to swap meets and stuff, trading printouts of programs and cassette tapes. My how the world has changed. lol

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  10 หลายเดือนก่อน

      I always wanted to learn more about the Exidy Sorcerer than I did. Really interesting company.

    • @mikefochtman7164
      @mikefochtman7164 10 หลายเดือนก่อน

      @@TeaLeavesProgrammingYeah, was interesting. They put small board with ROM in a case that basically looked like an 8-track tape cartridge. One had a BASIC interpreter but I sprang for a second one that had an assembler/ monitor/ debugger. Power it off, pop out one cartridge and pop in the other. Of course later on that was ubiquitous with Nintendo and all, but at the time it was innovative.
      Friend had a TRS-80 and we managed to interconnect so we could share BASIC programs (with a few minor edits and POKE instruction changes)
      And the old 'Kansas CIty' audio tape interface to save your work. (When I got a C-64 with actual floppies, I thought I was in heaven. lol)

  • @asporner
    @asporner 10 หลายเดือนก่อน +1

    I saw it in high school (circa 1983). A buddy of mine had it. I know he was into the whole Beagle Brothers stuff which I think this might have been a part of.
    The reason your disk doesn't work right had to do with a popular copyright mechanism of the day. You had to boot that disk itself and it had oddball parameters for the disk. So if you booted a standard DOS disk, it would not work because the bootable version of dos on the disk did "the right thing" with the cataloog information. It all had to do with rotational timing, tracks, sectors, etc. Many of the games (Wizardry) had this kind of stuff.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  10 หลายเดือนก่อน

      Thank you for the context!

    • @asporner
      @asporner 10 หลายเดือนก่อน

      @@TeaLeavesProgramming No problem. Yah the Apple II disks are software controlled (that's why there is that head crunch for instance so that it can "find the first track". I am starting to consider doing a set of videos myself (so far I have been loath to). There is a lot of information of the time that might otherwise get lost [I am not the only keeper, but I think a lot are like me]
      Here's another thing about MECC (I watched your answer after I commented and was lazy ;-) ). At the time public schools were getting a lot of Apple ][s as part of state/federal grants but they largely sat in boxes and went unused. MECC (our high school had it -- in fact that disk in question was one of my favorites to write assembler) was a driving force (besides other meager software available then) to get that changed.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  10 หลายเดือนก่อน +1

      @@asporner I can't speak for anyone else, but that sounds like an instant subscribe for me. Let me know when you post one!

    • @asporner
      @asporner 10 หลายเดือนก่อน

      @@NRGYI think you are right -- there were some programs that Locksmith couldn't tackle.

    • @asporner
      @asporner 10 หลายเดือนก่อน

      @@NRGY I know -- right! Do you remember the brand of floppy disks that you used to use? The book store sold them for I think $3.50 each. I know I eventually used Elephant, but that's not what the school sold and that many years ago, I am afraid I cannot remember.

  • @Curt_Sampson
    @Curt_Sampson ปีที่แล้ว +6

    Another clue that this may be fairly old is that the second diskette you found ("The 6502 Simulator Monitor Tutorial") appears to include EDASM, which is one of the earliest editor/assembler packages for the Apple II, dating back to 1979. By the mid-80s there were much better assemblers available (Merlin, for example) and I'd imagine any post-80s system would use something that also offered a screen editor, rather than a line editor. (Then again, maybe the Apple II crowd never got into screen editing outside of word processors; Merlin's editor was also a line editor.)
    If you want to see a bit more about EDASM, I wrote an article about it a while back: "Going Back to EDASM, the 1980 Apple II Editor/Assembler." It should come up at or near the top of any web search; I don't include the URL here because TH-cam seems to quietly kill any comments where I do.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  ปีที่แล้ว +1

      Thank you, Curt! If you reach out to me with the URL by DM at @peterb@mathstodon.xyz, I will add it to the description of the video. I look forward to reading it.

  • @classicnosh
    @classicnosh 10 หลายเดือนก่อน +2

    You may have invoked the mini Assembler with "!", depending on your Apple model. Modern Apples (//c, //e Enhanced, //c+, //gs) all allowed "!" to invoke it. I've seen this simulator on a Disk from someone in the UK. I'm not really sure who made this.

  • @Martial_Monkey
    @Martial_Monkey 3 หลายเดือนก่อน

    So, where can I download it?
    Are there any similar visual simulators out there you know of? I couldn't find any...
    I think such visualization is great for learning the assembly and the architecture (and for writing an 6502 emulator).

  • @daishi5571
    @daishi5571 8 หลายเดือนก่อน

    That is seriously cool

  • @saganandroid4175
    @saganandroid4175 ปีที่แล้ว

    What're the 2 bits just to the left of the word "Accumulator"?

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  ปีที่แล้ว

      Those are the 8-bit contents of the accumulator, otherwise known as the A register.

  • @leandrocruz6621
    @leandrocruz6621 ปีที่แล้ว +1

    this shows how animation helps for an emulation

  • @ThatNiceDutchGuy
    @ThatNiceDutchGuy 10 หลายเดือนก่อน

    A few years back I found something similar online (but recently written). It was hugely helpful! Unfortunately, I lost the website address.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  10 หลายเดือนก่อน +1

      Isn't that frustrating when that happens?

  • @metronome8471
    @metronome8471 2 หลายเดือนก่อน

    This program makes thinking in 6502 less abstract.

  • @horstrj
    @horstrj 10 หลายเดือนก่อน +1

    I have a vague recolection of having this disk. Would have been around 83-85. It made it out to Seattle by then at least. I wouldnt have bought it. Maybe downloaded it from a BBS?

  • @anon_y_mousse
    @anon_y_mousse 10 หลายเดือนก่อน +1

    Neat. I guess this means that the 6502 has a debug interrupt? Might be fun to implement something like that now for x86's. I've seen a couple of projects wrap gdb and that would probably be the easier approach than writing something from scratch, but using the terminal and having the interface be purely textual would certainly be a cool aesthetic. Although, I wouldn't want it to be monochromatic, even just two or three colors would be great.

    • @herrbonk3635
      @herrbonk3635 10 หลายเดือนก่อน +1

      No, this is just a simulator in software. No interrupts or traps or anything. There are tons of simulators for the 6502, Z80, 68K, and what have you. Most of them written later than 1982 though.

    • @anon_y_mousse
      @anon_y_mousse 10 หลายเดือนก่อน

      @@herrbonk3635 But how is it implemented? If it's running through the program without the aid of a debug interrupt, then I wouldn't call that a simulator but rather an emulator, though I can't imagine it running at this speed on period correct hardware. The only way I can see it running at this kind of speed is if it was running as a debugger. I'll have to download a copy and disassemble it I guess.

    • @herrbonk3635
      @herrbonk3635 10 หลายเดือนก่อน +1

      @@anon_y_mousse Where in the video does it run at high speed? I only saw a very slow speed, but I might have missed it. Not sure how you mean, but a simulator does not have to be fast. An emulator on the other hand is usually full speed, as it _emulates_ (replaces) a CPU or computer. Back in the days, emulators were usually hardware based (such as in development systems for embedded system and such). Simulators were more like this, i.e. used to study flags, registers and internal status in a slower pace.

    • @anon_y_mousse
      @anon_y_mousse 10 หลายเดือนก่อน

      @@herrbonk3635 Unless he wasn't running it on the actual hardware it was fast. Because if it was running on period correct hardware and it was emulating or simulating then it should have been much slower. You might be using the incorrect definition for one or both of those terms, though.

    • @herrbonk3635
      @herrbonk3635 10 หลายเดือนก่อน +1

      @@anon_y_mousse How do you mean? How can a few instructions per second or something like that be considered "fast"? Do you think this is an analog spice simulation at the transistor level or something? That would be expensive. But this is a simple digital simulation.
      (There are no formal "definitions" of emulator or simulator. Perhaps some attempt in your favourite textbook, but certainly not in the 1980s.)

  • @JacobChrist
    @JacobChrist 3 หลายเดือนก่อน

    I used this simulator in my 6502 assembly class I took in 1989.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  3 หลายเดือนก่อน

      If you still have the class notes, please share them with us!

    • @JacobChrist
      @JacobChrist 3 หลายเดือนก่อน

      ​@@TeaLeavesProgrammingI'll see if I can dig them up, I'm not a great note taker but I probably have some material from the class. Not only that, what were the nine Microprocessor classes at my school when I went there have been consolidated down to a single class. I have been teaching that class for the last 24 years. When I took over the class was Z80 assembly. I converted the class to C on a PIC18 a few years in, then we switched to C/C++ on a PIC32 (chipKIT) and this year I just changed to Pico Pi.

  • @JonRowlison
    @JonRowlison 8 หลายเดือนก่อน +1

    Of COURSE it was from MECC. ;). Those guys rocked.

  • @MichaelPohoreski
    @MichaelPohoreski 2 ปีที่แล้ว

    This reminds me of the "Visible Computer: 6502" but that doesn't have as much detailed tracing.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  2 ปีที่แล้ว

      Yes, very much so - I even had a clip comparing it to that, but decided that it interfered with the flow of the video too much, so I left it out.

  • @StevenNess
    @StevenNess 11 หลายเดือนก่อน

    that is beautiful

  • @0u0ak
    @0u0ak 8 หลายเดือนก่อน

    I remember there was a similar stepper tool but much more compact and text only. No idea of its name.

  • @buserror
    @buserror 9 หลายเดือนก่อน

    I swear I saw that as as teen in france, I had it in the early 80s, I can guarantee that!

  • @TymexComputing
    @TymexComputing 10 หลายเดือนก่อน +1

    Very nice :) the first Vixual Studio :), probably somebody bought it :)

  • @zeromega
    @zeromega 2 ปีที่แล้ว

    very cool indeed, i just found microm8, it is such a good emulator!

  • @highlandsun
    @highlandsun 8 หลายเดือนก่อน

    I remember using this back in high school, would've been 1982-1984.

    • @highlandsun
      @highlandsun 8 หลายเดือนก่อน

      Reminds me, I copied the monitor ROM and then the mini-asm and ported them to my Atari 800XL too. I'd spent months typing in programs in hex before realizing I could use asm mnemonics...

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  8 หลายเดือนก่อน

      You ported the mini-assembler? That's fantastic!

  • @kalebproductions9316
    @kalebproductions9316 2 ปีที่แล้ว +3

    This is not new. it's old. I definitely saw this in the 80's.

  • @johnsmith1953x
    @johnsmith1953x 10 หลายเดือนก่อน

    *I thought this was shown on that BIT & BYTES TV show back in 1984?*

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  10 หลายเดือนก่อน

      I wasn't aware of that, John - Do you have a link to a specific episode?

    • @johnsmith1953x
      @johnsmith1953x 10 หลายเดือนก่อน

      @@TeaLeavesProgrammingSOmeone posted all those great episode of BITS and Bytes on youtube. You'll probably have to go through them. Of course, it won't show up on episodes on sound or music or graphics so you can skip those, but I'm pretty sure there was an episode on assembly and showed some 6502 emulator.

  • @chipling7367
    @chipling7367 10 หลายเดือนก่อน

    I had that software, but I do not remember the time. Should be in the early 80's cause I remember mine is on cassette tape. I did not own any floppy drive at that moment. I just loaded it up and run it a couple times. I found it was interesting but not very useful at all. I can CALL -151 and go to the monitor program, then I can enter assemble code instead.

    • @TeaLeavesProgramming
      @TeaLeavesProgramming  10 หลายเดือนก่อน +1

      I think the value of it is showing the concepts of how data is fetched (and stored) into addresses. Imagine you didn't know how the CPU worked; that's what they're trying to explain.

  • @dbingamon
    @dbingamon 2 ปีที่แล้ว +1

    That is a nifty simulator

  • @senilyDeluxe
    @senilyDeluxe 8 หลายเดือนก่อน

    They probably used it to debug their Polybius arcade game lol

  • @dr.ignacioglez.9677
    @dr.ignacioglez.9677 ปีที่แล้ว

    I LOVE 6502 👍🥂🎩

  • @jakubkrcma
    @jakubkrcma 10 หลายเดือนก่อน

    😱👍👍👍

  • @Bruno_Haible
    @Bruno_Haible 10 หลายเดือนก่อน

    11:33 You are simulating an 8086 PC on a 6502 😉

    • @peterb12
      @peterb12 10 หลายเดือนก่อน

      Nice eye - 8086!

    • @linjeffer3511
      @linjeffer3511 9 หลายเดือนก่อน

      It's 8bit data bus, so if use 8088 , it's more match.

  • @prabbit237
    @prabbit237 10 หลายเดือนก่อน +2

    Interesting video but......
    It'd be a lot better if you'd add the URL for the disk into the description instead of only having it in the video. It's kinda hard to copy-and-paste from the screen like that :) Also a link to the blog article would be helpful.

  • @manuelgonzales6483
    @manuelgonzales6483 10 หลายเดือนก่อน

    🙀

  • @benjaminscherrey2479
    @benjaminscherrey2479 2 ปีที่แล้ว

    I was definitely an Apple ][ hacker back in the day. Would hand code asm programs into hex during class and take them to the Apple ][ lab at the nearby community College that let me use it after school and spend a long time in the monitor debugging my little program. I would have killed for this and have never seen anything like it before. Males me want to get back at Apple ][ hacking again!

  • @leandrocruz6621
    @leandrocruz6621 ปีที่แล้ว

    Amarzing

  • @drjmansplace5174
    @drjmansplace5174 10 หลายเดือนก่อน

    Perhaps it's an early version of WozMon.

  • @TymexComputing
    @TymexComputing 10 หลายเดือนก่อน

    I watched half way, started searching and only now i read its solved - i started looking for two budhe games edit prodos and found one bbs info:

    • @TymexComputing
      @TymexComputing 10 หลายเดือนก่อน +1

      apl6502 sim bsc
      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 II {+,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.