CPCWiki forum

General Category => Programming => Topic started by: Bryce on 10:19, 06 December 11

Title: ROM 0 feeling neglected :(
Post by: Bryce on 10:19, 06 December 11
Hi All,
     I have been asked by many MegaFlash owners: "What can I put in ROM 0 ?" and unfortunately, my answer up to now has been "not much". ROM 0 holds the BASIC interpreter and due to the fact that it needs to match the Firmware, it's not even possible to install BASIC 1.1 from a 6128 on a 464. However, there are lots of budding coders out there, so surely someone can come up with some uses for this empty space?

How about an enhanced BASIC? New commands? Faster more efficient BASIC? Or smaller, to make space for new stuff? Looking forward to hearing some ideas and maybe even testing some new code? :)

Bryce.
Title: Re: ROM 0 feeling neglected :(
Post by: AMSDOS on 10:53, 06 December 11
Quote from: Bryce on 10:19, 06 December 11
Hi All,
     I have been asked by many MegaFlash owners: "What can I put in ROM 0 ?" and unfortunately, my answer up to now has been "not much". ROM 0 holds the BASIC interpreter and due to the fact that it needs to match the Firmware, it's not even possible to install BASIC 1.1 from a 6128 on a 464. However, there are lots of budding coders out there, so surely someone can come up with some uses for this empty space?

How about an enhanced BASIC? New commands? Faster more efficient BASIC? Or smaller, to make space for new stuff? Looking forward to hearing some ideas and maybe even testing some new code? :)

Bryce.

