Click Here
home features news forums classifieds faqs links search
5740 members 
Amiga Q&A /  Free for All /  Emulation /  Gaming / (Latest Posts)
Login

Nickname

Password

Lost Password?

Don't have an account yet?
Register now!

Support Amigaworld.net
Your support is needed and is appreciated as Amigaworld.net is primarily dependent upon the support of its users.
Donate

Menu
Main sections
» Home
» Features
» News
» Forums
» Classifieds
» Links
» Downloads
Extras
» OS4 Zone
» IRC Network
» AmigaWorld Radio
» Newsfeed
» Top Members
» Amiga Dealers
Information
» About Us
» FAQs
» Advertise
» Polls
» Terms of Service
» Search

IRC Channel
Server: irc.amigaworld.net
Ports: 1024,5555, 6665-6669
SSL port: 6697
Channel: #Amigaworld
Channel Policy and Guidelines

Who's Online
28 crawler(s) on-line.
 14 guest(s) on-line.
 0 member(s) on-line.



You are an anonymous user.
Register Now!
 matthey:  5 mins ago
 gonegahgah:  32 mins ago
 MEGA_RJ_MICAL:  42 mins ago
 annasolano:  1 hr 2 mins ago
 K-L:  1 hr 25 mins ago
 WeiXing3D:  1 hr 34 mins ago
 eliyahu:  1 hr 42 mins ago
 MEGA.RJ.MICAL:  2 hrs 14 mins ago
 cc3d:  2 hrs 25 mins ago
 DiscreetFX:  2 hrs 31 mins ago

/  Forum Index
   /  Amiga General Chat
      /  Amiga Nowhere
Register To Post

Goto page ( Previous Page 1 | 2 | 3 | 4 Next Page )
PosterThread
NutsAboutAmiga 
Re: Amiga Nowhere
Posted on 18-May-2020 20:37:17
#41 ]
Elite Member
Joined: 9-Jun-2004
Posts: 11331
From: Norway

@Hypex

Tag list and var args are really bad from preference point of view, as need process the table, and can’t directly use input data.

Way I find really strange they they decided to go for that for allocating memory, wont be nicer with overloaded functions.

Last edited by NutsAboutAmiga on 18-May-2020 at 08:42 PM.

_________________
http://lifeofliveforit.blogspot.no/
Facebook::LiveForIt Software for AmigaOS

 Status: Offline
Profile     Report this post  
gonegahgah 
Re: Amiga Nowhere
Posted on 18-May-2020 22:10:00
#42 ]
Regular Member
Joined: 5-Dec-2008
Posts: 124
From: Australia

@Hypex

Quote:
Yes, it returns it in registers as you would expect, though that would be hidden.

I've wondered if the syntax would conflict with anything else in C?
ie. x,y = GetMouse()
I can imagine so in a parameter list but could parenthesis fix that?
ie. Draw(object,x,y,(x,y)=GetMouse());

Quote:
I remember the language of the Sheeple. So many Amiga projects we saw but disappear.

There were some many promised things. One was called the Amiga Component Model. Apparently a fellow named Jesse was working on this, and apparently he disappeared for a while, and apparently he reappeared? What I was provided seemed more conceptual rather than working. There is some sort of supposedly related repositry at http://afc.sourceforge.net/ but I'd have to look at it again.

Quote:
Because in the binary there would be the library name that would be checked against, along with version, found in the resident structure. So really the file name matches the library. But they need to match as, when it gets loaded off disk in the csse it isn't in memory, the OS will look for a library file exactly matching the library name.

I sort of felt it must be something like that. Thanks for explaining.

Quote:
For some reason I see Tao and think about a Guru meditating. It had to have some link to the Amiga.



Quote:
I've had this gripe against datatypes.

I like the idea of the Amiga datatypes but I felt the implementation was constrictive. I can understand that given time constraints that you have to produce something. It's always hard to define all opportunities from the get go. But it is hopefully a useful pointer to something someday. Microsofts use of extensions was always ugly to me; even with extension hiding. Sadly even we've copied that approach in file naming largely to comply.

Quote:
Then there was this variable message thing used, that wasn't in a usual structure, nor a tag list.

I can't remember that off the top of my head? What was that?

Quote:
After I learnt what OOP was about, I could see what they were trying to do, but I wondered why.

