Re: [BLACKBOX] Ofront released as open source under a FreeBSD-style license

From: Oleg N. Cher <"Oleg>
Date: Wed, 25 Apr 2012 10:45:43 +0300

----boundary-LibPST-iamunique-1605816179_-_-
Content-type: text/plain

Dear Norayr,

In ZX Spectrum is used not 8080, and Z80 CPU.
Z80 is compatible with 8080, but has many of additional instructions
for bit manipulation, copying of memory blocks, additional index registers
(IX, IY). I met utterances of the people that name Z80 the most complex
8-bit CPU in the world.
Maybe it is so. Also Z80 is downward compatible with 8080. For code
generation for Z80 I've used
Small Device C Compiler. It is very good optimizing compiler for several
targets, but clear 8080 CPU
is not supported however.

Ulm's Oberon library - is it for Linux only? I understand it so.

About minimal size of the binary I get for Z80. If take the empty module:

MODULE HelloWorld; IMPORT B := Basic; PROCEDURE Main* ; END Main; END
HelloWorld.

that file HelloWorld.bin occupies after compiling 2 bytes: #C9#C9 (RET RET).
Overhead in one byte that, seems not so bad.

If simply add one call B.Init, that the binary will become the size 2098
bytes.
The Procedure Basic_Init occupies whole several bytes, signifies this
overhead of SDCC.
I think it is possible to reduce this overhead. I some experiments with
it and I see that
there is not smart-linking in SDCC. All code of module Basic is added to
the binary.
I planned to write e-mail to Philipp Klaus Krause (it's a main
architector and maintainer
of Z80 code generator in SDCC) to as him about this overhead
particularities.

But, as we understand, it is not a problem of Ofront. It is a problem of
back-end (SDCC).
Was me able to cut out the garbage collector? Of course,
in my ZX Spectrum games in Oberon I did not use it.

http://zx.oberon2.ru/dash.htm
http://zx.oberon2.ru/durak.htm

It's no problem to not use garbage collector in Ofront. :) There is
possible to declare
untagged pointers and work with memory manually.
Norayr, have you some projects for Nintendo written in Oberon-2 / OO2C?
I interested in Nintento as a platform to XDev project. Software
development for Nintendo in Oberon-2 :)

Please try to understand ZXDev documentation over Google Translator, it
you'll have additional questions,
e-mail me. I'll expect your e-mail.


 Chilingarian wrote:
