Announcement

Collapse

Forum Rules and Etiquette

Our mission ...

This forum is part of our mission to promote the preservation of vintage computers through education and outreach. (In real life we also run events and have a museum.) We encourage you to join us, participate, share your knowledge, and enjoy.

This forum has been around in this format for over 15 years. These rules and guidelines help us maintain a healthy and active community, and we moderate the forum to keep things on track. Please familiarize yourself with these rules and guidelines.


Rule 1: Remain civil and respectful

There are several hundred people who actively participate here. People come from all different backgrounds and will have different ways of seeing things. You will not agree with everything you read here. Back-and-forth discussions are fine but do not cross the line into rude or disrespectful behavior.

Conduct yourself as you would at any other place where people come together in person to discuss their hobby. If you wouldn't say something to somebody in person, then you probably should not be writing it here.

This should be obvious but, just in case: profanity, threats, slurs against any group (sexual, racial, gender, etc.) will not be tolerated.


Rule 2: Stay close to the original topic being discussed
  • If you are starting a new thread choose a reasonable sub-forum to start your thread. (If you choose incorrectly don't worry, we can fix that.)
  • If you are responding to a thread, stay on topic - the original poster was trying to achieve something. You can always start a new thread instead of potentially "hijacking" an existing thread.



Rule 3: Contribute something meaningful

To put things in engineering terms, we value a high signal to noise ratio. Coming here should not be a waste of time.
  • This is not a chat room. If you are taking less than 30 seconds to make a post then you are probably doing something wrong. A post should be on topic, clear, and contribute something meaningful to the discussion. If people read your posts and feel that their time as been wasted, they will stop reading your posts. Worse yet, they will stop visiting and we'll lose their experience and contributions.
  • Do not bump threads.
  • Do not "necro-post" unless you are following up to a specific person on a specific thread. And even then, that person may have moved on. Just start a new thread for your related topic.
  • Use the Private Message system for posts that are targeted at a specific person.


Rule 4: "PM Sent!" messages (or, how to use the Private Message system)

This forum has a private message feature that we want people to use for messages that are not of general interest to other members.

In short, if you are going to reply to a thread and that reply is targeted to a specific individual and not of interest to anybody else (either now or in the future) then send a private message instead.

Here are some obvious examples of when you should not reply to a thread and use the PM system instead:
  • "PM Sent!": Do not tell the rest of us that you sent a PM ... the forum software will tell the other person that they have a PM waiting.
  • "How much is shipping to ....": This is a very specific and directed question that is not of interest to anybody else.


Why do we have this policy? Sending a "PM Sent!" type message basically wastes everybody else's time by making them having to scroll past a post in a thread that looks to be updated, when the update is not meaningful. And the person you are sending the PM to will be notified by the forum software that they have a message waiting for them. Look up at the top near the right edge where it says 'Notifications' ... if you have a PM waiting, it will tell you there.

Rule 5: Copyright and other legal issues

We are here to discuss vintage computing, so discussing software, books, and other intellectual property that is on-topic is fine. We don't want people using these forums to discuss or enable copyright violations or other things that are against the law; whether you agree with the law or not is irrelevant. Do not use our resources for something that is legally or morally questionable.

Our discussions here generally fall under "fair use." Telling people how to pirate a software title is an example of something that is not allowable here.


Reporting problematic posts

If you see spam, a wildly off-topic post, or something abusive or illegal please report the thread by clicking on the "Report Post" icon. (It looks like an exclamation point in a triangle and it is available under every post.) This send a notification to all of the moderators, so somebody will see it and deal with it.

If you are unsure you may consider sending a private message to a moderator instead.


New user moderation

New users are directly moderated so that we can weed spammers out early. This means that for your first 10 posts you will have some delay before they are seen. We understand this can be disruptive to the flow of conversation and we try to keep up with our new user moderation duties to avoid undue inconvenience. Please do not make duplicate posts, extra posts to bump your post count, or ask the moderators to expedite this process; 10 moderated posts will go by quickly.

New users also have a smaller personal message inbox limit and are rate limited when sending PMs to other users.


Other suggestions
  • Use Google, books, or other definitive sources. There is a lot of information out there.
  • Don't make people guess at what you are trying to say; we are not mind readers. Be clear and concise.
  • Spelling and grammar are not rated, but they do make a post easier to read.
See more
See less

Tiny, Wireless 8008 Emulator

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Tiny, Wireless 8008 Emulator

    I just finished this up well enough to show:

    https://hackaday.io/project/28227-es...i8008-emulator

    This is an ESP8266-based Intel 8008 emulator, running SCELBAL and the Shooting Stars game from flash. It's only about 1" x 2" x 1.5" in size, and housed in a dollhouse-sized walnut case somewhat reminiscent of 1970's hobby machines. No front panel, though. not bad for $5.00 or so of parts. The wood cost more!

    #2
    Looks cool, where is the code available from?

    Len
    Spread the joy of Vintage Addiction

    -->www.chronworks.com/<--->www.i8008.net/<--

    Comment


      #3
      Neat! Way cheaper than the real thing, and a lot less annoying to interface with, I bet
      Check out The Glitch Works | My Retro Projects | Vintage Computer Services | Glitch Works Tindie Store -- Vintage Computer Kits and More

      Comment


        #4
        Source Code available

        Originally posted by 8008guy View Post
        Looks cool, where is the code available from?

        Len
        I've put the code in the Hackaday project. It includes and runs:
        Galaxy
        Shooting Stars
        Mike Willegal's mini-monitor
        Microsystems International Monitor

        I hope that I've given appropriate credit to all who help preserve this code, including, but not limited to:
        Dave Dunfield
        Herb Johnson
        Mike Willegal (who I'm fairly certain peruses this site)

        All in all, I'm pleased with the results although the code is icky. I've been doing this.."for a while"...and I still can't believe how this was done with about $5.00 of parts.

        Comment


          #5
          Hi Steve,

          Is the code for you "Companion Terminal for 8008 Emulator" available?

          len
          Spread the joy of Vintage Addiction

          -->www.chronworks.com/<--->www.i8008.net/<--

          Comment


            #6
            Originally posted by 8008guy View Post
            Hi Steve,

            Is the code for you "Companion Terminal for 8008 Emulator" available?

            len
            Actually, the PIC32 terminal design and code isnít mine, its at:

            http://geoffg.net/terminal.html

            This was designed to work with a ps/2 keyboard and as written, using a ps/2 keyboard is the only way to easily set it up.

            The ti99/4a*to serial ASCII keyboard, for a cheaper PIC, I can put up in a few days if you are interested. Ugly code, but it works well and is pretty easy to build.

            *PLEASE donít anyone hate me. That keyboard came from a nonworking machine in poor physical condition that I got cheap.

            Comment


              #7
              Originally posted by Slob View Post
              *PLEASE don’t anyone hate me. That keyboard came from a nonworking machine in poor physical condition that I got cheap.
              It'd be hard to pick a more fitting donor Seriously though, these are super common, they have little value, and a dead one is at this point hardly worth fixing.
              Check out The Glitch Works | My Retro Projects | Vintage Computer Services | Glitch Works Tindie Store -- Vintage Computer Kits and More

              Comment


                #8
                Posting the code would be awesome.

                Len
                Spread the joy of Vintage Addiction

                -->www.chronworks.com/<--->www.i8008.net/<--

                Comment


                  #9
                  I love all these micro-controller based emulators that keep surfacing - very cool project.


                  "My" mini-monitor is really a port of Bob Cook's Basic CREED Monitor that was described in the May, 1975, volume 1, issue 7, of the "Micro-8" newsletter. The original was written for Baudot character code. I wanted to keep it at 256 bytes, and aside from changing it to ASCII, my peripherals were slightly different, so it took quite a bit of work to port it over to the SCELBI. However, the basic user interface semantics are nearly the same as the original. I found the practical usability to be surprisingly impressive for an implementation with so many hardware constraints. In fact, I would have been very proud of it, had I come up with that design, myself. Anyone with a recent generation Macintosh can try it out with my OS/X based SCELBI emulator: http://www.willegal.net/scelbi/scelbiapp.html.

                  The source for the ported monitor is here:http://www.willegal.net/scelbi/MCMON.html

                  regards,
                  Mike Willegal

                  Originally posted by Slob View Post
                  I've put the code in the Hackaday project. It includes and runs:
                  Galaxy
                  Shooting Stars
                  Mike Willegal's mini-monitor
                  Microsystems International Monitor

                  I hope that I've given appropriate credit to all who help preserve this code, including, but not limited to:
                  Dave Dunfield
                  Herb Johnson
                  Mike Willegal (who I'm fairly certain peruses this site)

                  All in all, I'm pleased with the results although the code is icky. I've been doing this.."for a while"...and I still can't believe how this was done with about $5.00 of parts.

                  Comment


                    #10
                    99/4A Keyboard to Serial Chip Code

                    This code reads a TI 99/4A keyboard and emits serial ASCII. For some reason, I could not attach it as a .C file, but it is C, for PIC MPLAB Version 8.x. The chip is a fairly cheap 16F883, and you don't need a crystal for it (at least not up to 9600 baud) because the programming system trims the onboard oscillator for you. The draw at +5 or 3.3 is only a very small # of milliamps. As written, it was designed to work with an RS-232 converter but the output could be inverted in port setup, I believe. I mention that it really should have a "transmit buffer empty" interrupt and ring buffer for the serial output, but at fast bauds, this really doesn't matter. The baud is hard-coded, but an enterprising person could use jumpers or better yet, "power on keystrokes" to set the baud and store it into the chip's onboard EEPROM.

                    The keyboard should handle all common ASCII and control characters, although you may have to do odd things to get to them (note the weird "function" requirement for brackets, for example). Note that I use "alpha lock" for "caps lock". Of course, if you don't like it..you can change it. And, please don't laugh at the code. The only code I've written commercially in 20+ years is PL/SQL.

                    The keyboard itself is very compact and cramped, but it has a pretty good, old-timey stiff feel. I wonder if they made the keyboard specifically for smaller (kids?) hands. It's pad-printed, but it seems to have held up very well over time.

                    The way it works is simple; it scans the 8 (+1) x 6 matrix of keys and debounces them by adding /subtracting a threshold counter until it is hit (COUNTLIMIT). A second threshold (REPEATLIMIT) permits auto-repeat. I wouldn't try typing 100WPM (if that's even physically possible) but it shouldn't have ghosting problems, etc.

                    I don't mention the pinouts and port assignments, but it should be fairly obvious; I used the very nice schematic on the following page to design it.

                    http://www.mainbyte.com/ti99/keyboard/keyboard.html

                    If this is a problem, I'll buzz it out for you. I did this as kind of a "one-time-off" project, so, no schematic.

                    The keyboard is very easy to mount into a box; I used a scroll saw and my woodsman-quality woodworking skills to cut it out.
                    Attached Files
                    Last edited by Slob; February 17, 2019, 12:49 PM.

                    Comment


                      #11
                      I need to dig through my stash of keyboards. A few years ago I bought a couple of unencoded keyboards off ebay. From what I am thinking they are close to what you are using.

                      Thanks for posting more about your project.

                      Len
                      Spread the joy of Vintage Addiction

                      -->www.chronworks.com/<--->www.i8008.net/<--

                      Comment


                        #12
                        The general design of this code is usable for just about any keyboard with a matrix. Here is one of those one-piece plastic block keyboards designed to be soldered into a PCB a la ADM-3, that I built into a terminal using the same chip but slightly different code.
                        Attached Files

                        Comment


                          #13
                          There are still some cheap IBM iPoint NOS keyboards around. All it takes to interface is a 38KHz IR receiver and a UART port capable of doing 1200N81--no wires, no level translation. You get key-up/down codes, so it should be perfect.

                          Reach me: vcfblackhole _at_ protonmail dot com.

                          Comment


                            #14
                            I have just purchased an ESP-01S with the intention of getting the ESP8266 Based i8008 Emulator running on it. Better late than never !

                            I wrote a Javascript emulator of the MIL MOD-8 a while ago and used Dave Dunfield's MONITOR-8 source code. I did notice an error in the transcription from the original. I fixed it in my emulation - but I see it has made it through to the ESP8266 Based i8008 Emulator implementation.

                            The source line in question is:

                            Code:
                            	DB	'F','P',050
                            This should be:

                            Code:
                            	DB	'F','P',030
                            There appears to be two (2) entries for the 050 base coding (TZ and FP) and none for the 030 base coding.

                            When I originally tried to enter assembly code into MON-8 for JFP and CFP it disassembled as JTZ and CTZ respectively. Once I had fixed the table, everything appeared to be correct.

                            I am looking forward to getting this running! I have wanted to 'play with' an ESP8266 for a while... Now I have an excuse!

                            Now I wonder if there is a PDP-8 implementation somewhere?

                            Dave
                            Last edited by daver2; April 15, 2020, 07:05 AM.

                            Comment


                              #15
                              Through amazing coincidence, I've been playing with my toys during this downtime, and was actually thinking about _this very issue_ this week. I knew that somewhere I had seen this bug mentioned. I'll fix it.

                              I don't know if anyone else has actually made one of these for themselves yet. I put more effort into the later project where the ESP8266 actually puts out direct 80x24 video and reads a PS/2 keyboard (I bummed most of the code it took to do those things). The paper tape reader was a bonus.

                              The power of interrupts!!!!!

                              At my age, it just boggles my mind that all that was done with a $3.00 computer module, code, and a few switches, capacitors, resistors, and connectors.

                              I have several PDP/8 emulators (PiDP8, a wire wrapped Armstrong SBC6120, a few SB6120 PCB's), and I have given a PDP/8 emulator some thought. The 8266 doesn't have enough native RAM to do anything but a blah 4k version, but I have connected SPI RAM ($1.00) to an ESP8266 that runs at speeds good enough to do a credible 64K 8080 emulation with emulated CP/M disk drives (see other projects)...so...it's _definitely_ technically possible to do one with 32K, OS/8, and drives.

                              Comment

                              Working...
                              X