Hjalfi writes Hello World for CP/M seven times

Поділитися
Вставка
  • Опубліковано 17 вер 2024

КОМЕНТАРІ • 71

  • @axardon
    @axardon 5 років тому +9

    Just bought one NC 200 on eBay because of this :-) Great video and keep up the good work.

  • @hjalfi
    @hjalfi  5 років тому +12

    If you were lucky enough to see the version of this where the Cobol compilation went wrong and I muttered about fixing it in post and then did a retake, I forgot to fix it in post. I have now fixed it in post. Have a nice day.

    • @hjalfi
      @hjalfi  5 років тому +1

      Breaking news! The updated video is still being processed by UA-cam. Until that happens, everyone please just pretend that the segment from 10:30 to 12:10 doesn't exist. After it gets processed, of course, this message will be meaningless and completely confusing.

    • @hjalfi
      @hjalfi  5 років тому +5

      Okay, the change has finally rolled out. Please ignore my previous message as it is now confusing and misleading. In fact, ignore the top message too, as it's no longer relevant. You should probably ignore this one as well, TBH. I hope that's clear!

    • @brucemcfarling7810
      @brucemcfarling7810 4 роки тому

      @@hjalfi Aye aye sire, ignoring as ordered sir. In fact, this reply itself does not exist, since as ordered I ignored both the original comment and the two replies.

    • @squirlmy
      @squirlmy 2 роки тому

      @@hjalfi nothing to see here! nothing to see! move along! move along please! lol!

  • @tergav8312
    @tergav8312 5 років тому +6

    Sweet, i'm going to have to get my hands on one of those laptops sometime. Never knew CP/M was so versatile.

  • @TSteffi
    @TSteffi Рік тому

    Man, I just recently ported CP/M Plus to John's Z80 Retro board, and it's so much fun.
    The feeling of running your own OS, you wrote the BIOS yourself, you know how every byte moves through the registers.
    This is the first video of yours I have been recommended, and I really hope you have done more CPM stuff since then

  • @igotes
    @igotes 2 роки тому +2

    It amuses me that apart from ASM and C, the Hello world binaries are larger than the OS.
    A friend of mine had one of these in school because he had a learning difficulty of some sort. Since we were 80s kids and very familiar with BASIC, it was a lot of fun. I'm here from a link in an article on The Register, by the way!

    • @hjalfi
      @hjalfi  2 роки тому

      I'm famous!

  • @joseph_donovan
    @joseph_donovan 5 років тому

    Love it, love it, love it! More please! Thank you so much. A delightful treat! Thanks a million for posting.

  • @McDutchie
    @McDutchie 5 років тому +4

    Thanks mate, that was fun! I spent years of my life in the MSX2 port of that very Turbo Pascal IDE as a teenager. (MSX-DOS was CP/M compatible.) I even wrote a graphics library for it, which I distributed on floppy disks just like yours. :) Never seen a Z80 laptop up close, though.
    Re 12:10, I don't believe you could possibly have invoked the Fortran compiler with the Cobol command. Seems to me that the command at 10:37 simply didn't overwrite the previous Fortran compiled file.

    • @hjalfi
      @hjalfi  5 років тому +3

      Yes, I screwed up the invocation twice --- it actually ended up compiling to a file called 'cobolhel.lo' and I just reran the Fortran version. (You can see it in the directory listing later.) I actually did a retake but forgot to chop out the bad segment! As soon as UA-cam editor catches up it should get fixed.

  • @ultraveridical
    @ultraveridical 3 роки тому +1

    Nowadays a hello world application in a modern language is likely to be 720k+

    • @zxGHOSTr
      @zxGHOSTr 2 роки тому

      C# would be around 52mb

  • @Philip8888888
    @Philip8888888 2 роки тому +2

    Even though I've never used CP/M in my life (I started with DOS), I find myself compelled to make a homebrew computer and the simplicity of CP/M makes it an obvious candidate.

  • @another3997
    @another3997 10 місяців тому +1

    Excellent video, many thanks for all the work. I have an NC100, but I'm keeping an eye out for a NC200 at a reasonable price. The price of most "Retro" tech has skyrocketed in the last few years. 🙁

  • @MarkTheMorose
    @MarkTheMorose 5 місяців тому +3

    The Register brought me here.

  • @Zeal8bit
    @Zeal8bit 2 роки тому

    Awesome video!
    I am quiet surprised with the C compiler speed. I was expecting it to be slower. I guess it will become slower when the files get bigger.
    I love the computer too, the keyboard sounds comfortable to use!

  • @davidgari3240
    @davidgari3240 8 місяців тому +1

    Luxury!
    Of course, we had it bad...
    Try an Altair 8800 with 80KB capacity 8" hard-sectored floppies running AltairOS; or how about a NorthStar Horizon with 90KB 5.25" (also hard-sectored) floppies running N*DOS? As I recall, neither OS had Dynamic File Allocation.
    Thanks for the memories of a time when computers waited for us instead of the other way 'round.

  • @TheDarkplace
    @TheDarkplace Рік тому +1

    My NC200 got me through the first half of my degree. It's still in lovely condition and I'm hoping to use it more.
    Just researching battery choices now.
    I'm thinking NI-ZNK AA's in C adapters.

    • @hjalfi
      @hjalfi  Рік тому

      There's enough space in that compartment for a USB power bank plus a DC-DC converter to produce the voltage the NC200 needs. If you want a project...

  • @OTPULTA
    @OTPULTA 5 років тому +2

    Very cool video. Hello from Russia!

  • @ChilapaOfTheAmazons
    @ChilapaOfTheAmazons 4 роки тому

    Great video!
    Thank you for a clear view of the screen. 😀

  • @domorewithsage
    @domorewithsage 2 роки тому

    Really great video, never used CP/M back in the day, jumped onto DOS around version 3.3. Used to do alot of dbase/clipper back in the day and didnt reslise DBase II ran on CP/M also.

  • @ncot_tech
    @ncot_tech 4 роки тому +1

    Seeing COBOL gave me flashbacks to one of the units we did at college. Horrible language.
    Next challenge - put CP/M on that machine's ROM instead of the Amstrad stuff that's in it :)

  • @GregBabineau
    @GregBabineau 4 роки тому

    Really cool demonstration.

  • @Plrang
    @Plrang 3 роки тому

    What a beauty

  • @DavstrWrexham
    @DavstrWrexham 3 роки тому

    those laptops had bbc basic built into rom. I used to program the nc100 my aunt used to own

  • @RetroComputingwithMike
    @RetroComputingwithMike 5 років тому +4

    Can you maybe upload the image for that floppy somewhere? O:)

    • @axardon
      @axardon 5 років тому +2

      You can find everything in his Github repo (github.com/davidgiven/cpmish).

  • @DennisdeWeerd
    @DennisdeWeerd 5 років тому +2

    Hi, is there a link available to this version of cp/m for the nc200? I have used zcn, but that version is more geared towards the NC100.

    • @hjalfi
      @hjalfi  5 років тому

      It's nominally at github.com/davidgiven/nc200cpm, but I'm currently reworking it to sort out some 1980s licensing issues, so I can't guarantee it's actually working right now.

    • @DennisdeWeerd
      @DennisdeWeerd 5 років тому

      @@hjalfi OK. I'd be very interested to try out your version of CP/M on my NC200. Hopefully, there will be some binaries soon! flash card support would be awesome! Thanks for sharing the link!

  • @TSteffi
    @TSteffi Рік тому

    PS: you could save a bunch of room on your floppy if you put some of the com files inside a lbr file and run them with lrun.

  • @Izavos
    @Izavos 4 роки тому +1

    Mr and a beautiful work beautiful computer very well maintained.
    Congratulations.
    I was a user of Apple IIe with CPM / 80 card with various system programs. Could I download a program like turbo.com "Turbo Pascal" from your machine and copy it to my old Apple IIe and use or systems are different ???

    • @hjalfi
      @hjalfi  4 роки тому +2

      Thanks! Turbo Pascal is available here: www.z80.eu/pas-compiler.html It should work on any CP/M machine, but you'll need to configure out for the IIe's terminal using tinst.com. Can't help there, I'm afraid, as I have no idea how the IIe works.

    • @Izavos
      @Izavos 4 роки тому

      @@hjalfi Thank you so much again.

  • @Fezzler61
    @Fezzler61 4 роки тому +1

    I want one!

  • @Wobblybob2004
    @Wobblybob2004 4 роки тому +2

    "You don't get much more business than Cobol" Pfffff Try some RPG II

    • @hjalfi
      @hjalfi  4 роки тому

      Sadly, you are completely correct. (Also, do you know of a downloadable RPG-II compiler for CP/M?)

    • @Ho1yhe11
      @Ho1yhe11 2 роки тому

      That would be interesting to see a software emulating the scan cards to put in the rpg II into its compiler on this sort of device
      Even hearing about rpg II brings up memories of having to number the corners of cards and debugging could take hours for fairly simple programs
      Though one language i thought was missing was lisp

  • @erwing.3902
    @erwing.3902 3 роки тому +1

    What about preparing yout floppy disk?
    Did you only put a bootable image of cp/m on it, which can be started with "Function + R", and that´s it?
    Or had you to format, prepare, write the floppy disk in a special bootable way for the NC200? Thank you.

    • @hjalfi
      @hjalfi  3 роки тому +1

      I had to port CP/M myself (see cowlark.com/cpmish/), but the floppy disk format itself is a standard PC 720kB disk. You get better results if you format it on the NC200 itself due to the interleave being better for the very slow processor but any 720kB disk will work.

    • @erwing.3902
      @erwing.3902 3 роки тому

      @@hjalfi ok, thank you. "Formating on the NC200" means, it simply deletes the complete floppy? But doesn't make it bootable, like "format a: /s" in DOS?
      (Sorry for questioning so much - I'm an amateur :) )

    • @hjalfi
      @hjalfi  3 роки тому +1

      @@erwing.3902 The NC200 isn't really supposed to be bootable at all --- it's a hidden (and rather broken) feature. See cowlark.com/2017-12-04-nc200-reverse-engineering. So, formatting the disk won't make it bootable. What it does is lay out the sector structure on the disk; this structure is optimised for the NC200 rather than a normal PC, but other than that it's a completely normal PC data disk. You'll even got a DOS filesystem (which CP/M doesn't understand).

  • @LiviuDragon
    @LiviuDragon 3 роки тому

    this is quite an very old laptop

  • @Lucretia9000
    @Lucretia9000 3 роки тому

    The Turbo compilers were fast because they did minimal optimisation, peephole only, iirc.

  • @yorgle
    @yorgle 5 років тому +3

    Ooooh. I want one of these! (with CP/M of course.) What is the going rate for these?

    • @hjalfi
      @hjalfi  5 років тому +3

      Not that bad, when they show up on eBay, which isn't often. I paid £40 for mine in 2017. Look also for the DreamWriter 200, which is a rebadged version of the same machine.
      Oh, yeah, I also did a Fuzix port.

    • @leocomerford
      @leocomerford 5 років тому +2

      @@hjalfi This NC 200 looks like a very interesting platform for 8-bit retroprogramming. www.computinghistory.org.uk/det/18431/Amstrad-NC200/ Sony floppy drive, decent keyboard, 128KiB RAM, CP/M-compatible, RS232 and parallel ports, small, self-contained, portable, backlit, still under €100 used, PCMCIA (only v. 1 I assume?) ... The only big flaws seem to be: a display which is limited in some ways, no real expansion (as opposed to I/O) ports or slots, incomplete emulation, and no big historic software library or current retro scene. Still, that last is the reason why the things are still affordable, no doubt. I'll have to downvote and report this video as it's seriously jeopardising my chance of getting one cheap now. ;)

  • @fcf8269
    @fcf8269 2 роки тому +1

    Is there a way to use CPM on the NC200 without use a floppy to boot? Looks like the drive I have is dead so cannot use it to read the disk using the secret boot command.

    • @hjalfi
      @hjalfi  2 роки тому

      They respond to the magic boot-from-PCMCIA-SRAM command too. See cowlark.com/2017-12-04-nc200-reverse-engineering. It'd be totally possible to boot CP/M from that, and then use either the SRAM card or swap to a CF card for storage --- just a matter of programming it!

  • @KwccoinUk
    @KwccoinUk 6 місяців тому +1

    Wonder easy to run an emulator that run all these in a MacOS M1/2/3 these days.

    • @hjalfi
      @hjalfi  5 місяців тому

      I think there's MAME support for the NC200 now.

  • @TheWinnieston
    @TheWinnieston 4 роки тому

    Can you play rogue or nemesis on this? Also, that's a wicked cp/m laptop!

    • @hjalfi
      @hjalfi  4 роки тому

      Nemesis, probably, if you can configure the screen correctly; I haven't tried. Rogue, I don't know --- I haven't found a CP/M Rogue yet.

    • @TheWinnieston
      @TheWinnieston 4 роки тому

      @@hjalfi I found the cp/m implementation, I can find the link again tonight. It 'runs' on my z180 romwbw but my terminal emulator throws it off so I see a bunch of escape codes

    • @hjalfi
      @hjalfi  4 роки тому

      @@TheWinnieston If there's source for it, drop me an email --- I'd be interested to see if I can add it to cpmish.

    • @TheWinnieston
      @TheWinnieston 4 роки тому

      @@hjalfi I found the executable and source here: britzl.github.io/roguearchive/

  • @LiviuDragon
    @LiviuDragon 4 роки тому

    can be hooked up a printer?

    • @hjalfi
      @hjalfi  4 роки тому +2

      Yes, there's a centronics printer port on the back. However I haven't written a driver for it yet (as I have no printer which can use centronics!).

  • @grappydingus
    @grappydingus 5 років тому

    You need PL/M. en.wikipedia.org/wiki/PL/M

    • @arfanmedni7294
      @arfanmedni7294 3 роки тому

      You need to be a computer scientist for that. It's low level programming.

    • @grappydingus
      @grappydingus 3 роки тому

      @@arfanmedni7294 A little more low level, but not bad for Hello World:
      HELLO_WORLD: DO;
      /* external I/O routines */
      WRITE$STRING: PROCEDURE( S ) EXTERNAL; DECLARE S POINTER; END WRITE$STRING;
      /* end external routines */
      MAIN: PROCEDURE;
      CALL WRITE$STRING( @( 'Hello world!', 0AH, 0 ) );
      END MAIN;
      END HELLO_WORLD;

    • @TSteffi
      @TSteffi Рік тому +1

      PL/M isn't really low level. It was actually DRIs attempt at a high level language.

    • @another3997
      @another3997 10 місяців тому

      ​@@grappydingusHoly cr*p, that's awful. All that to say "hello world" makes me cringe. Imagine if that had been shipped with home computers instead of BASIC, Most people wouldn't have bothered learning the basic principles of programming. The '80s bedroom coding boom would never have happened and we'd have just played games instead. 😂

  • @SteveDaviesCPT
    @SteveDaviesCPT 5 років тому

    You've got a Pebble that still works !?

    • @hjalfi
      @hjalfi  5 років тому

      I am now on my emergency backup Pebble (my Pebble Steel died), but yes. I upgraded from an Android watch to it and never looked back.

    • @SteveDaviesCPT
      @SteveDaviesCPT 5 років тому +1

      @@hjalfi Had a steel - love it. Unfortunately the strap broke and it went in the pool and :-(. I enjoyed the video a lot, thanks.
      I remember my first programming job the customer had an HP3000 series 3 minicomputer with 2MB of RAM and 40MB hard disk that ran 8 users or so on terminals running database-based business application. So we definitely forgot how to be efficient.