Doesn't that GUI - DES use ROM Slot 0, I seem to recall that if the ROM version was installed it would fire up when you switched on the Computer, or is that different? They have what they call Background ROMs or something. Also I was under the impression that people were upgrading their 464s around 1989 to have BASIC 1.1 running on it, that was until Amstrad put a stop to it.
Perhaps if you wanted something new in ROM 0, you could take that copy of DES and write a Locomotive BASIC 2.0 like how it was on those Amstrad PC Systems running GEM! :D
Title: Re: ROM 0 feeling neglected :(
Post by: Bryce on 11:02, 06 December 11
Yes, I think DES can use ROM 0 to Autoboot, but I've never tried it. I think FOS can do the same.

To get BASIC 1.1 running on a 464 you would have to swap the entire ROM 0 (Upper and Lower ROM), which the MegaFlash or other ROMBoards can't do. I assume those people back in 89 were swapping the internal ROM.

A new BASIC for the CPC would be really cool and other 8-Bit scenes have done similar stuff, such as Turbo Basic XL for the Atari. I just thought a "super-charged" BASIC would be cool. And when I see what demos and modern games can squeeze out of a CPC today compared with games of the 80's, then I'm pretty sure BASIC could be majorly improved too?

Bryce.
Title: Re: ROM 0 feeling neglected :(
Post by: Phi2x on 11:11, 06 December 11
.
Title: Re: ROM 0 feeling neglected :(
Post by: SyX on 12:52, 06 December 11
Quote from: Bryce on 10:19, 06 December 11How about an enhanced BASIC? New commands? Faster more efficient BASIC? Or smaller, to make space for new stuff? Looking forward to hearing some ideas and maybe even testing some new code? :)
Well, in the old mags (Amstrad Semanal, Computing With The Amstrad, ...) there was a lot of nice RSXs as circle, pattern fill, sprites, ... that and TAB completion would make  a great new basic rom...

But my own ideas for a new rom 0 are not in that direction, the only basic that i use is memory, load, save, poke and call. I don't need support compability, because that i have been fooling around with the idea of an interactive python interpreter (http://www.pythonanywhere.com/try-ipython/).

Title: Re: ROM 0 feeling neglected :(
Post by: Bryce on 13:09, 06 December 11
Well how about a Web Browser that boots directly from ROM 0, it doesn't need BASIC to work and could use other ROMs for drivers for rpalmers Network interface? CPChromeTerminal ?

Bryce.
Title: Re: ROM 0 feeling neglected :(
Post by: SyX on 13:40, 06 December 11
That is a great idea, but it's not necessary replace the rom 0. While the CPC reset, only need to check for a key shortcut in the initialization function of the browser rom to launch it, in other case goes normally.

CPChromeTerminal??? Well, something so simple as the Speccyboot project (http://speccyboot.sourceforge.net/) would be amazing :)

I think the only problem here is with "What can I put in ROM 0?", as if you don't put anything in the rom 0, you would not using the MegaFlash at the 100%, then i only using the 93,75% of the MegaFlash, because i'm not using the roms 0 and 7  :P
Title: Re: ROM 0 feeling neglected :(
Post by: Bryce on 15:48, 06 December 11
Well if you use a 464 or a CPC+ then you can take advantage of ROM7 as I do (I have ParaDOS installed there) :)

Bryce.
Title: Re: ROM 0 feeling neglected :(
Post by: TFM on 23:33, 06 December 11
Ok, to clear some misunderstandings

- DES doesn't use ROM 0 (a lot of reasons)
- No, 6128 BASIC also needs 6128 lower ROM
- Yes, FutureOS ROM A at position 0 will autoboot.

Use of ROM 0? Patched BASIC, for example the Mister-X version.
Title: Re: ROM 0 feeling neglected :(
Post by: Bryce on 23:36, 06 December 11
Oh, I don't know the Mister X ROM, what does it offer extra?

Bryce.
Title: Re: ROM 0 feeling neglected :(
Post by: TFM on 23:46, 06 December 11
Quote from: Bryce on 23:36, 06 December 11
Oh, I don't know the Mister X ROM, what does it offer extra?

Bryce.

Let me try to upload first...

Let's see if it works...
Title: Re: ROM 0 feeling neglected :(
Post by: fgbrain on 10:58, 07 December 11
QuoteOk, to clear some misunderstandings

- DES doesn't use ROM 0 (a lot of reasons)

if you read the manual, it says it autoboots.
The ROM version occupied two ROMs and booted directly into the GUI environment, bypassing the BASIC command line entirely (although this could be prevented by holding down the SPACE bar).


It is foreground ROM right?
Title: Re: ROM 0 feeling neglected :(
Post by: RockRiver on 12:23, 07 December 11
Sorry!, mates, another silly question from me... ???
Then... if I remove the ROM BASIC and FirmWare chip and leave the socket empty... I could make funtional lower & upper ROM 0 from MegaFlash or SymbiFace? I understand that in plus CPC, NO!! But in classic CPC?
Title: Re: ROM 0 feeling neglected :(
Post by: Bryce on 13:13, 07 December 11
Also No. The MegaFlash (and all other ROMBoards I know of), will only replace the Upper ROM. Replacing the lower ROM would require aditional hardware.

Bryce.
Title: Re: ROM 0 feeling neglected :(
Post by: TFM on 20:11, 07 December 11
Quote from: fgbrain on 10:58, 07 December 11
if you read the manual, it says it autoboots.
The ROM version occupied two ROMs and booted directly into the GUI environment, bypassing the BASIC command line entirely (although this could be prevented by holding down the SPACE bar).


It is foreground ROM right?


Ok, let's expain this in more detail. Any ROM can autoboot, because any ROM get's initialized by the CPC-OS. But usually a ROM gives control back to the OS.

If you would install DES at ROM position 0 then it would NOT work any longer, because the BASIC ROM would be missing and it depends on that.

It's a background ROM, as you see if you check. Actually DES consists ouf of two ROMs and both have &01 at address &C000, so they are both background ROMs.

Any questions? Let me know :)
Title: Re: ROM 0 feeling neglected :(
Post by: TFM on 20:12, 07 December 11
Quote from: Bryce on 13:13, 07 December 11
Also No. The MegaFlash (and all other ROMBoards I know of), will only replace the Upper ROM. Replacing the lower ROM would require aditional hardware.

Bryce.

Indeed!
Title: Re: ROM 0 feeling neglected :(
Post by: MacDeath on 06:09, 08 December 11
(http://www.bourlingueurs.com/roumanie/fotos/glod_075.jpg)

Roms feeling neglected ? :D
Title: Re: ROM 0 feeling neglected :(
Post by: AMSDOS on 08:49, 08 December 11
Quote from: TFM/FS on 23:33, 06 December 11
Ok, to clear some misunderstandings

Ok. :)

Quote- DES doesn't use ROM 0 (a lot of reasons)

Yep - so it's a Background ROM with BASIC running in the Background.

Quote- No, 6128 BASIC also needs 6128 lower ROM

My only problem regarding this is people say 6128 BASIC, though BASIC 1.1 was also in a 664 which would of had it's own Lower ROM as well I presume - still it's a Disc Based Machine. Is a 664 with 64k Memory Expansion the same as a 6128??

I'd have to do a lot of running around looking up AAs to see what the deal is with 464s using BASIC 1.1 is there something different in a 464 sold in 1989 which allows it to have BASIC 1.1? I only vaguerly recall they were selling ROMs and Amstrad put a stop to it or something, though I don't recall anyone writing to AA asking why their BASIC 1.1 won't work in their 464. But then I may have it all wrong since that was some 20 years ago! :o

Quote- Yes, FutureOS ROM A at position 0 will autoboot.

So essentially it works on everything from scratch with certain hardware elements aspects in mind!

Use of ROM 0? Patched BASIC, for example the Mister-X version.
[/quote]
Title: Re: ROM 0 feeling neglected :(
Post by: Bryce on 09:28, 08 December 11
Due to the fact that the lower and upper ROMs are both in one physical IC, I assume the IC they were selling was actually just a 664 ROM which people were just swapping with the 464 ROM.

Bryce.
Title: Re: ROM 0 feeling neglected :(
Post by: TFM on 19:04, 08 December 11
Quote from: CP/M User on 08:49, 08 December 11
Is a 664 with 64k Memory Expansion the same as a 6128??

Pretty much, but the 664 misses a GAL responsible for banking. Therefore only the 6128 is able to use RAM configurations &C1 and &C3 - needed for CP/M Plus, SOS and FutureOS.

Quote from: CP/M User on 08:49, 08 December 11
So essentially it works on everything from scratch with certain hardware elements aspects in mind!

Yes :-)

Quote from: CP/M User on 08:49, 08 December 11
Use of ROM 0? Patched BASIC, for example the Mister-X version.

Right, for example. But you can also do silly things like patch the word "Ready" to something like "Ok" or whatever :-)
Title: Re: ROM 0 feeling neglected :(
Post by: MiguelSky on 20:50, 08 December 11
Quote from: CP/M User on 08:49, 08 December 11My only problem regarding this is people say 6128 BASIC, though BASIC 1.1 was also in a 664 which would of had it's own Lower ROM as well I presume - still it's a Disc Based Machine. Is a 664 with 64k Memory Expansion the same as a 6128??

I'd have to do a lot of running around looking up AAs to see what the deal is with 464s using BASIC 1.1 is there something different in a 464 sold in 1989 which allows it to have BASIC 1.1? I only vaguerly recall they were selling ROMs and Amstrad put a stop to it or something, though I don't recall anyone writing to AA asking why their BASIC 1.1 won't work in their 464. But then I may have it all wrong since that was some 20 years ago! :o
Well, some 472 models (those with english keyboard) included BASIC 1.1 ROM, but the ones with spanish keyboard returned to BASIC 1.0. There was a good bunch of games that don't work properly with this model (I have one of these).

(http://img855.imageshack.us/img855/7276/clearinput.jpg)(http://img535.imageshack.us/img535/5757/fillz.jpg)
Title: Re: ROM 0 feeling neglected :(
Post by: AMSDOS on 10:14, 11 December 11
The 664 ROM Scenario seems to explain how a 464 could have BASIC 1.1 I suppose. Those 472 machines clearly show v2 on bootup which makes it a 664!  8)  Still it's a mystery why Amstrad didn't allow for them 464s to have it's own BASIC 1.1. I also recall that them 64k Memory Expansions had additional commands, though I think they were only Commands used by programs like Bank Manager (unless someone knows different)!  :D
Title: Re: ROM 0 feeling neglected :(
Post by: TFM on 22:01, 12 December 11
Quote from: CP/M User on 10:14, 11 December 11
The 664 ROM Scenario seems to explain how a 464 could have BASIC 1.1 I suppose. Those 472 machines clearly show v2 on bootup which makes it a 664!  8) 
Ehm.. no! The 472 still has no disc drive.

Quote from: CP/M User on 10:14, 11 December 11
Still it's a mystery why Amstrad didn't allow for them 464s to have it's own BASIC 1.1. ...

Probably because in these days most programs did run on BASIC 1.0 and a noteworthly number of programs did not run on BASIC 1.1 - especially programs from computer journals.
Title: Re: ROM 0 feeling neglected :(
Post by: Bryce on 22:55, 12 December 11
?? What BASIC 1.0 programs wouldn't work on BASIC 1.1? I thought 1.1 only added additional commands?

Bryce.
Title: Re: ROM 0 feeling neglected :(
Post by: TFM on 04:05, 13 December 11
Quote from: Bryce on 22:55, 12 December 11
?? What BASIC 1.0 programs wouldn't work on BASIC 1.1? I thought 1.1 only added additional commands?

Bryce.

The reason for the incompatibility is that BASIC 1.0 and 1.1 have different entry addresses for a whole bunch of firmware routines. (See CPC ROM Listing, Markt & Technik)

BASIC 1.1 added routines, in addition it altered routines (faster garbage collection for example) and it _misses_ some routines (one of them is a pity to be absent).

So yes, in the 80ies it was a pain in the ass to own a 6128 once a while. Reason enought for me to learn Z80 assembler ;-)
Title: Re: ROM 0 feeling neglected :(
Post by: steve on 06:37, 13 December 11
As I remember it, Basic 1.0 used jumpblocks in ram so that the rom could be altered in the future without causing incompatibilities with software, so if some programs did not work with basic 1.1 it must be because the programmers did not use the jumpblocks in ram, so it is unfair to say that basic 1.1 caused incompatibilities with existing software.
Title: Re: ROM 0 feeling neglected :(
Post by: TFM on 22:36, 13 December 11
Well Steve, as mentioned before parts of these "jump blocks in RAM" have been modified. As suggested take a look at the CPC ROM Listing published by Markt & Technik or similar literature, f.e. firmware guide.

The hardware of the 464 / 664 and 6128 is actually way more compatible than its native OS or BASIC.

And btw. don't think that BASIC 1.1 on 664 is that same as on 6128.
Title: Re: ROM 0 feeling neglected :(
Post by: Gryzor on 08:21, 16 December 11
 That's why Amstrad was so outspoken about sticking to the firmware after all, wasn't it?
Title: Re: ROM 0 feeling neglected :(
Post by: MaV on 09:14, 16 December 11
Quote from: TFM/FS on 22:36, 13 December 11
And btw. don't think that BASIC 1.1 on 664 is that same as on 6128.

I second that. (Just to put in my weight. *cough**cough*)

BASIC 1.1 on the 664 and 6128 are definitely different.

Title: Re: ROM 0 feeling neglected :(
Post by: TotO on 09:24, 16 December 11
Quote from: Bryce on 10:19, 06 December 11How about an enhanced BASIC? New commands? Faster more efficient BASIC? Or smaller, to make space for new stuff? Looking forward to hearing some ideas and maybe even testing some new code?
Removing the actual and doing the port of the Locomotive BASIC 2.0
Title: Re: ROM 0 feeling neglected :(
Post by: TFM on 22:02, 16 December 11
Quote from: TotO on 09:24, 16 December 11
Removing the actual and doing the port of the Locomotive BASIC 2.0

You can even make a Forth, C, or Modula 2 machine out of the CPC. There are no borders left if the lower ROM can be replaced.

But the pitfall here is... for a new OS you need also a bunch of Apps.
Powered by SMFPacks Menu Editor Mod