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.
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.
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!
@@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.
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
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!
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.
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.
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.
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. 🙁
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!
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.
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.
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.
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 :)
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.
@@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!
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 ???
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.
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
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.
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.
@@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 :) )
@@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).
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.
@@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. ;)
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.
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!
@@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
@@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;
@@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. 😂
@@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.
Just bought one NC 200 on eBay because of this :-) Great video and keep up the good work.
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.
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.
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!
@@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.
@@hjalfi nothing to see here! nothing to see! move along! move along please! lol!
Sweet, i'm going to have to get my hands on one of those laptops sometime. Never knew CP/M was so versatile.
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
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!
I'm famous!
Love it, love it, love it! More please! Thank you so much. A delightful treat! Thanks a million for posting.
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.
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.
Nowadays a hello world application in a modern language is likely to be 720k+
C# would be around 52mb
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.
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. 🙁
The Register brought me here.
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!
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.
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.
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...
Very cool video. Hello from Russia!
Great video!
Thank you for a clear view of the screen. 😀
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.
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 :)
Really cool demonstration.
What a beauty
those laptops had bbc basic built into rom. I used to program the nc100 my aunt used to own
Can you maybe upload the image for that floppy somewhere? O:)
You can find everything in his Github repo (github.com/davidgiven/cpmish).
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.
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.
@@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!
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.
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 ???
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.
@@hjalfi Thank you so much again.
I want one!
"You don't get much more business than Cobol" Pfffff Try some RPG II
Sadly, you are completely correct. (Also, do you know of a downloadable RPG-II compiler for CP/M?)
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
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.
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.
@@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 :) )
@@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).
this is quite an very old laptop
The Turbo compilers were fast because they did minimal optimisation, peephole only, iirc.
Ooooh. I want one of these! (with CP/M of course.) What is the going rate for these?
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.
@@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. ;)
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.
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!
Wonder easy to run an emulator that run all these in a MacOS M1/2/3 these days.
I think there's MAME support for the NC200 now.
Can you play rogue or nemesis on this? Also, that's a wicked cp/m laptop!
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.
@@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
@@TheWinnieston If there's source for it, drop me an email --- I'd be interested to see if I can add it to cpmish.
@@hjalfi I found the executable and source here: britzl.github.io/roguearchive/
can be hooked up a printer?
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!).
You need PL/M. en.wikipedia.org/wiki/PL/M
You need to be a computer scientist for that. It's low level programming.
@@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;
PL/M isn't really low level. It was actually DRIs attempt at a high level language.
@@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. 😂
You've got a Pebble that still works !?
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.
@@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.