I'm guessing for legacy reasons? That always seems to be the reasons for a lot of decisions. I used BOOPSI to program intelligent menu items early on. I'm not sure they could have incorporated that facility using C++ in the Amiga system but I could be wrong?

 Status: Offline
Profile     Report this post  
matthey 
Re: Amiga Nowhere
Posted on 18-May-2020 23:12:50
#43 ]
Cult Member
Joined: 14-Mar-2007
Posts: 677
From: Kansas

Quote:

NutsAboutAmiga wrote:
From the sound of it, it sounds like UAE is busy looping.


When will a 68k CPU stop executing instructions? The STOP and later 68060 LPSTOP instructions tell the CPU to stop and wait for interrupts to continue execution. There wasn't much reason to use STOP as it didn't enter a low power state while LPSTOP could drop the 68060 power draw to 30mW or 1/130 the draw at 50MHz (larger reduction at higher frequencies). As far as I know, the Amiga did *not* use these instructions to enter a sleep state when idle.

When did the Amiga CPU, copper, CIAs, etc. go to sleep? How then do you emulate something that never sleeps with anything but one big busy loop?

Quote:

I guess, it might possible speed things up, if its possible to wake up tasks (emulated chips) based on some kind action, so they not running all the time, but instead awaken when needed.


Amiga tasks/processes wait but the CPU keeps executing and looping somewhere else (probably the scheduler when everything is idle).

Quote:

NutsAboutAmiga wrote:
Tag list and var args are really bad from preference point of view, as need process the table, and can’t directly use input data.

Way I find really strange they they decided to go for that for allocating memory, wont be nicer with overloaded functions.


The original Amiga way of passing variables and pointers to structures (in registers) to functions was very fast and efficient. Tag lists and variadic functions are slower. I believe overloading would create more functions which would call other small functions in order to share code leading to either code bloat with inlining or poor performance without. Also, C does not support overloaded functions. Maybe you could give an example of allocating memory with overloaded functions though?

Last edited by matthey on 18-May-2020 at 11:31 PM.

 Status: Offline
Profile     Report this post  
Hypex 
Re: Amiga Nowhere
Posted on 19-May-2020 17:43:18
#44 ]
Elite Member
Joined: 6-May-2007
Posts: 9855
From: Greensborough, Australia

@bison

Quote:
The window is on that is probably closed, but that would have been an interesting development.


Quite likely. I tend to associate Obj-C with OSX more than anything. Although, after having a read of this, Obj-C looks like the way to go. Someone said the Amiga OOP implemenation was based on Smalltalk. So, if Obj-C also bases the OOP on Smalltalk, it's logical to use it and it's said to be backwards compatible with C.

https://www.whoishostingthis.com/resources/objective-c/

 Status: Offline
Profile     Report this post  
OneTimer1 
Re: Amiga Nowhere
Posted on 20-May-2020 10:35:38
#45 ]
Cult Member
Joined: 3-Aug-2015
Posts: 585
From: Unknown


Quote:

Samurai_Crow wrote:

The function I intended for AmigaDE to fill when I suggested it at the Amiga '98 DevCon, was to bridge 68k Amiga apps to run on other architectures ...


Forget it, AmigaDE was always less Amiga than UAE.

It was a total stranger from all the ideas that made Amiga, it was not hardware it just was a software layer.

It was not made to run Amiga software, it was not made to run on Amiga hardware, it was just a name sticker glued on a software system they tried to sell. A platform for games you should buy in a web shop.

I felt pissed by the company who tried to sell it under the name Amiga. It may have worked if they had got the right partners but it would never have been a computer like the Amiga was.

Last edited by OneTimer1 on 20-May-2020 at 10:37 AM.

 Status: Offline
Profile     Report this post  
OneTimer1 
Re: Amiga Nowhere
Posted on 20-May-2020 10:50:43
#46 ]
Cult Member
Joined: 3-Aug-2015
Posts: 585
From: Unknown

@gonegahgah

Quote:

gonegahgah wrote:

I've wondered if the syntax would conflict with anything else in C?
ie. x,y = GetMouse()
I can imagine so in a parameter list but could parenthesis fix that?
ie. Draw(object,x,y,(x,y)=GetMouse());


