NewBrain on FPGA running and alive.

Home › Forums › Newbrain › Hardware › NewBrain on FPGA running and alive.

Tagged: 

  • Creator
    Topic
  • #3853
    rondc
    Participant
    • Topics: 1
    • Replies: 4
    • Total posts: 5
      Up
      1
      Down
      ::

      With the help of Chris Desp’s NB-Emu and Mame/Mess code, plus the schematics and documentation we have collected from NewBrain, Shaeon [a member of RW-fpga dev Team] embarked on the adventure and we finally have a working NewBrain core.

      The core was developed on the Calypso board, later ported to Poseidon, SiDi, and Senhor boards. Except for Calypso, which is a cyc-1000, the rest are Altera Cyclone IV and V.

      It’s currently running on four different FPGAs and loading audio. It has a TZX, BAS, and BIN file loader. It can be configured with up to 2 MB of RAM, the COP420 can be used in emulated or real mode, and it already has almost everything needed to get the expansion and disk drives up and running.

      You can watch the video here: https://www.twitch.tv/videos/2879520912
      From minute 56.

      Will update with all information, git, binaries and all of this.
      Thank You
      Regards

       

      Attachments:
    Viewing 10 reply threads
    • Author
      Replies
      • #3858
        CDesp
        Keymaster
        • Topics: 15
        • Replies: 32
        • Total posts: 47
          Up
          0
          Down
          ::

          Great implementation.

          Tape files with binary follow ups should automatically change to the next file after each file loads. Like Pacman.bas, it needs to load the pac.screen.bin and the pac.bytes.bin. So it should probably go to a seperate folder and somehow put the files in order, or use a container like .tap.

          There are also .bas files that are disk files (cp/m) like demo30.bas. this one loads(merge) other bas files depending on the menu you choose, so it needs the cp/m, either the small one or the full with the Expansion. In my fpga i use a new 8K rom on bank 4 that implements a new device 12,13,14,15 (like cp/m) that loads from the sdcard.

          Newbrain uses all devices the same way as streams so you can replace any device with another.

          If you need help with the cp/m let me know.

        • #3859
          rondc
          Participant
          Topic Author
          • Topics: 1
          • Replies: 4
          • Total posts: 5
            Up
            0
            Down
            ::

            Hi CDesp
            Now Disks are working, one step more done. I hope it gets finished very soon.-

             

             

            Attachments:
          • #3861
            rondc
            Participant
            Topic Author
            • Topics: 1
            • Replies: 4
            • Total posts: 5
              Up
              0
              Down
              ::

              Here is the latest video, with disk controller and running CP/M

              https://www.twitch.tv/videos/2882097737

              From the beginning. We’re making the final corrections, debugging, and the source will be available on Git shortly.

              I’ve only been able to find a few CP/M disk images in various formats; is anything preserved in disk format?

            • #3862
              CDesp
              Keymaster
              • Topics: 15
              • Replies: 32
              • Total posts: 47
                Up
                1
                Down
                ::

                You can try the files that newbrain emulator creates when you select a directory, it should work.

                Run newbrain emulator with CPM, select a directory, then dont close the emulator, goto the disc directory and there should be a 800kb disk file that you can copy.

              • #3863
                rondc
                Participant
                Topic Author
                • Topics: 1
                • Replies: 4
                • Total posts: 5
                  Up
                  0
                  Down
                  ::

                  Hello. I’ll give it a try. Thx
                  more improvements

                   

                   

                  Attachments:
                • #3871
                  CJ Palmero
                  Participant
                  • Topics: 0
                  • Replies: 1
                  • Total posts: 1
                    Up
                    0
                    Down
                    ::

                    I have finally made the core public here:

                    https://github.com/shaeon/newbrain

                    Any advice would be welcome.

                    Regards.

                  • #3873
                    CDesp
                    Keymaster
                    • Topics: 15
                    • Replies: 32
                    • Total posts: 47
                      Up
                      0
                      Down
                      ::

                      Nice work.

                      Newbrain uses busreq/busack to paint the screen so the real speed is a lot less than 4MHz.

                      That is the reason if you play chess with the fast setting on it disables the screen to go full speed.

                      So for some games like the crossing  the speed should be reduced otherwise it is almost unplayable.

                    • #3874
                      rondc
                      Participant
                      Topic Author
                      • Topics: 1
                      • Replies: 4
                      • Total posts: 5
                        Up
                        0
                        Down
                        ::

                        Finally shaeon has published the core at git:

                        https://github.com/shaeon/newbrain

                        For the fpga boards:
                        MiST
                        MiSTica
                        SiDi
                        Poseidon

                        and Senhor ( mister clone )

                      • #3875
                        newbrainer
                        Participant
                        • Topics: 0
                        • Replies: 3
                        • Total posts: 3
                          Up
                          0
                          Down
                          ::

                          (Reposting this message in the forum, in case someone haven’t read the news)

                          I would appreciate a lot if someone having an actual NewBrain computer to run the following basic program:

                          300 CALL 62383
                          400 K=0
                          500 K=K+1
                          530 A=K^2
                          540 B=LOG(K)
                          550 C=SIN(K)
                          600 IF K<100 THEN 500
                          700 CALL 62399,MS
                          750 PRINT “ELAPSED SECONDS: “,MS/50
                          800 END

                          Ideally, I would like from you to run it at least 4 times and post your results here.
                          That will help us to adjust the core in order to be more accurate!

                          Thanks in advance!

                        • #3876
                          CDesp
                          Keymaster
                          • Topics: 15
                          • Replies: 32
                          • Total posts: 47
                            Up
                            0
                            Down
                            ::

                            VFD on
                            Run 1 elapsed 6.98
                            Run 2 elapsed 7.06
                            Run 3 elapsed 7.14
                            Run 4 elapsed 7.2
                            Run 5 elapsed 6.4 (after put 31 that clears the screen)
                            So it depends of how many chars the screen is showing. That is the busrq/busack. if a line has a1 char then the video circuit enables the cpu after that char, it does not wait for the line to end.
                            with put 31:run elapsed 6.38 every time no chars on screen
                            with vfd off the same results so the only the chars on the screen affects the result.
                            with list (so the listing is displayed) i get 7.3 secs

                            • #3877
                              newbrainer
                              Participant
                              • Topics: 0
                              • Replies: 3
                              • Total posts: 3
                                Up
                                0
                                Down
                                ::

                                Thank you very much Chris!

                                Your feedback is exactly what I wanted!

                                 

                            • #3882
                              newbrainer
                              Participant
                              • Topics: 0
                              • Replies: 3
                              • Total posts: 3
                                Up
                                0
                                Down
                                ::

                                That’s the outcome:

                                NewBrain FPGA core

                                😉

                            Viewing 10 reply threads
                            • You must be logged in to reply to this topic.