DIY Z80 Retro Computer #3: Run Historical Programs

Поделиться
HTML-код
  • Опубликовано: 18 сен 2024

Комментарии • 41

  • @gplgomes
    @gplgomes 2 года назад +2

    I was a good assembly Z80 programmer, but today I don't remember anything about it. But it was a pleasure when I did it.

  • @calebfuller4713
    @calebfuller4713 3 года назад +5

    If you can run CP/M, that's actually quite a good OS and gives you access to a LOT of software. Yes, you have what were industry standard apps at the time like Wordstar, Multiplan, Supercalc2, and also the amazingly powerful dBASE II which is a full multi-file relational database with it's own full interpreted programming language for building database apps. You've also got things like Microsoft Fortran and Cobol compilers, Pascal MT+ compiler, as well as the Microsoft Basic 80 interpreter, which is actually a pretty good version of Basic for the era - so you can develop your own programs. Plus it runs classics like Zork!

  • @ErvPlecter
    @ErvPlecter 4 года назад +2

    awesome project, I want to do more retro computing on my ARM32 platform but that feels even better with original processor vs emulation, and the bridge with arduino is so neat. The whole setup could end fitting a 1.44MB floppy enclosure ! congrats, keep up the good work

  • @calebfuller4713
    @calebfuller4713 3 года назад +1

    p.s. My first computer, an Amstrad CPC, ran a Z80 and although it booted to a ROM BASIC like most early 80s computers, it also came with CP/M plus that could be booted from disk. I didn't use it that much back then, being more interested in BASIC programming and playing games, and not able to afford those business apps anyway, but I've played around with it on emulators recently and am impressed with how capable it was as a business machine. I even found that Supercalc and dBASE II are Y2K compatible! So good news - we can use these systems for another 79 years, until the Y2.1K issue rules out any date sensitive calculations... 🤣

  • @i93sme
    @i93sme 3 года назад +1

    One of my first games played was Ladder

  • @Decco6306
    @Decco6306 4 года назад +2

    That ks quite impressive. Nice work.

  • @1pcfred
    @1pcfred 3 года назад

    If I could have made this in 1983 I'd have been thrilled. Unfortunately I did not have an Arduino or a PC back then. But I still managed to get pretty close.

    • @DoctorVolt
      @DoctorVolt  3 года назад

      I wonder if there have been any geeks who did this with a C64 and 8051 microcontroller...

  • @SusanAmberBruce
    @SusanAmberBruce 2 года назад

    Entertaining thanks

  • @AjinkyaMahajan
    @AjinkyaMahajan 3 года назад +1

    Awesome content
    Cheers ✨✨

  • @مقاطعمترجمة-ش8ث
    @مقاطعمترجمة-ش8ث 3 года назад +2

    CP/M were ahead of it time, and way ahead of MS DOS version, too sad the IBM decided to go for MS DOS instead.

    • @SusanAmberBruce
      @SusanAmberBruce 2 года назад

      Yeah too bad, did Bill Gates advance computer science or was it only ever about his bank account

  • @edgeeffect
    @edgeeffect 3 года назад

    On CP/M 2.2, the available text editors for code were all a bit "guk"... we always used Non-Document Wordstar for all our CoBOL, Pascal and Assembler programming.

    • @DoctorVolt
      @DoctorVolt  3 года назад

      A powerful text editor called "ED" was already included in CP/M. However, this was not very user-friendly. Reminds me a lot of the "VI" that is still used on Linux these days. I prefer Microsoft Code under Windows and transferring the programs to my Z80 computer via the serial disk emulation.

  • @spotterinc.engineering5207
    @spotterinc.engineering5207 4 года назад +1

    Hi - great project. I strongly hope you will share this on github. There are may of us old guys who love to play with 8-bit toys - like the Z80 - I have about 6 z80 projects going right now and I would like to add your design to my projects - especially the CPM features.

    • @DoctorVolt
      @DoctorVolt  4 года назад

      A appreciate that there is so much interest in that project. But before I can publish my schematics, code etc. on Github, I have to tidy it up a bit and make it more user-friendly. This may take a while. I will write the link into the video description as soon as it is available.

    • @DoctorVolt
      @DoctorVolt  4 года назад +1

      And there it is: github.com/michalin/ZX2020

    • @davidcarroll1891
      @davidcarroll1891 4 года назад

      @@DoctorVolt Thanks so much. I know this will be a fun project to build!

    • @Decco6306
      @Decco6306 4 года назад +1

      Im a new guy and i love this stuff too! I like it because it is easier to understand due to the massive amounts of clearly documented material, and because of how long it has been around, there are many many more resources that some modern "embedded" stuff. I feel like this is a really excellent educational tool for teachers and professors wanting to teach the theory of CPUs. Because honestly, CPUs at a fundamental level really haven't changed very much. they just gotten a little bit faster and a little bit more complicated. (just a little)

    • @1pcfred
      @1pcfred 3 года назад +2

      @@Decco6306 all of this is easier to understand because it is orders of magnitude more simple than what we are doing today. What we're doing now is overwhelming. Literally no one can know everything and even if you did manage to know it all it'd change in the next instant anyways. This old stuff is frozen in time now.

  • @treideme
    @treideme 4 года назад

    Awesome project. Do you have more references or explanations on how you got the disks emulated via serial?

    • @DoctorVolt
      @DoctorVolt  4 года назад

      Yes, I recently published the source Code on Github. Find the link in the description.

  • @neoyagami
    @neoyagami 2 года назад

    I was checking for chinese kockoffs but there are multiple versions, can someone point me to a right model to work with this proyect?

    • @DoctorVolt
      @DoctorVolt  2 года назад

      There are versions for different clock rates and packages. I used PDIP 40 with maximal clock rate of 6MHz (4 would have done it as well)

    • @neoyagami
      @neoyagami 2 года назад

      @@DoctorVolt thankyu

  • @Monothefox
    @Monothefox 3 года назад

    Very nice.
    Since CP/M uses so little resources, would it be possible to port it to an Arduino?

    • @DoctorVolt
      @DoctorVolt  3 года назад

      Not really. CP/M needs at least about 11 Kbyte of RAM, while even the Arduino Mega has only 8 Kbyte.

  • @edoardomariascardamaglia4325
    @edoardomariascardamaglia4325 2 года назад

    Hi, amazing project! I'm trying to replicate it for myself, but I'm having some problems while building the cpm loader's project... Can you link me the already built program, please? Thank you very much!

    • @DoctorVolt
      @DoctorVolt  2 года назад

      The source code is on Github: github.com/michalin/ZX2020 However it rather fits the hardware described in Part 5 of this series.

    • @edoardomariascardamaglia4325
      @edoardomariascardamaglia4325 2 года назад

      @@DoctorVolt Hi, thank you for the reply! But I'm having another problem... QT shows me these errors: "unknown module: serialport", and ," in include file:'QSerialPort' file not found"....
      How can I fix this? Thank you☺️

    • @DoctorVolt
      @DoctorVolt  2 года назад

      You need to install the QTSerial Port library through the Qt Maintenance Tool

    • @edoardomariascardamaglia4325
      @edoardomariascardamaglia4325 2 года назад

      @@DoctorVolt You're very kind! But now there is another problem...
      "C:\Users\sfurf\Downloads\ZX2020-master\ZX2020-master\cpmloader\mainwindow.cpp:122: error: 'class QSerialPortInfo' has no member named 'isBusy'
      ..\cpmloader\mainwindow.cpp: In member function 'void MainWindow::on_timer()':
      ..\cpmloader\mainwindow.cpp:122:16: error: 'class QSerialPortInfo' has no member named 'isBusy'
      122 | if(!i->isBusy())
      | ^~~~~~" .
      I deleted the line where the error was located and the programm is succesfully builded, but it doesn't find any COM ports... I swear I won’t bother you anymore🤣.

    • @DoctorVolt
      @DoctorVolt  2 года назад

      the method "isBusy()" does not exist any more in QT 6. Use isNull() instead. So line 122 will be "if(!i->isNull()))".

  • @jermsworms9800
    @jermsworms9800 3 года назад

    Is there a way to boot cp/m without a pc

    • @DoctorVolt
      @DoctorVolt  3 года назад +1

      Not in this configuration. But you could add some type of ROM (EEPROM or EPROM) to the circuit and let it boot from there.

  • @blackterminal
    @blackterminal 5 месяцев назад

    Use a real disk drive.