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

Powertran Cortex

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

    Definitely post the pics, as it will be interesting to see how you did the 9938 mod. One of these days I want to try and do up a little daughter board layout with a 9938 and its memory on it that I can insert into a Cortex or a TI-99/4A. . .
    Enter My Mind At Your Own Risk!

    Comment


      restoration started

      Ok so a slow start, Picture is of the main board with the video card sitting above the video processor, to the left is the wd disk controller board that I built and above is the rom daughter board that takes 2764 roms. bottom left is the ls2001 replacement header for the ebus.




      IMG_0222.jpg


      will be cleaning it all up this weekend and will post more
      Last edited by davidloudfoot; June 1, 2016, 03:24 PM. Reason: picture size

      Comment


        My first PCBs arrvied

        Today I had my magical moment as the SD processor PCBs arrived. They look like the real deal
        I'll see how the assembly turns out. It looks that at least in theory it can be mounted on the Mini Cortex as one can see from the picture here. The PCB is just casually laying on top of the CF card breakout board. The mounting holes (well all of 2 of them that are of use with the cortex) are in the right place - but a tad too small... I doubt that will be the only thing that is wrong.

        I have a very busy weekend ahead of me in RL so not sure yet if there is time to work on these, but I look forward to having time for that.

        Erik

        IMG_4695.jpgIMG_4696.jpg
        Last edited by speccy; June 3, 2016, 08:12 AM. Reason: typo fix

        Comment


          That is a very cool PCB! I'm looking forward to hearing how this progresses
          I'd be happy to work on software drivers for this PCB for MDEX, Unix and CDOS once you have the hardware functional.

          In the last couple of months Dave Pitts has done a lot of work rounding out the V6 Unix port, I hope to find time to add all that to the repository soon. I've also looked into moving to the V7 Unix kernel and that looks just about doable on the mini cortex. Last but not least, I looked at integrating the BSD tcp/ip stack, but that seems a bridge too far: that stack does not fit in a 16 bit address space. Perhaps a different, smaller stack can work -- looking at the first edition of this book. Otherwise simple uucp is as far as it will go.

          The FPGA prototyping board and Xilinx cable arrived. Currently undecided whether doing an SD card interface for the mini cortex v2 or jumping to working with the 99105 will come first. On a 99105 doing tcp/ip will be easier, but it also would be leaving Cortex territory.

          Comment


            Originally posted by davidloudfoot View Post
            ... bottom left is the ls2001 replacement header for the ebus. ...
            Out of interest, what did you hook up to the EBus back-in-the-day? Memory? Drives?

            Comment


              SD card works a bit!

              A brief update on the build process and early bring up phase: I took some time on Sunday to build one board. The process was somewhat different than I thought, the things I anticipated to be tough (soldering by hand the ICs) were not while others turned out to take time (the bloody 100nF filter caps like to fly all over the place - better to hold breath when picking them up). For some reason the similarly sized resistors were easy to work with. I lost a few LEDs, simply by dropping them from my pliers from a height of about an inch over to the desk - they just disappeared
              The pads of the 50MHz crystal oscillator are just under the device, so getting that one soldered was difficult, but I did manage to do that by applying solder on the pads first and then trying to heat them from the side. But I did get all the components in there before running out of time (build time 3h according to me and over 4h according to my wife...). I think the next one will take about two hours as I start to know what to do.

              I attach a picture of the first application of power - amazingly the USB interface worked straight out the bat! I was able to get to the built-in boot loader where the ARM presented itself as a tiny USB flash device. So that proved already many components. I've also checked that the 50MHz oscillator does work and I've been able to load a design on the Xilinx chip to flash a LED from a 24 bit counter, and I can programmatically turn on and off a led from the ARM. Not all the LEDs work though, so there is hardware debugging to be done, but it is a good start given that after the build I have had only about an hour to work on this.

              But it is very exciting, bringing things up to life is just a very rewarding experience!

              Erik


              IMG_4705.jpg
              Backside.jpg

              Comment


                After a bit more tinkering things have started to work, to the point that all the parts of the design I have had time to check have worked. I had a couple of firmware bugs and a wrong resistor mounted, but the LEDs do work now. The NXP chip implements a virtual serial port via USB (CDC device) and I have a debug monitor running there over USB. Didn't do the USB stuff myself, as there is a great open source project for this chip to build upon. Actually the bring up via the USB serial port is so much fun, that I'm wondering if I should build a second one to plug to the mini cortex and keep this one for tinkering. Luckily I have a dozen PCBs
                I also got some signals driven through the CPLD from the ARM, so the first bits for inter chip and eventually interprocessor communication (ARM and TMS9995) are there.

                Erik

                Comment


                  Time has again been a bit tight on working on this project. I got some VHDL work done, as well as a liitle firmware development. The board is now mounted on the CF socket of the Mini Cortex, and the I/O registers seems to work (I have not yet validated the SPI interface though). I worked first on a simple mailbox design between the two processors, and now the TMS9995 can send bytes to the ARM and vice versa. I need to make a small test suite to make sure this is robust at some point. For the SPI I need to make a new boot ROM for the Mini cortex to see if that works. It is the same design as in the FPGA, so theoretically it should work. The CPLD became pretty full already 68 of 72 macrocells used, but I am pretty sure there is some room for optimization. I guess the good news is that the PCB itself is still unmodifed
                  When working on the mailbox I discovered that indeed the ARM is very fast, it seems to be able to do I/O writes to GPIO ports at full clock speed, as the CPLD misses some pulses even if it is running at 50MHz. Looking at the disassembly the C-compiler does a good job, the occasional missed pulses occured on back-to-back write instructions at 72MHz cpu clock. My understanding is that the cpu core has harvard architecture (separate instruction and data buses although unified memory map), and this behavior seems to reflect that.

                  Erik

                  Comment


                    MiniCortex now loading & executing from SD card

                    I had bit more time today to work on the SD processor integration with the MiniCortex. I built a new boot ROM for the MiniCortex, basically this is the same ROM image as used with the FPGA breadboard. I merely corrected the addresses of the CF slot to FE00 and the LS612 to FE40. (I did not read carefully enough the schematic when I was creating the FPGA memory decoder, so these addresses were a bit off).

                    Anyway, the good news are that the exact same code did work, and I was able get the root directory listing of my test SD card, and it loaded the test file exactly the same way as on the FPGA breadboard - so the SD card interface worked on first attempt! Very nice indeed. This pretty much means that the hardware is now validated "enough" to start work on the software (proper test suites obviously are missing). Below I attach a picture of the test setup, as well as screen captures both from the UART of TMS9995 and the virtual USB com port of the LPC1343.

                    Erik

                    IMG_4717.jpg SDLoadWithMenu.jpg LPC1343 Prompt.jpg

                    Comment


                      Originally posted by speccy View Post
                      Below I attach a picture of the test setup, as well as screen captures both from the UART of TMS9995 and the virtual USB com port of the LPC1343.
                      Okay so PNG pictures got butchered by the upload process, trying again with JPEG versions of the screenshots. Not all of the options on the TMS9995 screenshot are valid as the menu code is the one for the FPGA board which uses more than 32K ROM. Actually out of the options only 1 and 3 work - the screenshot is using option 3 for the SD card boot. The Basic option would otherwise probably work, but the FPGA paging unit has a slight difference (it can page ROM too not only RAM) so I need to edit the code to start Basic (the version of the Basic I have on the ROM is assembled to launch from 0x2000 onwards, so it needs paging to copy the ROM to RAM first before turning off ROM).

                      Erik
                      SDLoadWithMenu.jpg LPC1343 Prompt.jpg
                      Last edited by speccy; June 13, 2016, 08:53 AM.

                      Comment


                        I made a digital control card with 8 inputs and 8 relay outputs but not a lot else.

                        did the 256k memory mod on the main board so did not need extra memory and the drives were on the wd2797 so did not need them either.

                        Comment


                          Originally posted by speccy View Post
                          Okay so PNG pictures got butchered by the upload process, trying again with JPEG versions of the screenshots. Not all of the options on the TMS9995 screenshot are valid as the menu code is the one for the FPGA board which uses more than 32K ROM. Actually out of the options only 1 and 3 work - the screenshot is using option 3 for the SD card boot. The Basic option would otherwise probably work, but the FPGA paging unit has a slight difference (it can page ROM too not only RAM) so I need to edit the code to start Basic (the version of the Basic I have on the ROM is assembled to launch from 0x2000 onwards, so it needs paging to copy the ROM to RAM first before turning off ROM).

                          Erik
                          [ATTACH=CONFIG]31614[/ATTACH] [ATTACH=CONFIG]31615[/ATTACH]
                          If there was a "Like" button on this forum, I would click it. Good work Erik!

                          Comment


                            Originally posted by Stuart View Post
                            If there was a "Like" button on this forum, I would click it. Good work Erik!
                            I agree with Stuart: very nice work!
                            Torfinn

                            Comment


                              Originally posted by tingo View Post
                              I agree with Stuart: very nice work!
                              Thank you very much! It has been fun, and a smooth ride so far. I am currently on a short vacation with my wife, but once I get back it is time to build more of these boards. I did purchase a cheap hot air SMD rework station, so I am going to try another way to build these boards with that. Should be faster than hand soldering I just need to get some solder paste, turns out it is not a stock item on component supplier I use (apparently they can't store it for long for good performance).

                              Erik

                              Comment


                                I've been tinkering with SD processor board and other hardware hacks during the past few months quite a bit. I need to get back to the Cortex stuff as I've been badly distracted by getting my recently acquired TI-99/4A up to speed. I posted the whole mess on hackaday:
                                https://hackaday.io/project/13119-ti...pistrello-fpga
                                This is my first posting on hackaday, so I don't know how that will turn out. Obviously it is work in progress... I think I will also make posting in some TI related forum - is Atariage the place to go to?

                                Erik

                                Comment

                                Working...
                                X