Forget registers, the Amiga behaves like a computer that was programmed in 'C'.

In 'C' and other high level languages a function call will only have on return value.

So if a 'GetMouse()' function should give you two values for the position you should use a different way:

1.
int x;
int y;
int status;

status = GetMouse(&x, &y); // &x and &y are the addresses of x or y

// Now status could contain information about mouse buttons and x or y will contain 32 bit values for the mouse position.

Usually you would use a structure with all the information needed for mouse handling, on the Amiga you would (IMR) look for events in the screen structure of your program.

 Status: Offline
Profile     Report this post  
gonegahgah 
Re: Amiga Nowhere
Posted on 20-May-2020 13:04:58
#47 ]
Regular Member
Joined: 5-Dec-2008
Posts: 124
From: Australia

@OneTimer1

Quote:
Usually you would use a structure with all the information needed for mouse handling, on the Amiga you would (IMR) look for events in the screen structure of your program.

That's how I think I recall it too.
However, for me, no computer or operating system today works the way I want it to work.
I am always frustrated by the way they hold us back. I feel it shouldn't be the case.
I'm guessing probably the closest might be a Chromebook but I must admit I haven't used one.
Amiga has always been a great inspiration for me in many ways.
I like its responsiveness even under heavy loads.
I like its changeability... ARexx, MUI, even BOOPSI.
There's so many more things you can do to the Amiga OS maybe possibly than anything else.
The problem is the underlying paradigms on these systems.
If you stick with the same paradigms you get the same problems...
The Amiga was a paradigm breaker in its day in several areas.

Quote:
Forget registers, the Amiga behaves like a computer that was programmed in 'C'.

All the systems that Tao was running on were like that as well.
Tao could still do things its way on them though.
It's always tricky to operate with new customs in a foreign environment but there are usually ways.

Last edited by gonegahgah on 20-May-2020 at 01:06 PM.

 Status: Offline
Profile     Report this post  
gonegahgah 
Re: Amiga Nowhere
Posted on 20-May-2020 13:48:18
#48 ]
Regular Member
Joined: 5-Dec-2008
Posts: 124
From: Australia

Speaking of things I don't like about the Taos intent environment...

You can change the shell size by changing the font size but you can't change the number of lines (or columns) in the shell. Very much a pain.

The 'audiovisual environment' (AVE) window seems to have one size?
It may have been manually changeable but if it could I can't remember how now?
I'm sure they couldn't have wanted to leave it that way to be an OS.
The window should have been adjustable like any other.
Windows inside the AVE window could change size but the AVE window itself was fixed!
Maybe it was something they left for fixing up later?

They cludged some gfx classes together (a strange form of dynamic inheritance).
Very crude and it looked like you could only change inheritance once.
They were adding dynamic classes in 1.5 but they didn't make it into the documentation.
It may have been a work-in-progress and not ready for release?
Maybe that was to address that dynamic inheritance in a better fashion? I don't know.
I haven't actually tried to use it yet to see if it does anything... A future experiment I guess...
But, I'm hoping to do 'objects' in a different way anyway.

They have two versions of objects. Original and sysob's.
Sysob's are better than the original but there are still things I dislike.
The instance data is defined as a record (like a structure in C) and before the class starts.
Their way of finding the instance data for a given class is to have a second tool for every class.
This is called class.fixup.00. Very yuck.
Objects instead should be completely self-contained (but allow methods to be virtual tools).

This is why I'm writing my own language.
So I can fix or improve any of the things that I dislike in it.
It's been a chicken or egg situation for me until now.
I realised recently I could instead write a chicken that is also an egg!

Last edited by gonegahgah on 20-May-2020 at 01:50 PM.

 Status: Offline
Profile     Report this post  
LarsB 
Re: Amiga Nowhere
Posted on 20-May-2020 14:55:24
#49 ]
Member
Joined: 29-Jul-2019
Posts: 33
From: Unknown

@DiscreetFX

I have AA2 on my older HD. Its was enyoable to program. But indeed the software distribution agreement was not acceptable. I dont remember if it was 20 or 25 percent which you had to give to Ainc. and indeed the software was practically their property. And indeed they had exclusive rights for distribution. Also you had to sign a NDA about all this. I didnt do that and from one moment to another the contact with Ainc. was over. It was a shame because AA2 was really good. Easy to install. No pathes nothing. Just click and go. It was a derive from GNU and it had a kind of shell. Many things had been there. And the generated code was fast.

 Status: Offline
Profile     Report this post  
bison 
Re: Amiga Nowhere
Posted on 20-May-2020 15:27:13
#50 ]
Super Member
Joined: 18-Dec-2007
Posts: 1577
From: N-Space

@Hypex

Quote:
Someone said the Amiga OOP implemenation was based on Smalltalk. So, if Obj-C also bases the OOP on Smalltalk, it's logical to use it and it's said to be backwards compatible with C.

I never learned Smalltalk, but my understanding is that ObjC is basically the Smalltalk object model grafted onto C. ObjC, properly implemented, is an exact super-set of C -- there are no niggling differences like there are between C and C++. An ObjC compiler should compile any valid C program without changes.

I learned ObjC -- twice -- but I never used it for anything, so the details have drifted away...

_________________
"Unix is supposed to fix that." -- Jay Miner

 Status: Offline
Profile     Report this post  
billt 
Re: Amiga Nowhere
Posted on 20-May-2020 15:32:44
#51 ]
Elite Member
Joined: 24-Oct-2003
Posts: 3152
From: Maryland, USA

One of the things about the whole AmigaDE thing was that it was for Red Hat Linux 6.something. Not long after, Red Hat did something to ncurses that broke AmigaDE. Amiga said Linux was to blame, and sounded like they were waiting on ncurses to be fixed. But it wasn't broken, it moved on, and AmigaDE for whatever reason refused to adapt and follow, so chose to stay stuck in time at RH Linux 6.whatever. That was kindof a sign of doom right there for me...

I think the general idea was a good one. Too bad they got to screw it up. Really too bad that the original vendor Tao didn't survive to sell it just as their Elate product...

_________________
All glory to the Hypnotoad!

 Status: Offline
Profile     Report this post  
gonegahgah 
Re: Amiga Nowhere
Posted on 20-May-2020 17:05:09
#52 ]
Regular Member
Joined: 5-Dec-2008
Posts: 124
From: Australia

@LarsB

Quote:
I have AA2 on my older HD. Its was enyoable to program. But indeed the software distribution agreement was not acceptable.

I never had AA2 from Amiga as such. I had completely forgotten about its existance.
Thank you for recalling it.
I can remember I saw Bill McEwan demoing it on TechTV.
Amiga Anywhere Demo
Also I think at least one of the Magazines had an article and screen shots.

I'm not sure what things Amiga added to it but it was at least in part if not mostly a rebadged version of Tao's system. I think they added the automatic rescaling (at least) from what I recall...

 Status: Offline
Profile     Report this post  
Hypex 
Re: Amiga Nowhere
Posted on 20-May-2020 17:07:20
#53 ]
Elite Member
Joined: 6-May-2007
Posts: 9855
From: Greensborough, Australia

@NutsAboutAmiga

Quote:
From the sound of it, it sounds like UAE is busy looping.


I don't know. It really wouldn't have any reason to as it's kepy busy doing things all the time. And the clocks it counts would be emulated clocks apart from the host FSB timebase it reads.

Quote:
I guess, it might possible speed things up, if its possible to wake up tasks (emulated chips) based on some kind action, so they not running all the time, but instead awaken when needed.


It could be. But the Amiga hardware has this asynchronous behaviour. At least it does between blitter and CPU. Other things like copper or CIA could be split off. But the chipset does have some exact internal timing UAE needs to replicate on a virtual level. Not necessarily resulting in exact timing in the output model.

Quote:
you can't just jump to C++, as you need to support older programes as well,but i wonder if not ideltool can generate struct with virtual metodes, if they compatible function pointer idea, I have not looked at that deeply.


At the time, there were no older programs using Datatypes or BOOPSI, so they should have still worked and compiled fine. But it seems to me, C++ would have been a better language on which to build the new Datatypes and BOOPSI layer on, if this was the direction they wanted to go. Or, since I've found it, Obj-C.

But, on OS4 they practically dropped support for older programs, when they brought in interfaces which immediately broke all old sources. Excepting those that used some -lauto type setup if OS3 had it.

As a rule, IDLTOOL does generate virtual methods, in the interfaces. Of course these are in the usual C style structures. But you can take advantage of the mechanism. Want to use a struct like an object and call methods off it with a self pointer included? Simply use APICALL in place of a function pointer!

Quote:
I tried to compiled .library with g++, I?m not sure if was some messed up or if the symbols where not found, it might be possible, or might be possible with just tiny bit more work.


An Amiga library?

Quote:
Anyway idltool is too sloppy it does not follow the more strict c++ rules, I had to do lot casting of function pointers to make it compile.


Doesn't sound too good. I even hate warnings these days. Given its called "idltool" and not "IDLTool" is a sign of sloppyness. And it doesn't say what it means.

Quote:
Tag list and var args are really bad from preference point of view, as need process the table, and can?t directly use input data.


True. They also take up more space. But they are better for expansion and optional parameters. They also make binaries look funny. I didn't understand why OS3 binaries have guru codes inside them until I found out what a taglist is.

Quote:
Way I find really strange they they decided to go for that for allocating memory, wont be nicer with overloaded functions.


Yeah I thought that was a bad choice. AllocVec() had simplified AllocMem(), even though docs didn't say what a "Vec" is. I thought it was a vector. Or vectory. But using tags will slow it down and allocating memory should be a fast operation.

Last edited by Hypex on 20-May-2020 at 05:13 PM.

 Status: Offline
Profile     Report this post  
gonegahgah 
Re: Amiga Nowhere
Posted on 20-May-2020 17:16:31
#54 ]
Regular Member
Joined: 5-Dec-2008
Posts: 124
From: Australia

@billt

Quote:
Not long after, Red Hat did something to ncurses that broke AmigaDE.

I recall that NCurses thing (barely).
Maybe it was the reason I moved to the PC version?
It caused some problem with the Tao Shell didn't it under Linux?

Last edited by gonegahgah on 20-May-2020 at 05:17 PM.

 Status: Offline
Profile     Report this post  
NutsAboutAmiga 
Re: Amiga Nowhere
Posted on 20-May-2020 19:45:24
#55 ]
Elite Member
Joined: 9-Jun-2004
Posts: 11331
From: Norway

@Hypex

Quote:
-lauto?


You should not use -lauto in final compile, it has horrible initialization code, not correctly check if libraries are opened or not.

I think it was created for when you prototype your program, its kind of useless.
I have all my library init stuff in init.cpp file, so really easy for me just copy It into any new project. Anyhow, to support OS3.x you just have different init.cpp file, and all fine.

Quote:
when they brought in interfaces which immediately broke all old sources.


Interfaces does break old source codes, you put -D__use_inline__ on GCC command line, its strange you don’t know this. What breaks AmigsOS3.x compatibility is developers who don’t give fu*k about AmigaOS3.x.

I seen code where developer, do not wont remove IEXEC ->, so they replace it by macro, so by define macro to nothing its backwards compatible, with removing the “OBJECT” (library) it belong to.

Last edited by NutsAboutAmiga on 21-May-2020 at 06:10 PM.
Last edited by NutsAboutAmiga on 20-May-2020 at 07:52 PM.
Last edited by NutsAboutAmiga on 20-May-2020 at 07:49 PM.

_________________
http://lifeofliveforit.blogspot.no/
Facebook::LiveForIt Software for AmigaOS

 Status: Offline
Profile     Report this post  
Hypex 
Re: Amiga Nowhere
Posted on 21-May-2020 17:34:09
#56 ]
Elite Member
Joined: 6-May-2007
Posts: 9855
From: Greensborough, Australia

@gonegahgah

Quote:
I've wondered if the syntax would conflict with anything else in C?
ie. x,y = GetMouse()


Well it tends to be used the other way around. So there's a few things it could conflict with. Namely what it's used for.

https://www.geeksforgeeks.org/comna-in-c-and-c/

Quote:
I can imagine so in a parameter list but could parenthesis fix that?
ie. Draw(object,x,y,(x,y)=GetMouse());


It looks slightly confuisng so maybe not! My interpretaion of (x,y) above is as an array containing x and y. Because it looks like they are passed as a parameter. But is it trying to draw the object from x,y to the reassigned x,y values?

Quote:
There were some many promised things. One was called the Amiga Component Model. Apparently a fellow named Jesse was working on this, and apparently he disappeared for a while, and apparently he reappeared?


Okay I don't recall that one. Was it part of the Amiga Objects idea? Which I thought looked good at the time. I don't know how an old Amiga project possibility can help on Linux now. What if anything used this AFC?

Quote:
I sort of felt it must be something like that. Thanks for explaining.




It had to make sense somewhere.

Quote:
I like the idea of the Amiga datatypes but I felt the implementation was constrictive. I can understand that given time constraints that you have to produce something. It's always hard to define all opportunities from the get go. But it is hopefully a useful pointer to something someday.


I think it was held back by the language barrier. They were implementing it in C but were going beyond what C provided. Pushing the boundries of the language. It also didn't fit with the rest of the APIs which weren't OOP based. I suppose they wanted to extend it with modern ideas.

Quote:
Microsofts use of extensions was always ugly to me; even with extension hiding. Sadly even we've copied that approach in file naming largely to comply.


In what way? I can understand files like images having extensions. But the Amiga doesn't need a.exe on the end.

Quote:
I can't remember that off the top of my head? What was that?


The BOOPSI methods. Which are called messages as per Smalltalk. So you have this table you build up containing a method ID and parameters followng. Similar to varargs. One problem is a normal function is used to call it, which is passed the object and the message. Which is backwards to OOP, where the method or message as its called would be called directly off the object.

Quote:
I'm guessing for legacy reasons? That always seems to be the reasons for a lot of decisions. I used BOOPSI to program intelligent menu items early on. I'm not sure they could have incorporated that facility using C++ in the Amiga system but I could be wrong?


At this point they were going beyond legacy and introducing new concepts. Since OS2 I read. C++ would have looked cleaner as it was suited for it. But they would have had C for the old API and C++ for a new one, so may have needed for C code to work in a C++ environment. Same problem but looking other way.

Last edited by Hypex on 22-May-2020 at 05:20 PM.

 Status: Offline
Profile     Report this post  
LarsB 
Re: Amiga Nowhere
Posted on 21-May-2020 17:44:33
#57 ]
Member
Joined: 29-Jul-2019
Posts: 33
From: Unknown

@gonegahgah There was much back and forth at this time. The discussion was the general development line of Amiga. What should it be? A genuine Hardware? Standard Hardware with Amiga OS? First there was AmigaDE then there was AA1 and then AA2. AA2 was also a candidate for being AOS5. There had been much rumors. We can say now how it went. For myself in a quite disappointing way. Hardware is overpriced to call it mildly. The OS has many construction places (how we call it in German). And the camps are not good to each other.

 Status: Offline
Profile     Report this post  
gonegahgah 
Re: Amiga Nowhere
Posted on 22-May-2020 5:26:01
#58 ]
Regular Member
Joined: 5-Dec-2008
Posts: 124
From: Australia

@Hypex

Quote:
Well it tends to be used the other way around. So there's a few things it could conflict with. Namely what it's used for.

I guess maybe it would discard the first x in x,y=GetMouse().
So maybe it would be essential to put (x,y)=GetMouse()?

Quote:
It looks slightly confuisng so maybe not! My interpretaion of (x,y) above is as an array containing x and y. Because it looks like they are passed as a parameter. But is it trying to draw the object from x,y to the reassigned x,y values?

That's good! Mostly yes. So yes first x & y would be their old values passed as arguments 2 & 3, and the second x & y would be updated and the updated values would be passed as arguments 4 & 5.
Would C be comfortable in passing these as two updated (but separate) arguments even though they are in brackets?

Quote:
Okay I don't recall that one. Was it part of the Amiga Objects idea?

I guess so. Fleecy had some rather interesting ideas and even more interesting thing was looking at how to try and make some of them actually work. His object model had factories and blueprints and other bizarre stuff. It looked like they were trying to jam ideas together.
It started as something else - before they acquired some form of Amiga company - and seemed like a process of making theory into reality. It was called something similar to Kronos or KAOS or something? I'm sure I can locate the name somewhere...

Quote:
Which I thought looked good at the time.

It sounded like it was going to do everything...
They were talking about objects as if they were going to be like things you could almost touch.
Everything was supposed to work with everything... Sheep, AmiObjects, etc...

Quote:
What if anything used this AFC?

That is a very interesting question? I would like to know too.
I haven't studied the AFC hard, which I should, but I can't see at a glance what its benefit is?
That's perhaps what they should have lead in with on that site.

Quote:
I think it was held back by the language barrier. They were implementing it in C but were going beyond what C provided. Pushing the boundries of the language. It also didn't fit with the rest of the APIs which weren't OOP based. I suppose they wanted to extend it with modern ideas.

That sounds very plausible.

Quote:
In what way? I can understand files like images having extensions. But the Amiga doesn't need a.exe on the end.

Extensions are a cheap way to identify a file type again born of current underlying paradigms.
But they get very ugly very quick. There are a zoo of file extensions out there with many clashes.
Even with the extensions they of themselves are not enough to identify variations and subsets.
To me they are like a poor halfway-house.
All I want to know is how much compression I can get and whether its lossy and how badly.
So I just feel there must be a better way...

Quote:
The BOOPSI methods. Which are called messages as per Smalltalk. So you have this table you build up containing a method ID and parameters followng. Similar to varargs. One problem is a normal function is used to call it, which is passed the object and the message. Which is backwards to OOP, where the method or message as its called would be called directly off the object.

It was drifting back into my memory afterwards. I see what you mean. I agree.

The Taos models use direct calls of course.

My object model uses direct calls as well except I'm hoping to be able to incorporate cross-CPU calling. That would require proper messages with mailboxes but I want to make that only occur automatically when necessary and not be the central method. I was looking at it recently and had no clue. Hopefully I can work it out next time I look at it.

Quote:
At this point they were going beyond legacy and introducing new concepts. Since OS2 I read. C++ would have looked cleaner as it was suited for it. But they would have had C for the old API and C++ for a new one, so may have needed for C code to work in a C++ environment. Same problem but looking other way.

I think I've pondered many of these things over time too and wondered why they didn't do alternate things. I have pondered if they could have just use varargs for tags? I think I figured that the dynamic nature of some of the things they were trying to do disallowed it? Could that be the case?

I think C++ has runtime objects now as well as compile time ones. Does it?
Compile time ones are always easier because everything is available and easy to optimise.
Runtime objects are more unpredictable and require more complex handling.
Just like shared librariers vs standard libraries.
I always wondered if that was partly the reason for BOOPSI?

 Status: Offline
Profile     Report this post  
gonegahgah 
Re: Amiga Nowhere
Posted on 22-May-2020 5:32:20
#59 ]
Regular Member
Joined: 5-Dec-2008
Posts: 124
From: Australia

@LarsB

Quote:
There was much back and forth at this time. The discussion was the general development line of Amiga. What should it be? A genuine Hardware? Standard Hardware with Amiga OS? First there was AmigaDE then there was AA1 and then AA2. AA2 was also a candidate for being AOS5. There had been much rumors. We can say now how it went. For myself in a quite disappointing way. Hardware is overpriced to call it mildly. The OS has many construction places (how we call it in German). And the camps are not good to each other.

'Tis true. We certainly went swinging from one thing to another. Was a total whirlwind.
So many attempts. So many shards...

Last edited by gonegahgah on 22-May-2020 at 05:32 AM.

 Status: Offline
Profile     Report this post  
kolla 
Re: Amiga Nowhere
Posted on 22-May-2020 7:17:43
#60 ]
Super Member
Joined: 21-Aug-2003
Posts: 1472
From: Trondheim, Norway

@gonegahgah

A Chromebook is just a low end laptop, running a semi locked down version of Linux with an embedded variant of Chrome browser as frontend/desktop. ChromeOS is a Gentoo spin, you can download and install it on whatever device you wish, and iirc there is a fully open sourced equivalent, named ChromiumOS as well, doing the exact same, only using Chromium browser as frontend (of course).

_________________
B5D6A1D019D5D45BCC56F4782AC220D8B3E2A6CC

 Status: Offline
Profile     Report this post  
Goto page ( Previous Page 1 | 2 | 3 | 4 Next Page )

[ home ][ about us ][ privacy ] [ forums ][ classifieds ] [ links ][ news archive ] [ link to us ][ user account ]
Copyright (C) 2000 - 2019 Amigaworld.net.
Amigaworld.net was originally founded by David Doyle