News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_zhulien

More NC200 questions

Started by zhulien, 16:39, 18 June 23

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

zhulien

I'm half keen on getting an NC200 - it's likely the closest thing to a CPC laptop I will ever get without using emulation.

I have an NC100, just bought it to replace one I had 20 years ago which I installed the CP/M clone on, so I sort of know the restrictions of CP/M on the NC100.

I recently watched a youtube about the NC200 which interested me, having the large flash storage as a hard drive instead of the 1mb card I used to use in the NC100.

There is an NC200 on ebay now which to me is an okay price (but I have to add another 50% postage).  It has battery corrosion as shown in the pictures.  Is this a terrible buy or okay value as I don't see them on ebay often - especially ones that will ship to Australia.

Other than the larger screen and the fact it opens and closes like a laptop, and the floppy drive, what other benefits are there for an NC200 over an NC100?

zgedneil

The obvious further advantages the NC200 has are the backlight, and having twice as much RAM.

There are significant issues though - the floppy drive and larger batteries etc. make it far heavier than an NC100, and the floppy drive might not be usable if you run it from rechargeable batteries. Another issue with rechargeables is that it takes five C batteries, so you'd need a charger which charges those individually rather than in pairs (which isn't a problem but does mean you need a more expensive charger).

About the flash, presumably as used with cpmish - I would look into the reality of this very closely if you plan to use it. The impression I got is that using flash meant both removing the case of the flash device and drawing more power than the NC200 is usually expected to supply, not something I'd be keen on personally.

zhulien

cool, i didn't know it had a backlight

Prodatron

Some more questions, since I would like to boot SymbOS NC on such a machine in a reasonable way:
- is it possible at all to start a program from the 3,5" drive without having an SRAM PCMCIA card inserted? the docs, which I saw, say, that you first have to copy it to the PCMCIA SRAM
- what type of SRAM PCMCIA cards are usual? 256K? 512K? 1024K? My plan is to use half of the card for ram and the other half for ram disc, if the card is 512K or more.
- is it still possible today to fill a battery-backed PCMCIA SRAM card on a modern PC? Or is this impossible because of missing adapters (like USB)?

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

zgedneil

The NC200 has a boot-from-floppy option on Function-R, but it's a bit complicated to support due to a bug in the ROM. If you check out FUZIX and ZCN you should get the general idea. (ZCN 1.4 essentially uses the FUZIX code, but allows for loading slightly more into RAM.) I don't think you need a memory card inserted.

Re: card capacity, I'd say it's best to support all of 256/512/1024k if possible, as the cards are getting harder to get.

Writing the cards on modern PCs would presumably need custom hardware and software. Even on old PC hardware with a card slot, it sounds like getting the right software is a hassle.

Prodatron

#5
Thanks for the information, Russell!

Yes, I missed this strange boot-from-floppy option with the extra sector/marked(blocked) clusters etc., now I got it and maybe it is an option.

Regarding 256/512/1024 sram pcmcia card support:
Do you know how the real machine or your emulator behaves if you map in non-existing RAM either from internal or the pcmcia, when using port #10-#13? (e.g.

LD A,64+4
OUT (#10),A

when there is only internal 64K)
Will it always show 128K/1024K or will it mirror the first 64K to the second one if there is only 64K?

I just ask because of the ram detection, somehow my usual memory detection code currently doesn't work with nc100em.

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

zgedneil

I believe the real hardware loops RAM at 64k on the NC100, and 128k on the other models - I checked my real NC200, and it does do the 128k loop. nc100em 1.3a also works this way. The old Nilquader fork of nc100em 1.2 which you might be using seems to always have 128k RAM available, looped at 128k, meaning that NC100 RAM will look just like NC200 RAM (which did fix a bug in 1.2, but not very well).

Memory cards should also loop similarly on the real hardware, except for a 1024k card which will fill all of the 80h-BFh pages - I think trying pages C0h-FFh doesn't give you any usable results. Unfortunately nc100em didn't handle smaller cards properly until version 1.3a. Before that, I don't think there was any way to safely detect the card size when using smaller cards, as the emulator would set up pointers to beyond allocated memory which is a Bad Idea.

So this is where it gets complicated. 1.2 and the Nilquader fork could probably be spotted using yet another old bug, which is that the always-128k of RAM will also appear in pages 20h-27h (but it won't be writable there). This behaviour is probably unique to 1.2-based emulators, and certainly won't ever happen on a real NC, so you could maybe just assume a 1024k card if writes to RAM are reflected by pages in the 20h-27h range.

Detecting the difference between the NC100 and NC150/NC200 would be tricky in these versions though. ZCN's nctest shows one possible option, with the BBC Basic ROM page test it does. As the source says, the location is "ROM page 5 on NC100s, or 12 on everything else" (assuming an Amstrad ROM is being used).

Prodatron

Thanks so much for this info again, it's great that you are here again! :)

For detecting, if it's a NC100/150 or NC200 I am currently using the RTC. At least in your emulator it works fine! (day, month, year can't always be the same on a NC200).

Regarding memory detection you are right, it seems, that the Nilquader fork always have 128K for all NC100/150/200.

I guess I have to buy a working NC200 again to finish the last little details in a reasonable way, but your emulator is such a great help, thanks so much!

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

zgedneil

Thanks. I imagine nc100em 1.3a would work in a VM, if that helps. Or if you can recompile the fork, I think you'd only need a slight change to the do_paging function in common.c to fix the RAM bug, replacing ((n&0x0f)%8) on line 301 with: (n&((nc200 || nc150)?7:3))

Powered by SMFPacks Menu Editor Mod