News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

Hisoft C

Started by arnoldemu, 13:10, 03 September 13

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

arnoldemu

I was just given Hisoft C for CPC for free from one of the guys who works at the same place as me.

I've been showing it off and telling people they should use it instead of Microsoft's C compilers.

Nice  ;D

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

arnoldemu

I've looked at the manual and it seems to be different to the online one.

It has a section for amsdos and a section for cpm. One part in red even says how to make the manual into a "cpm" specific manual by removing parts of it!

When I have time I'll dump the disc to see if there is any difference to the existing dumps.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

AMSDOS

Quote from: arnoldemu on 09:40, 04 September 13
I've looked at the manual and it seems to be different to the online one.

Separate from the Old Version & New Version. The Later version of Hisoft C was made to work for CP/M on a CPC/PCW and claimed it would work in Generic CP/M.

QuoteIt has a section for amsdos and a section for cpm. One part in red even says how to make the manual into a "cpm" specific manual by removing parts of it!

Sounds like the updated edition. I was reading that one version of Hisoft C gave you 3 Versions for the 3 Operating System on an Amstrad (2.2, Plus, AMSDOS) - hence 2 Compilers for the price of 1.
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

TFM

Instead of Highsoft C I really do strongly suggest the use of Small C.  :)



TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

arnoldemu

#4
I looked again at it.
It seems to be a first edition from 1985.
It mentions CPC464, CPC644 and ZX Spectrum with Microdrive.
That's it.

It has a section for AMSDOS and a section for CPM.

I like the GSX library ;)

fun graphics on pcw, cpc etc!  :laugh:

But ultimately I would convert it for sdcc because I am not so keep on the K&R C syntax.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

AMSDOS

Quote from: arnoldemu on 09:25, 05 September 13
I looked again at it.
It seems to be a first edition from 1985.
It mentions CPC464, CPC644 and ZX Spectrum with Microdrive.
That's it.

It has a section for AMSDOS and a section for CPM.

The earlier version of Hisoft C was leaning towards a CPC based platform, perhaps like Hisoft Pascal, Hisoft made their C Language to work on Spectrum as well, so might of made their Manual to reflect all the Systems they made it for? Apparently the earlier version was available on Tape as well as Disc. Not sure how C would go on Tape, I'm guessing not very well?

QuoteI like the GSX library ;)

GSX is of course CP/M Plus based, so if that earlier version of Hisoft C has that, then that suggests Compatibility with CP/M Plus.

QuoteInstead of Highsoft C I really do strongly suggest the use of Small C.

I guess both would offer Advantages/Disadvantages in terms of their capability and code output.
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

arnoldemu

Yes the manual was talking about the tape version and to contact them if you wanted a disc version.
The version I have is disc.

It does lean towards amsdos, but does have a section for cp/m. But it mentions cpc664 which is not cpm+.
So perhaps gsx on cpm 2.2? I will look at it furthur.

It's possible the manual and disc are different versions.

Would be interesting to have a dump of the tape version just for completeness if there isn't one already - but I don't have that.

The documents mention a few libraries for accessing firmware, but nothing on how to make your own libs.

It's interesting even if I don't use it.

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

AMSDOS

#7
Quote from: arnoldemu on 10:05, 05 September 13
It does lean towards amsdos, but does have a section for cp/m. But it mentions cpc664 which is not cpm+.
So perhaps gsx on cpm 2.2? I will look at it furthur.

Yes so just looking at the version of Hisoft C on CPC-Power, it looks like that version came out before the 6128 and CP/M Plus.

QuoteIt's possible the manual and disc are different versions.

Have a look at the version on CPC-Power should verify this, it looks like the old version on Disc is there (no tape though), but it looks like they don't have the revised edition.

QuoteWould be interesting to have a dump of the tape version just for completeness if there isn't one already - but I don't have that.

Hmm yeah, with 11k of Stdio.lib file.  :D


QuoteThe documents mention a few libraries for accessing firmware, but nothing on how to make your own libs.

It's interesting even if I don't use it.

Anything on Accessing RSXes through M/C Routines?
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

