Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

<<<<< EVACUATION ROUTE <<<<<


devel / comp.os.cpm / Re: Cowgol development environment hosted on Z80 computers running CP/M

SubjectAuthor
* Cowgol development environment hosted on Z80 computers running CP/Mladislau szilagyi
+- Re: Cowgol development environment hosted on Z80 computers running CP/Myeti
+* Re: Cowgol development environment hosted on Z80 computers running CP/Myeti
|`* Re: Cowgol development environment hosted on Z80 computers running CP/Mladislau szilagyi
| `* Re: Cowgol development environment hosted on Z80 computers running CP/Myeti
|  `* Re: Cowgol development environment hosted on Z80 computers running CP/Mladislau szilagyi
|   `* Re: Cowgol development environment hosted on Z80 computers running CP/Mladislau szilagyi
|    `* Re: Cowgol development environment hosted on Z80 computers running CP/MNils M Holm
|     `- Re: Cowgol development environment hosted on Z80 computers running CP/Mladislau szilagyi
`* Re: Cowgol development environment hosted on Z80 computers running CP/Myeti
 `* Re: Cowgol development environment hosted on Z80 computers running CP/Mladislau szilagyi
  `* Re: Cowgol development environment hosted on Z80 computers running CP/Mladislau szilagyi
   `* Re: Cowgol development environment hosted on Z80 computers running CP/Mladislau szilagyi
    `* Re: Cowgol development environment hosted on Z80 computers running CP/Mladislau szilagyi
     `* Re: Cowgol development environment hosted on Z80 computers running CP/Mladislau szilagyi
      `* Re: Cowgol development environment hosted on Z80 computers running CP/Mladislau szilagyi
       `- Re: Cowgol development environment hosted on Z80 computers running CP/Mladislau szilagyi

1
Cowgol development environment hosted on Z80 computers running CP/M

<495042de-2329-4cea-a30d-48d3384a35cdn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=4611&group=comp.os.cpm#4611

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a05:6214:1845:b0:670:7ac7:ec28 with SMTP id d5-20020a056214184500b006707ac7ec28mr121024qvy.6.1699816242320;
Sun, 12 Nov 2023 11:10:42 -0800 (PST)
X-Received: by 2002:a17:90a:c918:b0:27f:fc05:3c0d with SMTP id
v24-20020a17090ac91800b0027ffc053c0dmr1296690pjt.8.1699816242077; Sun, 12 Nov
2023 11:10:42 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Sun, 12 Nov 2023 11:10:41 -0800 (PST)
Injection-Info: google-groups.googlegroups.com; posting-host=86.125.83.230; posting-account=Zav8fAoAAACRqOOZYggbw7GhvvIJEzFn
NNTP-Posting-Host: 86.125.83.230
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <495042de-2329-4cea-a30d-48d3384a35cdn@googlegroups.com>
Subject: Cowgol development environment hosted on Z80 computers running CP/M
From: ladislau...@euroqst.ro (ladislau szilagyi)
Injection-Date: Sun, 12 Nov 2023 19:10:42 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 2024
 by: ladislau szilagyi - Sun, 12 Nov 2023 19:10 UTC

Hi,

Cowgol is a programming language for very small systems, including Z80 computers ( see https://github.com/davidgiven/cowgol ).

I published on GitHub a Cowgol development environment hosted on Z80 computers running CP/M (see https://github.com/Laci1953/Cowgol_on_CP_M ).

To compile a Cowgol source file or to build an executable starting from a Cowgol source file, the following command is used:

COWGOL [-c] [-m] source ([source]...)

More than one source file may be specified (with extensions: .cow = cowgol source file, .as = assembler source file)

If you want just to compile/assemble the files, the option -c must be used. The object code format is the HiTech's object code format.

If the option -c is not specified, the files will be first compiled/assembled, then linked into a CP/M executable (named after the first file).

The option -m builds a memory map for the executable.

The GitHub page contains also some examples of Cowgol compile sessions.

Ladislau

Re: Cowgol development environment hosted on Z80 computers running CP/M

<87y1f2wwsg.fsf@tilde.institute>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=4613&group=comp.os.cpm#4613

  copy link   Newsgroups: comp.os.cpm
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: yet...@tilde.institute (yeti)
Newsgroups: comp.os.cpm
Subject: Re: Cowgol development environment hosted on Z80 computers running CP/M
Date: Sun, 12 Nov 2023 20:18:07 +0000
Organization: Democratic Order of Pirates International (DOPI)
Lines: 21
Message-ID: <87y1f2wwsg.fsf@tilde.institute>
References: <495042de-2329-4cea-a30d-48d3384a35cdn@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: dont-email.me; posting-host="11f661aebf01898c3655d9733dc7cafb";
logging-data="244075"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+eZ7BWPgaqFjb9LoAahFyL"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:Oe8y4FvnJaM6Bgu5H57mGZ4GUjs=
sha1:NJt6gpGVBfycKGrvPpBQnvbmRK4=
X-Face: JB-\p%)Y0PX_,Tk+p);b-nf%:."W<D+WP_rRLg2zs=!L+TZSpg7HQXBvH=?{ND1v9$(%KP9
O-^RH(3cis(xZ,'7_)JmCC3iy[#\\TM5+T!apVL~,.]mWo$$)F:S?8#`]aj9Jae6OXxpl::RyW_ZQI
h~#P~#dWIIW-A{='NJE@{qoipjEUjVAMucw2ARUwql!Y>u(XeB(I2yy\EfMROJ^vplOD_;7%5lOB\:
z(]-BTG2FO"y$-$|NT!}F=.!e@Z/aopOc8j<hVISt
 by: yeti - Sun, 12 Nov 2023 20:18 UTC

-----------------------------------8<-----------------------------------
G0>dir like.*
G: LIKE COM | LIKE COW
G0>like
_
/ )
___ / /__
|-' _)
| _)
| _)
___|-.____)

G0>_
----------------------------------->8-----------------------------------

(You probably can guess the source... just prints...)

--
This stealth signature intentionally left blank.

Re: Cowgol development environment hosted on Z80 computers running CP/M

<87pm0ew45p.fsf@tilde.institute>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=4614&group=comp.os.cpm#4614

  copy link   Newsgroups: comp.os.cpm