> Hey, Oleg.
> Before this I was mostly concentrating on oo2c.
> For example, I have published nmos6502 port of oo2c (via cc65) but not
> the Ofront version. http://sourceforge.net/projects/nmos6502-oo2c/
> nmos6502 is the processor used in the Nintendo, Apple][ and Oric Atmos (:
> I've also dived into H2O sources in order to find out how hard would
> it be to modify it to work with Ofront.
> However because of the previous Ofront license I didn't have much
> inspiration to work.
> I've also did some work to bring Ulm's Oberon library to oo2c. I would
> like to try to do the same with Ofront.
> There may be a problem to link GPL code to FreeBSD code though.
>
> What is the minimal size of the binary you get for 8080?
> Was you able to cut out the garbage collector in order to reduce the
> size of the resulting binary?
> Ah, I must probably go by the link and try it myself.
>
> I'll write you an email, it's interesting to communicate as were
> engaged in the similar projects.
>
> Norayr
-- 
Oleg N. Cher
http://zx.oberon2.ru/
----
To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy----boundary-LibPST-iamunique-1605816179_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIERlYXIgTm9yYXlyLFxwYXINClxwYXINCkluIFpY
IFNwZWN0cnVtIGlzIHVzZWQgbm90IDgwODAsIGFuZCBaODAgQ1BVLlxwYXINClo4MCBpcyBjb21w
YXRpYmxlIHdpdGggODA4MCwgYnV0IGhhcyBtYW55IG9mIGFkZGl0aW9uYWwgaW5zdHJ1Y3Rpb25z
XHBhcg0KZm9yIGJpdCBtYW5pcHVsYXRpb24sIGNvcHlpbmcgb2YgbWVtb3J5IGJsb2NrcywgYWRk
aXRpb25hbCBpbmRleCByZWdpc3RlcnNccGFyDQooSVgsIElZKS4gSSBtZXQgdXR0ZXJhbmNlcyBv
ZiB0aGUgcGVvcGxlIHRoYXQgbmFtZSBaODAgdGhlIG1vc3QgY29tcGxleCBccGFyDQo4LWJpdCBD
UFUgaW4gdGhlIHdvcmxkLlxwYXINCk1heWJlIGl0IGlzIHNvLiBBbHNvIFo4MCBpcyBkb3dud2Fy
ZCBjb21wYXRpYmxlIHdpdGggODA4MC4gRm9yIGNvZGUgXHBhcg0KZ2VuZXJhdGlvbiBmb3IgWjgw
IEkndmUgdXNlZFxwYXINClNtYWxsIERldmljZSBDIENvbXBpbGVyLiBJdCBpcyB2ZXJ5IGdvb2Qg
b3B0aW1pemluZyBjb21waWxlciBmb3Igc2V2ZXJhbCBccGFyDQp0YXJnZXRzLCBidXQgY2xlYXIg
ODA4MCBDUFVccGFyDQppcyBub3Qgc3VwcG9ydGVkIGhvd2V2ZXIuXHBhcg0KXHBhcg0KVWxtJ3Mg
T2Jlcm9uIGxpYnJhcnkgLSBpcyBpdCBmb3IgTGludXggb25seT8gSSB1bmRlcnN0YW5kIGl0IHNv
LlxwYXINClxwYXINCkFib3V0IG1pbmltYWwgc2l6ZSBvZiB0aGUgYmluYXJ5IEkgZ2V0IGZvciBa
ODAuIElmIHRha2UgdGhlIGVtcHR5IG1vZHVsZTpccGFyDQpccGFyDQpNT0RVTEUgSGVsbG9Xb3Js
ZDsgSU1QT1JUIEIgOj0gQmFzaWM7IFBST0NFRFVSRSBNYWluKiA7IEVORCBNYWluOyBFTkQgXHBh
cg0KSGVsbG9Xb3JsZC5ccGFyDQpccGFyDQp0aGF0IGZpbGUgSGVsbG9Xb3JsZC5iaW4gb2NjdXBp
ZXMgYWZ0ZXIgY29tcGlsaW5nIDIgYnl0ZXM6ICNDOSNDOSAoUkVUIFJFVCkuXHBhcg0KT3Zlcmhl
YWQgaW4gb25lIGJ5dGUgdGhhdCwgc2VlbXMgbm90IHNvIGJhZC5ccGFyDQpccGFyDQpJZiBzaW1w
bHkgYWRkIG9uZSBjYWxsIEIuSW5pdCwgdGhhdCB0aGUgYmluYXJ5IHdpbGwgYmVjb21lIHRoZSBz
aXplIDIwOTggXHBhcg0KYnl0ZXMuXHBhcg0KVGhlIFByb2NlZHVyZSBCYXNpY19Jbml0IG9jY3Vw
aWVzIHdob2xlIHNldmVyYWwgYnl0ZXMsIHNpZ25pZmllcyB0aGlzIFxwYXINCm92ZXJoZWFkIG9m
IFNEQ0MuXHBhcg0KSSB0aGluayBpdCBpcyBwb3NzaWJsZSB0byByZWR1Y2UgdGhpcyBvdmVyaGVh
ZC4gSSBzb21lIGV4cGVyaW1lbnRzIHdpdGggXHBhcg0KaXQgYW5kIEkgc2VlIHRoYXRccGFyDQp0
aGVyZSBpcyBub3Qgc21hcnQtbGlua2luZyBpbiBTRENDLiBBbGwgY29kZSBvZiBtb2R1bGUgQmFz
aWMgaXMgYWRkZWQgdG8gXHBhcg0KdGhlIGJpbmFyeS5ccGFyDQpJIHBsYW5uZWQgdG8gd3JpdGUg
ZS1tYWlsIHRvIFBoaWxpcHAgS2xhdXMgS3JhdXNlIChpdCdzIGEgbWFpbiBccGFyDQphcmNoaXRl
Y3RvciBhbmQgbWFpbnRhaW5lclxwYXINCm9mIFo4MCBjb2RlIGdlbmVyYXRvciBpbiBTRENDKSB0
byBhcyBoaW0gYWJvdXQgdGhpcyBvdmVyaGVhZCBccGFyDQpwYXJ0aWN1bGFyaXRpZXMuXHBhcg0K
XHBhcg0KQnV0LCBhcyB3ZSB1bmRlcnN0YW5kLCBpdCBpcyBub3QgYSBwcm9ibGVtIG9mIE9mcm9u
dC4gSXQgaXMgYSBwcm9ibGVtIG9mIFxwYXINCmJhY2stZW5kIChTRENDKS5ccGFyDQpXYXMgbWUg
YWJsZSB0byBjdXQgb3V0IHRoZSBnYXJiYWdlIGNvbGxlY3Rvcj8gT2YgY291cnNlLFxwYXINCmlu
IG15IFpYIFNwZWN0cnVtIGdhbWVzIGluIE9iZXJvbiBJIGRpZCBub3QgdXNlIGl0LlxwYXINClxw
YXINCmh0dHA6Ly96eC5vYmVyb24yLnJ1L2Rhc2guaHRtXHBhcg0KaHR0cDovL3p4Lm9iZXJvbjIu
cnUvZHVyYWsuaHRtXHBhcg0KXHBhcg0KSXQncyBubyBwcm9ibGVtIHRvIG5vdCB1c2UgZ2FyYmFn
ZSBjb2xsZWN0b3IgaW4gT2Zyb250LiA6KSBUaGVyZSBpcyBccGFyDQpwb3NzaWJsZSB0byBkZWNs
YXJlXHBhcg0KdW50YWdnZWQgcG9pbnRlcnMgYW5kIHdvcmsgd2l0aCBtZW1vcnkgbWFudWFsbHku
XHBhcg0KTm9yYXlyLCBoYXZlIHlvdSBzb21lIHByb2plY3RzIGZvciBOaW50ZW5kbyB3cml0dGVu
IGluIE9iZXJvbi0yIC8gT08yQz9ccGFyDQpJIGludGVyZXN0ZWQgaW4gTmludGVudG8gYXMgYSBw
bGF0Zm9ybSB0byBYRGV2IHByb2plY3QuIFNvZnR3YXJlIFxwYXINCmRldmVsb3BtZW50IGZvciBO
aW50ZW5kbyBpbiBPYmVyb24tMiA6KVxwYXINClxwYXINClBsZWFzZSB0cnkgdG8gdW5kZXJzdGFu
ZCBaWERldiBkb2N1bWVudGF0aW9uIG92ZXIgR29vZ2xlIFRyYW5zbGF0b3IsIGl0IFxwYXINCnlv
dSdsbCBoYXZlIGFkZGl0aW9uYWwgcXVlc3Rpb25zLFxwYXINCmUtbWFpbCBtZS4gSSdsbCBleHBl
Y3QgeW91ciBlLW1haWwuXHBhcg0KXHBhcg0KXHBhcg0KIENoaWxpbmdhcmlhbiB3cm90ZTpccGFy
DQo+IEhleSwgT2xlZy5ccGFyDQo+IEJlZm9yZSB0aGlzIEkgd2FzIG1vc3RseSBjb25jZW50cmF0
aW5nIG9uIG9vMmMuXHBhcg0KPiBGb3IgZXhhbXBsZSwgSSBoYXZlIHB1Ymxpc2hlZCBubW9zNjUw
MiBwb3J0IG9mIG9vMmMgKHZpYSBjYzY1KSBidXQgbm90IFxwYXINCj4gdGhlIE9mcm9udCB2ZXJz
aW9uLiBodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL25tb3M2NTAyLW9vMmMvXHBhcg0K
PiBubW9zNjUwMiBpcyB0aGUgcHJvY2Vzc29yIHVzZWQgaW4gdGhlIE5pbnRlbmRvLCBBcHBsZV1b
IGFuZCBPcmljIEF0bW9zICg6XHBhcg0KPiBJJ3ZlIGFsc28gZGl2ZWQgaW50byBIMk8gc291cmNl
cyBpbiBvcmRlciB0byBmaW5kIG91dCBob3cgaGFyZCB3b3VsZCBccGFyDQo+IGl0IGJlIHRvIG1v
ZGlmeSBpdCB0byB3b3JrIHdpdGggT2Zyb250LlxwYXINCj4gSG93ZXZlciBiZWNhdXNlIG9mIHRo
ZSBwcmV2aW91cyBPZnJvbnQgbGljZW5zZSBJIGRpZG4ndCBoYXZlIG11Y2ggXHBhcg0KPiBpbnNw
aXJhdGlvbiB0byB3b3JrLlxwYXINCj4gSSd2ZSBhbHNvIGRpZCBzb21lIHdvcmsgdG8gYnJpbmcg
VWxtJ3MgT2Jlcm9uIGxpYnJhcnkgdG8gb28yYy4gSSB3b3VsZCBccGFyDQo+IGxpa2UgdG8gdHJ5
IHRvIGRvIHRoZSBzYW1lIHdpdGggT2Zyb250LlxwYXINCj4gVGhlcmUgbWF5IGJlIGEgcHJvYmxl
bSB0byBsaW5rIEdQTCBjb2RlIHRvIEZyZWVCU0QgY29kZSB0aG91Z2guXHBhcg0KPlxwYXINCj4g
V2hhdCBpcyB0aGUgbWluaW1hbCBzaXplIG9mIHRoZSBiaW5hcnkgeW91IGdldCBmb3IgODA4MD9c
cGFyDQo+IFdhcyB5b3UgYWJsZSB0byBjdXQgb3V0IHRoZSBnYXJiYWdlIGNvbGxlY3RvciBpbiBv
cmRlciB0byByZWR1Y2UgdGhlIFxwYXINCj4gc2l6ZSBvZiB0aGUgcmVzdWx0aW5nIGJpbmFyeT9c
cGFyDQo+IEFoLCBJIG11c3QgcHJvYmFibHkgZ28gYnkgdGhlIGxpbmsgYW5kIHRyeSBpdCBteXNl
bGYuXHBhcg0KPlxwYXINCj4gSSdsbCB3cml0ZSB5b3UgYW4gZW1haWwsIGl0J3MgaW50ZXJlc3Rp
bmcgdG8gY29tbXVuaWNhdGUgYXMgd2VyZSBccGFyDQo+IGVuZ2FnZWQgaW4gdGhlIHNpbWlsYXIg
cHJvamVjdHMuXHBhcg0KPlxwYXINCj4gTm9yYXlyXHBhcg0KLS0gXHBhcg0KT2xlZyBOLiBDaGVy
XHBhcg0KaHR0cDovL3p4Lm9iZXJvbjIucnUvXHBhcg0KXHBhcg0KXHBhcg0KLS0tLVxwYXINClRv
IHVuc3Vic2NyaWJlLCBzZW5kIGEgbWVzc2FnZSB3aXRoIGJvZHkgIlNJR05PRkYgQkxBQ0tCT1gi
IHRvIExJU1RTRVJWQExJU1RTLk9CRVJPTi5DSH19AAEBAAA=
----boundary-LibPST-iamunique-1605816179_-_---
Received on Wed Apr 25 2012 - 09:45:43 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:30:04 UTC