arnoldemu

Quote from: AMSDOS on 10:37, 05 September 13
Anything on Accessing RSXes through M/C Routines?
No. It does mention that most roms will be disabled because it runs as a foreground program.
And to avoid roms that allocate low memory - but it says that locomotive discouraged this anyway.

Accessing RSXs from M/C is not a problem?

You need to setup IX, A and call the function?
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

AMSDOS

Quote from: arnoldemu on 13:11, 05 September 13
No. It does mention that most roms will be disabled because it runs as a foreground program.
And to avoid roms that allocate low memory - but it says that locomotive discouraged this anyway.

Accessing RSXs from M/C is not a problem?

You need to setup IX, A and call the function?

Ok, I was just thinking in terms setting up an RSX and using that within the program, which I found to be a very straightfoward process in Hisoft Pascal.

In Small-C I found simply sending some Values from C into the Inline Assembly to be very tricky process.
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

arnoldemu

Quote from: AMSDOS on 01:25, 06 September 13
Ok, I was just thinking in terms setting up an RSX and using that within the program, which I found to be a very straightfoward process in Hisoft Pascal.

In Small-C I found simply sending some Values from C into the Inline Assembly to be very tricky process.
Ok I understand. Will take another look for how it does inline assembly.

So there isn't a mention of calling RSXs here. But there is confusion.

The | command from basic/firmware is an "RSX", but also I have seen mention of a "RSX" in CPM.
Which do you mean here?
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

AMSDOS

#11
Quote from: arnoldemu on 13:41, 06 September 13
Ok I understand. Will take another look for how it does inline assembly.

So there isn't a mention of calling RSXs here. But there is confusion.

The | command from basic/firmware is an "RSX", but also I have seen mention of a "RSX" in CPM.
Which do you mean here?

Sorry, I meant the Firmware - KL LOG EXT (&BCD1).
It just struck me that because this is C Language, it wouldn't have too many (if any) non-standard C routines in place. Hisoft Pascal 4T on the other hand has lots of non-specific Pascal routines which caters for things the CPC can do and a procedure called External(); which works the same way the "|" command does in BASIC.
So it's probably possible to setup an RSX in Hisoft C, though calling it from the C program maybe a lot harder if it lacks something like that.

Ok, so I downloaded the Hisoft C Manual which is on CPC-Power, and the Command which deals with External Commands is on Page 134 (178 of 233 of the PDF) in Section 6.60. These Functions come from a Library called BASIC.LIB.
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

arnoldemu

Nice thanks.

I went to the same page in my manual and it's there :)
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

arnoldemu

So another reason that these basic.lib etc are useful is that some cpc games were written using hisoft-c.
So if I can identify some of these libraries being used in the code it may make it easier to work out how they are working and find out some answers to some gameplay questions (e.g. "how do I get x in this game?" )
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

AMSDOS

#14
Quote from: arnoldemu on 08:52, 09 September 13
Nice thanks.

I went to the same page in my manual and it's there :)

Oops, I forgot to mention the manual I downloaded is the Second Edition Dated May 1988, even though CPC-Power has dated the software as 1985. The First Edition is dated July 1985, just before the 6128 came out I think?

It looks like the update retains a lot of the original though because System Requirements list Amstrad CPC Computer running Cassette or Disc, though it does mention Any CP/M System with at least 38k TPA as well as a Tatung Einstein Computer or a MSX Disk-based computer.

Quote from: arnoldemu on 08:53, 09 September 13
So another reason that these basic.lib etc are useful is that some cpc games were written using hisoft-c.
So if I can identify some of these libraries being used in the code it may make it easier to work out how they are working and find out some answers to some gameplay questions (e.g. "how do I get x in this game?" )

I found an old post you made earlier where you thought that the Ocean game Miami Vice might of been written in Hisoft C, I downloaded it and played what I could of it before I felt like smashing the keyboard and I think the gameplay is a little bit like another Ocean game I play a bit - N.O.M.A.D which also came out in 1986.
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

Powered by SMFPacks Menu Editor Mod