Path: i2pn2.org!rocksolid2!news.neodome.net!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: yet...@tilde.institute (yeti)
Newsgroups: comp.os.cpm
Subject: Re: Cowgol development environment hosted on Z80 computers running CP/M
Date: Mon, 13 Nov 2023 06:36:34 +0000
Organization: Democratic Order of Pirates International (DOPI)
Lines: 5
Message-ID: <87pm0ew45p.fsf@tilde.institute>
References: <495042de-2329-4cea-a30d-48d3384a35cdn@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: dont-email.me; posting-host="a1d34a91055f9e14dd69ab7b674b7530";
logging-data="556698"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+xJZUkGnd0KDNOfj+m+8ln"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:6IxMklripg92qEj8Uf/OaO4+BCQ=
sha1:81JOrkqoFnN4yJ06eVntKyvzcPo=
X-Face: JB-\p%)Y0PX_,Tk+p);b-nf%:."W<D+WP_rRLg2zs=!L+TZSpg7HQXBvH=?{ND1v9$(%KP9
O-^RH(3cis(xZ,'7_)JmCC3iy[#\\TM5+T!apVL~,.]mWo$$)F:S?8#`]aj9Jae6OXxpl::RyW_ZQI
h~#P~#dWIIW-A{='NJE@{qoipjEUjVAMucw2ARUwql!Y>u(XeB(I2yy\EfMROJ^vplOD_;7%5lOB\:
z(]-BTG2FO"y$-$|NT!}F=.!e@Z/aopOc8j<hVISt
 by: yeti - Mon, 13 Nov 2023 06:36 UTC

Can the file ENVIRON be used like in HiTech-C to separate toolchain and
workdir?

--
Solid facts do not need 1001 pictures.

Re: Cowgol development environment hosted on Z80 computers running CP/M

<f3e0910e-af90-4b22-9420-a878b06fa016n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=4615&group=comp.os.cpm#4615

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a05:6214:a8a:b0:66d:3c9:4afa with SMTP id ev10-20020a0562140a8a00b0066d03c94afamr134799qvb.0.1699864780860;
Mon, 13 Nov 2023 00:39:40 -0800 (PST)
X-Received: by 2002:a17:90b:48cd:b0:280:32d5:8904 with SMTP id
li13-20020a17090b48cd00b0028032d58904mr2801228pjb.1.1699864780570; Mon, 13
Nov 2023 00:39:40 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Mon, 13 Nov 2023 00:39:39 -0800 (PST)
In-Reply-To: <87pm0ew45p.fsf@tilde.institute>
Injection-Info: google-groups.googlegroups.com; posting-host=86.125.83.230; posting-account=Zav8fAoAAACRqOOZYggbw7GhvvIJEzFn
NNTP-Posting-Host: 86.125.83.230
References: <495042de-2329-4cea-a30d-48d3384a35cdn@googlegroups.com> <87pm0ew45p.fsf@tilde.institute>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <f3e0910e-af90-4b22-9420-a878b06fa016n@googlegroups.com>
Subject: Re: Cowgol development environment hosted on Z80 computers running CP/M
From: ladislau...@euroqst.ro (ladislau szilagyi)
Injection-Date: Mon, 13 Nov 2023 08:39:40 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 1436
 by: ladislau szilagyi - Mon, 13 Nov 2023 08:39 UTC

Pe luni, 13 noiembrie 2023, la 08:36:37 UTC+2, yeti a scris:
> Can the file ENVIRON be used like in HiTech-C to separate toolchain and
> workdir?
>
> --
> Solid facts do not need 1001 pictures.

I'm working on it + other changes...

Ladislau

Re: Cowgol development environment hosted on Z80 computers running CP/M

<87il66vwer.fsf@tilde.institute>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=4616&group=comp.os.cpm#4616

  copy link   Newsgroups: comp.os.cpm
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: yet...@tilde.institute (yeti)
Newsgroups: comp.os.cpm
Subject: Re: Cowgol development environment hosted on Z80 computers running CP/M
Date: Mon, 13 Nov 2023 09:23:56 +0000
Organization: Democratic Order of Pirates International (DOPI)
Lines: 15
Message-ID: <87il66vwer.fsf@tilde.institute>
References: <495042de-2329-4cea-a30d-48d3384a35cdn@googlegroups.com>
<87pm0ew45p.fsf@tilde.institute>
<f3e0910e-af90-4b22-9420-a878b06fa016n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: dont-email.me; posting-host="a1d34a91055f9e14dd69ab7b674b7530";
logging-data="630874"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18xUo8nP46b/q8w8CWbmg/v"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:DrsLTvuVNF0KSdoHLqvkv31r1dg=
sha1:WQ2D4OmblRsLNcwWKbTy2Ecc1rc=
X-Face: JB-\p%)Y0PX_,Tk+p);b-nf%:."W<D+WP_rRLg2zs=!L+TZSpg7HQXBvH=?{ND1v9$(%KP9
O-^RH(3cis(xZ,'7_)JmCC3iy[#\\TM5+T!apVL~,.]mWo$$)F:S?8#`]aj9Jae6OXxpl::RyW_ZQI
h~#P~#dWIIW-A{='NJE@{qoipjEUjVAMucw2ARUwql!Y>u(XeB(I2yy\EfMROJ^vplOD_;7%5lOB\:
z(]-BTG2FO"y$-$|NT!}F=.!e@Z/aopOc8j<hVISt
 by: yeti - Mon, 13 Nov 2023 09:23 UTC

ladislau szilagyi <ladislau_szilagyi@euroqst.ro> writes:

> Pe luni, 13 noiembrie 2023, la 08:36:37 UTC+2, yeti a scris:
>> Can the file ENVIRON be used like in HiTech-C to separate toolchain and
>> workdir?

> I'm working on it + other changes...

Thanks!

So it wasn't PEBKAC that despite seeing ENVIRON in COWGOL.COM I couldn't
find how to use it. ;-)

--
Stay ommmmmmptimistic!

Re: Cowgol development environment hosted on Z80 computers running CP/M

<6159b6f3-be48-40db-bf58-d16e3b8f905en@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=4617&group=comp.os.cpm#4617

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a0c:fd8d:0:b0:66d:9002:da87 with SMTP id p13-20020a0cfd8d000000b0066d9002da87mr317486qvr.6.1699877019943;
Mon, 13 Nov 2023 04:03:39 -0800 (PST)
X-Received: by 2002:a17:903:26d3:b0:1cc:31fc:eac with SMTP id
jg19-20020a17090326d300b001cc31fc0eacmr1815659plb.11.1699877019533; Mon, 13
Nov 2023 04:03:39 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Mon, 13 Nov 2023 04:03:38 -0800 (PST)
In-Reply-To: <87il66vwer.fsf@tilde.institute>
Injection-Info: google-groups.googlegroups.com; posting-host=86.125.83.230; posting-account=Zav8fAoAAACRqOOZYggbw7GhvvIJEzFn
NNTP-Posting-Host: 86.125.83.230
References: <495042de-2329-4cea-a30d-48d3384a35cdn@googlegroups.com>
<87pm0ew45p.fsf@tilde.institute> <f3e0910e-af90-4b22-9420-a878b06fa016n@googlegroups.com>
<87il66vwer.fsf@tilde.institute>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <6159b6f3-be48-40db-bf58-d16e3b8f905en@googlegroups.com>
Subject: Re: Cowgol development environment hosted on Z80 computers running CP/M
From: ladislau...@euroqst.ro (ladislau szilagyi)
Injection-Date: Mon, 13 Nov 2023 12:03:39 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 1806
 by: ladislau szilagyi - Mon, 13 Nov 2023 12:03 UTC

Pe luni, 13 noiembrie 2023, la 11:23:59 UTC+2, yeti a scris:
> ladislau szilagyi <ladislau...@euroqst.ro> writes:
>
> > Pe luni, 13 noiembrie 2023, la 08:36:37 UTC+2, yeti a scris:
> >> Can the file ENVIRON be used like in HiTech-C to separate toolchain and
> >> workdir?
> > I'm working on it + other changes...
> Thanks!
>
> So it wasn't PEBKAC that despite seeing ENVIRON in COWGOL.COM I couldn't
> find how to use it. ;-)
>
> --
> Stay ommmmmmptimistic!

I just uploaded a new COWGOL.HEX...

Ladislau

Re: Cowgol development environment hosted on Z80 computers running CP/M

<d1b0221e-a965-4c59-adb2-414fc0fac5a1n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=4618&group=comp.os.cpm#4618

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a05:620a:4690:b0:774:c7a:1364 with SMTP id bq16-20020a05620a469000b007740c7a1364mr161282qkb.8.1699889470703;
Mon, 13 Nov 2023 07:31:10 -0800 (PST)
X-Received: by 2002:a17:90a:d18d:b0:27c:f842:ff31 with SMTP id
fu13-20020a17090ad18d00b0027cf842ff31mr2122103pjb.7.1699889468879; Mon, 13
Nov 2023 07:31:08 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Mon, 13 Nov 2023 07:31:08 -0800 (PST)
In-Reply-To: <6159b6f3-be48-40db-bf58-d16e3b8f905en@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=86.125.83.230; posting-account=Zav8fAoAAACRqOOZYggbw7GhvvIJEzFn
NNTP-Posting-Host: 86.125.83.230
References: <495042de-2329-4cea-a30d-48d3384a35cdn@googlegroups.com>
<87pm0ew45p.fsf@tilde.institute> <f3e0910e-af90-4b22-9420-a878b06fa016n@googlegroups.com>
<87il66vwer.fsf@tilde.institute> <6159b6f3-be48-40db-bf58-d16e3b8f905en@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d1b0221e-a965-4c59-adb2-414fc0fac5a1n@googlegroups.com>
Subject: Re: Cowgol development environment hosted on Z80 computers running CP/M
From: ladislau...@euroqst.ro (ladislau szilagyi)
Injection-Date: Mon, 13 Nov 2023 15:31:10 +0000
Content-Type: text/plain; charset="UTF-8"
 by: ladislau szilagyi - Mon, 13 Nov 2023 15:31 UTC

Hi,

I made a comparison between the size of two executables:

- dumpx.com ( written in C , see https://github.com/Laci1953/RTM-Z80/tree/main/RESOURCES/dumpx.c )
- hexdump.com ( written in Cowgol, see https://github.com/Laci1953/Cowgol_on_CP_M/blob/main/Examples/hexdump.cow )

The output produced is almost similar:

D>dumpx crtcpm.obj
0000 : 0A 00 07 00 01 02 03 00 01 5A 38 30 00 46 00 01 : .........Z80.F..
0010 : 00 01 00 00 74 65 78 74 00 2A 06 00 F9 11 00 00 : ....text.*......
0020 : B7 21 00 00 ED 52 4D 44 0B 6B 62 13 36 00 ED B0 : .!...RMD.kb.6...
0030 : 21 00 00 E5 21 80 00 4E 23 06 00 09 36 00 21 81 : !...!..N#...6.!.
0040 : 00 E5 CD 00 00 C1 C1 E5 2A 00 00 E5 CD 00 00 E5 : ........*.......
0050 : CD 00 00 C3 00 00 44 00 03 05 00 22 5F 5F 4C 62 : ......D...."__Lb
0060 : 73 73 00 09 00 22 5F 5F 48 62 73 73 00 18 00 12 : ss..."__Hbss....
0070 : 64 61 74 61 00 2A 00 22 73 74 61 72 74 75 70 00 : data.*."startup.
0080 : 30 00 22 5F 5F 61 72 67 63 5F 00 34 00 22 5F 6D : 0."__argc_.4."_m
0090 : 61 69 6E 00 38 00 22 5F 65 78 69 74 00 0A 00 01 : ain.8."_exit....
00A0 : 00 00 00 00 64 61 74 61 00 00 03 00 02 D0 00 00 : ....data........
00B0 : 06 00 02 10 00 62 73 73 00 07 00 02 10 00 64 61 : .....bss......da
00C0 : 74 61 00 07 00 02 30 00 74 65 78 74 00 77 00 04 : ta....0.text.w..
00D0 : 00 00 00 00 16 00 00 5F 5F 48 62 73 73 00 00 00 : .......__Hbss...
00E0 : 00 00 16 00 00 5F 5F 4C 62 73 73 00 00 00 00 00 : .....__Lbss.....
00F0 : 16 00 00 5F 5F 61 72 67 63 5F 00 00 00 00 00 16 : ...__argc_......
0100 : 00 00 5F 65 78 69 74 00 00 00 00 00 16 00 00 5F : .._exit........_
0110 : 6D 61 69 6E 00 00 00 00 00 00 00 64 61 74 61 00 : main.......data.
0120 : 6E 75 6C 61 72 67 00 00 01 00 00 10 00 74 65 78 : nularg.......tex
0130 : 74 00 73 74 61 72 74 00 00 00 00 00 16 00 00 73 : t.start........s
0140 : 74 61 72 74 75 70 00 09 00 05 00 01 00 00 74 65 : tartup........te
0150 : 78 74 00 02 00 06 00 00 00 00 00 00 00 00 00 00 : xt..............
0160 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
0170 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................

D>hexdump crtcpm.obj
00000000 0a 00 07 00 01 02 03 00 01 5a 38 30 00 46 00 01 |.........Z80.F..|
00000010 00 01 00 00 74 65 78 74 00 2a 06 00 f9 11 00 00 |....text.*......|
00000020 b7 21 00 00 ed 52 4d 44 0b 6b 62 13 36 00 ed b0 |.!...RMD.kb.6...|
00000030 21 00 00 e5 21 80 00 4e 23 06 00 09 36 00 21 81 |!...!..N#...6.!.|
00000040 00 e5 cd 00 00 c1 c1 e5 2a 00 00 e5 cd 00 00 e5 |........*.......|
00000050 cd 00 00 c3 00 00 44 00 03 05 00 22 5f 5f 4c 62 |......D...."__Lb|
00000060 73 73 00 09 00 22 5f 5f 48 62 73 73 00 18 00 12 |ss..."__Hbss....|
00000070 64 61 74 61 00 2a 00 22 73 74 61 72 74 75 70 00 |data.*."startup.|
00000080 30 00 22 5f 5f 61 72 67 63 5f 00 34 00 22 5f 6d |0."__argc_.4."_m|
00000090 61 69 6e 00 38 00 22 5f 65 78 69 74 00 0a 00 01 |ain.8."_exit....|
000000a0 00 00 00 00 64 61 74 61 00 00 03 00 02 d0 00 00 |....data........|
000000b0 06 00 02 10 00 62 73 73 00 07 00 02 10 00 64 61 |.....bss......da|
000000c0 74 61 00 07 00 02 30 00 74 65 78 74 00 77 00 04 |ta....0.text.w..|
000000d0 00 00 00 00 16 00 00 5f 5f 48 62 73 73 00 00 00 |.......__Hbss...|
000000e0 00 00 16 00 00 5f 5f 4c 62 73 73 00 00 00 00 00 |.....__Lbss.....|
000000f0 16 00 00 5f 5f 61 72 67 63 5f 00 00 00 00 00 16 |...__argc_......|
00000100 00 00 5f 65 78 69 74 00 00 00 00 00 16 00 00 5f |.._exit........_|
00000110 6d 61 69 6e 00 00 00 00 00 00 00 64 61 74 61 00 |main.......data.|
00000120 6e 75 6c 61 72 67 00 00 01 00 00 10 00 74 65 78 |nularg.......tex|
00000130 74 00 73 74 61 72 74 00 00 00 00 00 16 00 00 73 |t.start........s|
00000140 74 61 72 74 75 70 00 09 00 05 00 01 00 00 74 65 |tartup........te|
00000150 78 74 00 02 00 06 00 00 00 00 00 00 00 00 00 00 |xt..............|
00000160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000180

But, the size of hexdump.com is about 25% the size of dumpx.com !!! (14 x 128 bytes vs. 61 x 128 bytes)

D>sdir dumpx.com

Directory For Drive D: User 0

Name Bytes Recs Attributes
------------ ------ ------ ------------
DUMPX COM 8k 61 Dir RW

D>sdir hexdump.com

Directory For Drive D: User 0

Name Bytes Recs Attributes
------------ ------ ------ ------------
HEXDUMP COM 4k 14 Dir RW

D>

And, hexdump is faster than dumpx ( at least 2 X ).

It seems Cowgol outperforms C ( at least, in this particular case )

Ladislau

Re: Cowgol development environment hosted on Z80 computers running CP/M

<krf5kuF1e9gU1@mid.individual.net>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=4619&group=comp.os.cpm#4619

  copy link   Newsgroups: comp.os.cpm
Path: i2pn2.org!i2pn.org!nntp.comgw.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: nmh...@sraddha.invalid (Nils M Holm)
Newsgroups: comp.os.cpm
Subject: Re: Cowgol development environment hosted on Z80 computers running CP/M
Date: 13 Nov 2023 17:45:02 GMT
Organization: TARFU
Lines: 16
Sender: Nils M Holm <nmh@sraddha.local>
Message-ID: <krf5kuF1e9gU1@mid.individual.net>
References: <495042de-2329-4cea-a30d-48d3384a35cdn@googlegroups.com> <87pm0ew45p.fsf@tilde.institute> <f3e0910e-af90-4b22-9420-a878b06fa016n@googlegroups.com> <87il66vwer.fsf@tilde.institute> <6159b6f3-be48-40db-bf58-d16e3b8f905en@googlegroups.com> <d1b0221e-a965-4c59-adb2-414fc0fac5a1n@googlegroups.com>
X-Trace: individual.net Ud+qhT72yFNDUVY2lQErZwyJaT0Br94vhnVq+t3uxvu2pGKF9e
X-Orig-Path: not-for-mail
Cancel-Lock: sha1:7dmLN41x5CgoCdiJPOTSLe5rLrQ= sha256:VSx4TkgsGwT2hnm/MZZW6sBxoyTYn0KEh9k5uABqfdw=
User-Agent: tin/2.6.1-20211226 ("Convalmore") (FreeBSD/12.4-RELEASE (amd64))
 by: Nils M Holm - Mon, 13 Nov 2023 17:45 UTC

ladislau szilagyi <ladislau_szilagyi@euroqst.ro> wrote:
> But, the size of hexdump.com is about 25% the size of dumpx.com !!!
> (14 x 128 bytes vs. 61 x 128 bytes)

Just for fun translated dumpx.c to T3X function by function, and the
resulting executable has a size of 23 records.

> And, hexdump is faster than dumpx ( at least 2 X ).

The binary dumps itself in 4s on a 7.4Mhz Z80 (file system on a CF card).

Program: http://t3x.org/files/hexdump.t
Compiler: http://t3x.org/t3x/index.html#0

--
Nils M Holm < n m h @ t 3 x . o r g > http://t3x.org

Re: Cowgol development environment hosted on Z80 computers running CP/M

<3077ffaa-f71a-451d-b38c-4a70f6e769e3n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=4622&group=comp.os.cpm#4622

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a0c:e4ca:0:b0:66d:ce9:29e5 with SMTP id g10-20020a0ce4ca000000b0066d0ce929e5mr112661qvm.1.1700405949400; Sun, 19 Nov 2023 06:59:09 -0800 (PST)
X-Received: by 2002:a17:90a:7108:b0:283:a0c4:7e08 with SMTP id h8-20020a17090a710800b00283a0c47e08mr1327999pjk.5.1700405949083; Sun, 19 Nov 2023 06:59:09 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!feeder.usenetexpress.com!tr3.iad1.usenetexpress.com!69.80.99.11.MISMATCH!border-1.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Sun, 19 Nov 2023 06:59:08 -0800 (PST)
In-Reply-To: <a8a629e1-ae92-48df-b8a6-c664bdfd567an@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=86.125.83.230; posting-account=Zav8fAoAAACRqOOZYggbw7GhvvIJEzFn
NNTP-Posting-Host: 86.125.83.230
References: <495042de-2329-4cea-a30d-48d3384a35cdn@googlegroups.com> <87pm0ew45p.fsf@tilde.institute> <f3e0910e-af90-4b22-9420-a878b06fa016n@googlegroups.com> <87il66vwer.fsf@tilde.institute> <6159b6f3-be48-40db-bf58-d16e3b8f905en@googlegroups.com> <d1b0221e-a965-4c59-adb2-414fc0fac5a1n@googlegroups.com> <krf5kuF1e9gU1@mid.individual.net> <a8a629e1-ae92-48df-b8a6-c664bdfd567an@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <3077ffaa-f71a-451d-b38c-4a70f6e769e3n@googlegroups.com>
Subject: Re: Cowgol development environment hosted on Z80 computers running CP/M
From: ladislau...@euroqst.ro (ladislau szilagyi)
Injection-Date: Sun, 19 Nov 2023 14:59:09 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 49
 by: ladislau szilagyi - Sun, 19 Nov 2023 14:59 UTC

Hi,

In Cowgol, you may use dynamic memory functions (Alloc, Free, ...) including the "malloc.coh" file in your source file.
When your CP/M program is written using ONLY Cowgol source files, the original "malloc.coh" may be used without any problem.

But, when you try to build CP/M programs that mix Cowgol and C source files, some modifications must be made to the original .coh files, in order to benefit from the Cowgol Alloc, Free, and other dynamic allocation functions.

The problem is caused by the fact that the original Cowgol runtime environment considered the "heap" as starting after the last byte of the executable code and finishing exactly below BDOS.

With the new Cowgol + C runtime environment, the executable map contains 3 sequential concatenated program sections : text ( the code ), data ( initialized buffers ) and bss ( uninitialized buffers ).

Therefore, the Cowgol heap area must start at the end of the bss program section.

Practically, instead of using the "standard" include "cowgol.coh", you MUST use instead include "cowgolc.coh".

The differences are minor, but essential.

The "standard" cowgol.coh starts with these lines:

var LOMEM: [uint8];
@asm "ld hl, LOMEM";
@asm "ld (", LOMEM, "), hl";

var HIMEM: [uint8];
@asm "ld hl, (6)";
@asm "ld (", HIMEM, "), hl";

(the dynamic memory functions contained in malloc.coh use the variables LOMEM & HIMEM to define the start & stop boundaries of the heap )

The "custom" cowgolc.coh contains a small modification:

var LOMEM: [uint8];
@asm "ld hl,__Hbss"; # @asm "ld hl, LOMEM";
@asm "ld (", LOMEM, "), hl";

var HIMEM: [uint8];
@asm "ld hl, (6)";
@asm "ld (", HIMEM, "), hl";

The value of __Hbss is declared and set by default as the "end of BSS" by the last tool in the Cowgol compile chain, the HiTech's LINK.

This sets the start of the Cowgol heap at the end of the BSS program section, allowing the C & Cowgol environments to "coexist" peacefully.

Therefore, when you intend to use dynamic memory allocation in a mixed Cowgol + C environment, you MUST include this "custom" cowgolc.coh, instead of the "standard " cowgol.coh file.

See in Examples the dynmsort.cow file (combined with merges.c & rand.as, will build the dynmsort.com program, which uses Alloc to obtain space for the integer vector to be sorted)

Ladislau

Re: Cowgol development environment hosted on Z80 computers running CP/M

<87bkaxqn2v.fsf@tilde.institute>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=4644&group=comp.os.cpm#4644

  copy link   Newsgroups: comp.os.cpm
Path: i2pn2.org!i2pn.org!nntp.comgw.net!weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: yet...@tilde.institute (yeti)
Newsgroups: comp.os.cpm
Subject: Re: Cowgol development environment hosted on Z80 computers running CP/M
Date: Mon, 11 Dec 2023 06:18:16 +0000
Organization: Democratic Order of Pirates International (DOPI)
Lines: 8
Message-ID: <87bkaxqn2v.fsf@tilde.institute>
References: <495042de-2329-4cea-a30d-48d3384a35cdn@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: dont-email.me; posting-host="12282a54369ea7eb7a6d2485a0e4c326";
logging-data="3221917"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+LsDcxXmZDPPkendgDnnKa"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:rW3xHu4BGNcT409Txb5pwMD/oSc=
sha1:rrLj9LvTwLyP3Xm75TRqLdGP3w8=
X-Face: JB-\p%)Y0PX_,Tk+p);b-nf%:."W<D+WP_rRLg2zs=!L+TZSpg7HQXBvH=?{ND1v9$(%KP9
O-^RH(3cis(xZ,'7_)JmCC3iy[#\\TM5+T!apVL~,.]mWo$$)F:S?8#`]aj9Jae6OXxpl::RyW_ZQI
h~#P~#dWIIW-A{='NJE@{qoipjEUjVAMucw2ARUwql!Y>u(XeB(I2yy\EfMROJ^vplOD_;7%5lOB\:
z(]-BTG2FO"y$-$|NT!}F=.!e@Z/aopOc8j<hVISt
 by: yeti - Mon, 11 Dec 2023 06:18 UTC

Guess what?

Hackaday
Cowgol Development Environment Comes To Z80 And CP/M
<https://hackaday.com/2023/12/10/cowgol-development-environment-comes-to-z80-and-cp-m/>

--
I do not bite, I just want to play.

Re: Cowgol development environment hosted on Z80 computers running CP/M

<35556bbf-aa05-464d-bd48-3cd0f1bb59f4n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=4646&group=comp.os.cpm#4646

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a0c:e847:0:b0:67a:a9aa:785b with SMTP id l7-20020a0ce847000000b0067aa9aa785bmr39377qvo.3.1702324912002;
Mon, 11 Dec 2023 12:01:52 -0800 (PST)
X-Received: by 2002:a05:6870:169b:b0:1f0:15e3:11a5 with SMTP id
j27-20020a056870169b00b001f015e311a5mr5408161oae.10.1702324911758; Mon, 11
Dec 2023 12:01:51 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Mon, 11 Dec 2023 12:01:51 -0800 (PST)
In-Reply-To: <87bkaxqn2v.fsf@tilde.institute>
Injection-Info: google-groups.googlegroups.com; posting-host=86.125.83.230; posting-account=Zav8fAoAAACRqOOZYggbw7GhvvIJEzFn
NNTP-Posting-Host: 86.125.83.230
References: <495042de-2329-4cea-a30d-48d3384a35cdn@googlegroups.com> <87bkaxqn2v.fsf@tilde.institute>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <35556bbf-aa05-464d-bd48-3cd0f1bb59f4n@googlegroups.com>
Subject: Re: Cowgol development environment hosted on Z80 computers running CP/M
From: ladislau...@euroqst.ro (ladislau szilagyi)
Injection-Date: Mon, 11 Dec 2023 20:01:51 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 1841
 by: ladislau szilagyi - Mon, 11 Dec 2023 20:01 UTC

Hi,

I work now on an enhanced Cowgol compiler, able to compile larger source files, on Z80 systems provided with 128KB or 512KB RAM.
It will fully use the available RAM space to allocate objects, allowing to process very large Cowgol files (I hope it will be able to compile itself...)

A small test is already working with a part of the compiler (cowfe.com); the test is executed on a 512KB RAM Z80 computer:

D>cowfe t.cow test
COWFE: 18kB free main memory
448kB free extended memory
> T.COW
done: 17kB free main memory
442kB free extended memory
D>
Of course, there is still a long way to go until all tests will be finished...

Ladislau

Re: Cowgol development environment hosted on Z80 computers running CP/M

<8ce0f12b-bcdd-4502-aa94-9d5406bff9d8n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=4695&group=comp.os.cpm#4695

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a05:620a:1a14:b0:783:450:b180 with SMTP id bk20-20020a05620a1a1400b007830450b180mr155425qkb.0.1704721337404;
Mon, 08 Jan 2024 05:42:17 -0800 (PST)
X-Received: by 2002:a05:620a:4b46:b0:783:1a5a:c5cb with SMTP id
su6-20020a05620a4b4600b007831a5ac5cbmr94313qkn.14.1704721337170; Mon, 08 Jan
2024 05:42:17 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Mon, 8 Jan 2024 05:42:16 -0800 (PST)
In-Reply-To: <35556bbf-aa05-464d-bd48-3cd0f1bb59f4n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=86.125.83.230; posting-account=Zav8fAoAAACRqOOZYggbw7GhvvIJEzFn
NNTP-Posting-Host: 86.125.83.230
References: <495042de-2329-4cea-a30d-48d3384a35cdn@googlegroups.com>
<87bkaxqn2v.fsf@tilde.institute> <35556bbf-aa05-464d-bd48-3cd0f1bb59f4n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <8ce0f12b-bcdd-4502-aa94-9d5406bff9d8n@googlegroups.com>
Subject: Re: Cowgol development environment hosted on Z80 computers running CP/M
From: ladislau...@euroqst.ro (ladislau szilagyi)
Injection-Date: Mon, 08 Jan 2024 13:42:17 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 3141
 by: ladislau szilagyi - Mon, 8 Jan 2024 13:42 UTC

Hi,

I took a decisive step in proving that the Cowgol compiler can compile large source files, if executed on Z80 computers provided with 128/512 KB RAM.

So far I have managed to modify the first component of the compiler, COWFE.

Here are the results of compiling the COWFE source, on RC2014 :
(first attempt using the new version of COWFE, the second using the original one)

E>cowfet main.cow test

COWFE: 18kB free main memory
448kB free extended memory
> MAIN.COW
> cowgol.coh
> common.coh
< cowgol.coh
< MAIN.COW
> argv.coh
< MAIN.COW
> strings.coh
< MAIN.COW
> malloc.coh
< MAIN.COW
> file.coh
> commfile.coh
< file.coh
< MAIN.COW
> coodecls.coh
< MAIN.COW
> types.coh
< MAIN.COW
> allocato.coh
< MAIN.COW
> lexer.coh
< MAIN.COW
> midcodec.coh
> midcodes.coh
Out of memory

E>cowfe main.cow test
COWFE: 19kB free
> MAIN.COW
> cowgol.coh
> common.coh
< cowgol.coh
< MAIN.COW
> argv.coh
< MAIN.COW
> strings.coh
< MAIN.COW
> malloc.coh
< MAIN.COW
> file.coh
> commfile.coh
< file.coh
< MAIN.COW
> coodecls.coh
< MAIN.COW
> types.coh
Out of memory

E>

Therefore, the old COWFE stops at types.coh, the new one processes also allocator & lexer, stops at midcodes.coh

The "Out of memory" message was issued because the "main" 64 RAM was consumed (but in the 512KB RAM board there is still plenty of free space )

I work to improve the performance of the new COWFET.COM, basically by allocating more data structures in the 512KB RAM.

Then, I will start working on the second important COWGOL compiler executable: the COWBE.COM

In the final version, the new COWGOL compiler will be available on all Z80 computers having 128/512 KB RAM.

Ladislau

Re: Cowgol development environment hosted on Z80 computers running CP/M

<590897b5-b745-4b7c-a597-18be7610deb9n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=4699&group=comp.os.cpm#4699

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a05:6214:d07:b0:681:304d:e120 with SMTP id 7-20020a0562140d0700b00681304de120mr248831qvh.11.1705143172676;
Sat, 13 Jan 2024 02:52:52 -0800 (PST)
X-Received: by 2002:a05:6214:1d08:b0:681:5563:fe10 with SMTP id
e8-20020a0562141d0800b006815563fe10mr23027qvd.13.1705143172424; Sat, 13 Jan
2024 02:52:52 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Sat, 13 Jan 2024 02:52:52 -0800 (PST)
In-Reply-To: <8ce0f12b-bcdd-4502-aa94-9d5406bff9d8n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=86.125.83.230; posting-account=Zav8fAoAAACRqOOZYggbw7GhvvIJEzFn
NNTP-Posting-Host: 86.125.83.230
References: <495042de-2329-4cea-a30d-48d3384a35cdn@googlegroups.com>
<87bkaxqn2v.fsf@tilde.institute> <35556bbf-aa05-464d-bd48-3cd0f1bb59f4n@googlegroups.com>
<8ce0f12b-bcdd-4502-aa94-9d5406bff9d8n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <590897b5-b745-4b7c-a597-18be7610deb9n@googlegroups.com>
Subject: Re: Cowgol development environment hosted on Z80 computers running CP/M
From: ladislau...@euroqst.ro (ladislau szilagyi)
Injection-Date: Sat, 13 Jan 2024 10:52:52 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 2049
 by: ladislau szilagyi - Sat, 13 Jan 2024 10:52 UTC

Hi,

The original version of the compiler failed to compile large cowgol source files.

That was caused by the small amount of RAM memory available to the compiler to store the data structures involved in the compilation.

For sources larger than a few hundred lines, the first step of the compiler issued a fatal error message: "Out of memory".

I solved the problem, at least for the z80 computers provided with 128/512 KB RAM.

I modified the first step of the compiler (COWFE.COM), enabling-it to store part of the data on the "extended" RAM space, beyond the "main" 64KB.

You may find the enhanced version of the COWGOL compiler here: https://github.com/Laci1953/Cowgol_on_CP_M/tree/main/128_512_KB

Ladislau

Re: Cowgol development environment hosted on Z80 computers running CP/M

<f347bb81-6760-4d83-9734-65aa16b26965n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=4705&group=comp.os.cpm#4705

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a05:622a:1b09:b0:42a:4085:3f04 with SMTP id bb9-20020a05622a1b0900b0042a40853f04mr229843qtb.0.1705936841860;
Mon, 22 Jan 2024 07:20:41 -0800 (PST)
X-Received: by 2002:a05:622a:909:b0:42a:e41:6301 with SMTP id
bx9-20020a05622a090900b0042a0e416301mr678320qtb.7.1705936841620; Mon, 22 Jan
2024 07:20:41 -0800 (PST)
Path: i2pn2.org!i2pn.org!newsfeed.endofthelinebbs.com!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Mon, 22 Jan 2024 07:20:41 -0800 (PST)
In-Reply-To: <590897b5-b745-4b7c-a597-18be7610deb9n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=86.125.83.230; posting-account=Zav8fAoAAACRqOOZYggbw7GhvvIJEzFn
NNTP-Posting-Host: 86.125.83.230
References: <495042de-2329-4cea-a30d-48d3384a35cdn@googlegroups.com>
<87bkaxqn2v.fsf@tilde.institute> <35556bbf-aa05-464d-bd48-3cd0f1bb59f4n@googlegroups.com>
<8ce0f12b-bcdd-4502-aa94-9d5406bff9d8n@googlegroups.com> <590897b5-b745-4b7c-a597-18be7610deb9n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <f347bb81-6760-4d83-9734-65aa16b26965n@googlegroups.com>
Subject: Re: Cowgol development environment hosted on Z80 computers running CP/M
From: ladislau...@euroqst.ro (ladislau szilagyi)
Injection-Date: Mon, 22 Jan 2024 15:20:41 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 1538
 by: ladislau szilagyi - Mon, 22 Jan 2024 15:20 UTC

I published here: https://github.com/Laci1953/Cowgol_on_CP_M/tree/main/Examples

a version of the Stratrek game ported to the Cowgol language.

Ladislau

Re: Cowgol development environment hosted on Z80 computers running CP/M

<edf133ea-dd54-47ef-aece-96c3979e38e1n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=4706&group=comp.os.cpm#4706

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a05:622a:288:b0:42a:87e8:43e9 with SMTP id z8-20020a05622a028800b0042a87e843e9mr37203qtw.1.1706438472183;
Sun, 28 Jan 2024 02:41:12 -0800 (PST)
X-Received: by 2002:a05:622a:188b:b0:429:e320:2bae with SMTP id
v11-20020a05622a188b00b00429e3202baemr298126qtc.11.1706438471979; Sun, 28 Jan
2024 02:41:11 -0800 (PST)
Path: i2pn2.org!i2pn.org!news.1d4.us!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Sun, 28 Jan 2024 02:41:11 -0800 (PST)
In-Reply-To: <f347bb81-6760-4d83-9734-65aa16b26965n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=86.125.83.230; posting-account=Zav8fAoAAACRqOOZYggbw7GhvvIJEzFn
NNTP-Posting-Host: 86.125.83.230
References: <495042de-2329-4cea-a30d-48d3384a35cdn@googlegroups.com>
<87bkaxqn2v.fsf@tilde.institute> <35556bbf-aa05-464d-bd48-3cd0f1bb59f4n@googlegroups.com>
<8ce0f12b-bcdd-4502-aa94-9d5406bff9d8n@googlegroups.com> <590897b5-b745-4b7c-a597-18be7610deb9n@googlegroups.com>
<f347bb81-6760-4d83-9734-65aa16b26965n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <edf133ea-dd54-47ef-aece-96c3979e38e1n@googlegroups.com>
Subject: Re: Cowgol development environment hosted on Z80 computers running CP/M
From: ladislau...@euroqst.ro (ladislau szilagyi)
Injection-Date: Sun, 28 Jan 2024 10:41:12 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 1691
 by: ladislau szilagyi - Sun, 28 Jan 2024 10:41 UTC

Hi,

The enhanced version of the Cowgol compiler runs now also on Z80 computers provided with 512KB RAM, under ROMWBW.

I published the modified COWFE here: https://github.com/Laci1953/Cowgol_on_CP_M/blob/main/128_512_KB/cowfe_romwbw.hex

Ladislau

Re: Cowgol development environment hosted on Z80 computers running CP/M

<5efa159e-3df0-4ebe-96e9-cc399ea9922dn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=4714&group=comp.os.cpm#4714

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:ac8:5dd0:0:b0:429:f469:950d with SMTP id e16-20020ac85dd0000000b00429f469950dmr28158qtx.7.1707125487367;
Mon, 05 Feb 2024 01:31:27 -0800 (PST)
X-Received: by 2002:a05:622a:1a12:b0:42b:ffb5:8e3b with SMTP id
f18-20020a05622a1a1200b0042bffb58e3bmr360033qtb.5.1707125487083; Mon, 05 Feb
2024 01:31:27 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Mon, 5 Feb 2024 01:31:26 -0800 (PST)
In-Reply-To: <edf133ea-dd54-47ef-aece-96c3979e38e1n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=86.125.83.230; posting-account=Zav8fAoAAACRqOOZYggbw7GhvvIJEzFn
NNTP-Posting-Host: 86.125.83.230
References: <495042de-2329-4cea-a30d-48d3384a35cdn@googlegroups.com>
<87bkaxqn2v.fsf@tilde.institute> <35556bbf-aa05-464d-bd48-3cd0f1bb59f4n@googlegroups.com>
<8ce0f12b-bcdd-4502-aa94-9d5406bff9d8n@googlegroups.com> <590897b5-b745-4b7c-a597-18be7610deb9n@googlegroups.com>
<f347bb81-6760-4d83-9734-65aa16b26965n@googlegroups.com> <edf133ea-dd54-47ef-aece-96c3979e38e1n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <5efa159e-3df0-4ebe-96e9-cc399ea9922dn@googlegroups.com>
Subject: Re: Cowgol development environment hosted on Z80 computers running CP/M
From: ladislau...@euroqst.ro (ladislau szilagyi)
Injection-Date: Mon, 05 Feb 2024 09:31:27 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 1992
 by: ladislau szilagyi - Mon, 5 Feb 2024 09:31 UTC

I just published a new version of the Cowgol compiler ( https://github.com/Laci1953/Cowgol_on_CP_M/tree/main/New%20version )
It works on any Z80 computer with 64 KB RAM running CP/M.
The modified components of the compiler (cowfe.com and cowbe.com) are smaller (~ 1KB less) and 20% faster, compared to the old version.
The optimization was done directly on the assembler source files of cowfe & cowbe; the new source files are published too, along with the old versions, for reference.

Ladislau

Re: Cowgol development environment hosted on Z80 computers running CP/M

<715af63f-8c79-4226-9468-9094e83d0c58n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=4725&group=comp.os.cpm#4725

  copy link   Newsgroups: comp.os.cpm
X-Forwarded-Encrypted: i=1; AJvYcCX9hkRYi11u0EdelSJiUgBkvO/0aQQXfxNzbL7HP2eCix7/ntt8vgIV6uyyEQ7JIYRbd4W7nd88h16MrLccFSayfh8hgmxgjs0WlBIzIqGW
X-Received: by 2002:a05:6214:21ca:b0:68f:7384:485d with SMTP id d10-20020a05621421ca00b0068f7384485dmr362395qvh.7.1708433655825;
Tue, 20 Feb 2024 04:54:15 -0800 (PST)
X-Forwarded-Encrypted: i=1; AJvYcCXqQVr5F68Vrd4eNmI5Ch0MhBgq+xXE9VNciWf48OcFU2/u/Rgd/nYNRLu82LQAL0Zbf7nI+HonC4Qnd2flqh17+Tt9/KY/j2x300YI8g==
X-Received: by 2002:a05:620a:1a14:b0:787:6b6c:863a with SMTP id
bk20-20020a05620a1a1400b007876b6c863amr37953qkb.0.1708433655522; Tue, 20 Feb
2024 04:54:15 -0800 (PST)
Path: i2pn2.org!i2pn.org!news.chmurka.net!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Tue, 20 Feb 2024 04:54:15 -0800 (PST)
In-Reply-To: <5efa159e-3df0-4ebe-96e9-cc399ea9922dn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=86.125.83.230; posting-account=Zav8fAoAAACRqOOZYggbw7GhvvIJEzFn
NNTP-Posting-Host: 86.125.83.230
References: <495042de-2329-4cea-a30d-48d3384a35cdn@googlegroups.com>
<87bkaxqn2v.fsf@tilde.institute> <35556bbf-aa05-464d-bd48-3cd0f1bb59f4n@googlegroups.com>
<8ce0f12b-bcdd-4502-aa94-9d5406bff9d8n@googlegroups.com> <590897b5-b745-4b7c-a597-18be7610deb9n@googlegroups.com>
<f347bb81-6760-4d83-9734-65aa16b26965n@googlegroups.com> <edf133ea-dd54-47ef-aece-96c3979e38e1n@googlegroups.com>
<5efa159e-3df0-4ebe-96e9-cc399ea9922dn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <715af63f-8c79-4226-9468-9094e83d0c58n@googlegroups.com>
Subject: Re: Cowgol development environment hosted on Z80 computers running CP/M
From: ladislau...@euroqst.ro (ladislau szilagyi)
Injection-Date: Tue, 20 Feb 2024 12:54:15 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 7354
 by: ladislau szilagyi - Tue, 20 Feb 2024 12:54 UTC

I published the Colossal Cave adventure game, ported to Cowgol : https://github.com/Laci1953/Cowgol_on_CP_M/tree/main/Games/Adventure

It must be compiled on a 128KB/512KB RAM Z80 machine.

D>cowgol advent.cow advmain.cow xrnd.as
COWGOL COMPILER (CP/M-80) V2.0
Copyright (C) David Given
ADVENT.COW
0:COWFE ADVENT.COW $CTMP1.$$$
COWFE: 21kB free main memory
63kB free extended memory
> ADVENT.COW
done: 12kB free main memory
51kB free extended memory
0:COWBE $CTMP1.$$$ ADVENT.COO
COWBE: 22kB free
__main
exit
get_char
print_char
print
print_nl
get_line
itoa
ltoa
isdigit
atoi
atol
bug
strcpy
strcmp
strlen
strcat
rindex
MemSet
ArgvInit
ArgvNext
file_i_init
fill
fcb_i_gbpb
fcb_i_blockin
fcb_i_blockout
fcb_i_changeblock
fcb_a_to_error
FCBOpenIn
FCBOpenUp
FCBOpenOut
FCBClose
FCBSeek
FCBPos
FCBExt
fcb_i_nextchar
FCBGetChar
FCBPutChar
closefiles
opentxt
rdupto
rdskip
rspeak
pspeak
desclg
descsh
binary
vocab
tolower
outwords
pct
yes
analyze
dstroy
juggle
put
liq2
copytrv
done: 15kB free
ADVMAIN.COW
0:COWFE ADVMAIN.COW $CTMP1.$$$
COWFE: 21kB free main memory
63kB free extended memory
> ADVMAIN.COW
done: 0kB free main memory
36kB free extended memory
0:COWBE $CTMP1.$$$ ADVMAIN.COO
COWBE: 22kB free
__main
get_dbugflg
set_saveflg
getwords
gettrav
english
addobj
toting
here
dark
forced
at
carry
drop
move
dcheck
liq
liqloc
needobj
actspk
score
normend
death
dwarfend
vdrop
vfill
vtake
vopen
vsay
describe
von
voff
vwave
vkill
vpour
veat
vdrink
vfeed
vthrow
vfind
vread
vblast
vbreak
vwake
ivtake
ivopen
ivkill
iveat
ivdrink
ivquit
ivfill
ivfoo
ivread
inventory
scanint
initplay
descitem
trverb
trobj
badmove
spcmove
dotrav
goback
domove
dopirate
dwarves
stimer
doobj
itverb
turn
done: 13kB free
XRND.AS
0:Z80AS -J -OXRND.OBJ XRND.AS
Z80AS Macro-Assembler V4.8

Errors: 0
Finished.
ERA $CTMP1.$$$
ERA $CTMP2.$$$
0:COWLINK COWGOL.COO ADVENT.COO ADVMAIN.COO -o $CTMP1.$$$
COWLINK: 46kB free
Adding input file: COWGOL.COO
Adding input file: ADVENT.COO
Adding input file: ADVMAIN.COO
Analysing...
Workspace sizes:
#0: 3109 bytes
#1: 0 bytes
#2: 0 bytes
#3: 0 bytes
Creating output file: $CTMP1.$$$
Copying from input file: COWGOL.COO
Copying from input file: ADVENT.COO
Copying from input file: ADVMAIN.COO
done: 24kB free
ERA ADVENT.COO
ERA ADVMAIN.COO
0:COWFIX $CTMP1.$$$ $CTMP2.$$$
0:Z80AS -J -N -OADVENT.OBJ $CTMP2.$$$
Z80AS Macro-Assembler V4.8

Errors: 0

Jump optimizations done: 918
Finished.
0:LINK -Z -Ptext=100H,data,bss -C100H -OADVENT.COM ADVENT.OBJ XRND.OBJ
ERA $CTMP1.$$$
ERA $CTMP2.$$$
ERA $$EXEC.$$$

D>
D>advent

Welcome to ADVENTURE!
=====================
-Original development by Willie Crowther.
-Major features added by Don Woods.
-Conversion to BDS C by J. R. Jaeger
-Unix standardization by Jerry D. Pohl.
-OS/2 Conversion by Martin Heller
-Conversion to TurboC 2.0 by Daimler

Would you like instructions?

>yes

Somewhere nearby is Colossal Cave, where others have
found fortunes in treasure and gold, though it is rumored
that some who enter are never seen again. Magic is said
to work in the cave. I will be your eyes and hands. Direct
me with commands of 1 or 2 words. I should warn you that I
look at only the first five letters of each word, so you'll
have to enter "Northeast" as "ne" to distinguish it from
"North". (Should you get stuck, type "help" for some
general hints).

You are inside a building, a well house for a large spring.
There are some keys on the ground here.
There is a shiny brass lamp nearby.
There is tasty food here.
There is a bottle of water here.
>help
I know of places, actions, and things. Most of my vocabulary
describes places and is used to move you there. To move, try
words like forest, building, downstream, enter, east, west,
north, south, up or down. I know about a few special
objects, like a black rod hidden in the cave. These objects
can be manipulated using some of the action words I know.
Usually you will need to give both the object and action
words (In either order), but sometimes I can infer the
object from the verb alone. Some objects also imply verbs;
in particular, "inventory" implies "take inventory", which
causes me to give you a list of what you're carrying. The
objects have side effects; for instance, the rod scares the
bird. Usually people having trouble moving just need
to try a few more words. Usually people trying unsuccessfully
to manipulate an object are attempting something beyond their
(or my!) capabilities and should try a completely different
tack. To speed the game you can sometimes move long distances
with a single word. For example, "building" usually gets you
to the building from anywhere above ground except when lost
in the forest. Also, note that cave passages turn a lot, and
that leaving a room to the north does not guarantee entering
the next from the south.
Good luck!
>

---------------------------

This is an early functional version of the game, probably there are still bugs to be fixed.

The main purpose of this experiment was to use the @extern attribute of subroutines, in order to have a large source file divided into several smaller source files, each using the @external mechanism.

Ladislau

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor