11 March 2021, 20:43 | #141 | |
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 3,214
|
Quote:
In that sense, I do not quite understand what your problem with NetBSD is. It is certainly a much better operating system than MS-DOS ever was, and it is under the most liberal license (and most readable license) I am aware of. |
|
12 March 2021, 03:12 | #142 | |||
Registered User
Join Date: Mar 2021
Location: Sydney, Australia
Posts: 184
|
Quote:
Quote:
Quote:
|
|||
12 March 2021, 19:01 | #143 | |
Registered User
Join Date: Mar 2018
Location: Hastings, New Zealand
Posts: 2,544
|
Quote:
If you are already using the MSDOS API then you could keep it and translate the INTs and parameter blocks to and from the form that Amiga OS needs, with that code kept in a separate module that just gets added when running on Amiga OS. Then if you want to run your OS on another platform you create a different module to suit that platform. IOW the system-specific module would emulate the MSDOS API at the source code level. This might also be useful for porting MSDOS programs to other platforms, provided you have the source code and it uses only documented OS calls (no banging on the hardware). It might even be possible to 'decompile' a DOS binary to C source code, then recompile it into 68k code that runs at native speed (unlike emulators which have to translate x86 machine code on the fly). I am thinking that if this could be done then the Amiga could have run MSDOS programs at speeds equal to or even faster than a PC back in 1985 - if only someone had thought of doing it this way. |
|
12 March 2021, 19:22 | #144 | |
Registered User
Join Date: Mar 2018
Location: Hastings, New Zealand
Posts: 2,544
|
Quote:
BTW if you are putting your code into the public domain you better make sure that every single line is either original code written by you or cribbed from another provable public domain source. Otherwise your declaration that the code is public domain is invalid. |
|
12 March 2021, 19:31 | #145 | |
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
|
Quote:
Actually i'm not even able to disassemble (resource) x86 machine code and that's too bad because it's the first step to port games. |
|
12 March 2021, 22:18 | #146 | ||||||
Registered User
Join Date: Mar 2021
Location: Sydney, Australia
Posts: 184
|
Quote:
Quote:
Quote:
So here is the PosFindFirst() function I showed earlier. You can see it doing an INT 21H to access the appropriate MSDOS interrupt. int PosFindFirst(char *pat, int attrib) { union REGS regsin; union REGS regsout; struct SREGS sregs; regsin.h.ah = 0x4e; regsin.x.cx = attrib; #ifdef __32BIT__ regsin.d.edx = (int)pat; #else regsin.x.dx = FP_OFF(pat); sregs.ds = FP_SEG(pat); #endif int86x(0x21, ®sin, ®sout, &sregs); if (regsout.x.cflag) { return (regsout.x.ax); } else { return (0); } } But on AmigaPDOS I would instead call SysBase->PosFindFirst(). Except there isn't such an element there. I could extend SysBase to include such an element, but then I would be fighting with Commodore. That is why I proposed having a new variable, basically PdosBase, and that is what register A6 would point to when an executable starts. And PdosBase would also include a pointer to a replacement SysBase to use. Rather than A6 containing ONLY a replacement SysBase so that I am back to fighting with Commodore. Quote:
Quote:
Quote:
They're all doing C90 now. :-) And will hopefully all be driving ANSI terminals, and it is ironic that MVS (well, my replacement, PDOS/3X0) would be the first to be doing that. At least on my version of micro-emacs. |
||||||
12 March 2021, 22:23 | #147 | ||
Registered User
Join Date: Mar 2021
Location: Sydney, Australia
Posts: 184
|
Quote:
Version 0.9X, released YYYY-MM-DD Written by Paul Edwards, mutazilah@gmail.com Released to the public domain You may use this entire package for any purpose whatsoever without restriction, as discussed here: http://creativecommons.org/publicdomain/zero/1.0/ That includes, but is not limited to, closed-source, proprietary commercial products. Quote:
|
||
12 March 2021, 22:41 | #148 | ||
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 3,214
|
Quote:
That is a license, and a declaration of origin. "Public domain" does not mean much. A clear statement what people are allowed to do with the code (such as the CC licenses, with precise selection of the terms) is much better. Quote:
Certainly "Microsoft did look". It's their right to look, as this is an open source Os. Its also their right to contribute under the license this was published, namely GPL, or to use it, under the same license. |
||
12 March 2021, 22:45 | #149 | |
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 3,214
|
Quote:
You can create, of course, your own library where you put such functions. System libraries are not up to you to extend. Note that CBM died away a long long time ago. |
|
12 March 2021, 22:52 | #150 | ||||||
Registered User
Join Date: Mar 2021
Location: Sydney, Australia
Posts: 184
|
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
|
||||||
12 March 2021, 22:59 | #151 | ||||
Registered User
Join Date: Mar 2021
Location: Sydney, Australia
Posts: 184
|
Quote:
Quote:
Quote:
Quote:
|
||||
13 March 2021, 09:30 | #152 | ||||
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 3,214
|
Quote:
Just don't expect that you can clutter existing system libraries with your functions. This doesn't work. The interface of the system libraries is already set in stone and they don't require an extension for some MS-DOS abstraction. Frankly, from what you say, I can only observe that you have no experience in Os design. That's ok, but you need to fix that if you want to follow your project. Quote:
Quote:
If you want your own "a6 world for PDOS support", then a natural way how to fit that into AmigaOs is to make your own library, and its a6 world is called a "library base". You will not make run AmigaOs "on top" of anything you provide. AmigaOs does not run on an MS-DOS like layer. It has its own hardware abstraction, and it works quite different from MS-DOS. Quote:
Microsoft will not die away anytime soon, and Microsoft is smart enough to join their enemies instead of fighting them. They will certainly not go away due to some hobby project on an esentially dead hardware platform. I will certainly not stop you, but I won't hold my breath either. |
||||
13 March 2021, 09:41 | #153 | ||
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 3,214
|
Quote:
Quote:
The algorithm provided there is an "out of the book" implementation of "Algorithm D", which you find in "Knuth Volume II, The Art of Programming, Numerical and Semi-numerical algorithms". If you don't want to use somebody else's code, implement algorithm D yourself. Or some other division algorithm, for example a simple bit-by-bit compare and shift algorithm. If you cannot do that, I somehow have my doubts that you will get very far with your project. This is elementary stuff. |
||
13 March 2021, 09:50 | #154 |
Registered User
Join Date: Mar 2021
Location: Sydney, Australia
Posts: 184
|
I have written code to load Amiga Hunks, in preparation for writing AmigaPDOS.
If anyone would like to test it out, you can get it here: http://www.mutazilah.org/bios.zip It's still crude, but I have tested it to the point where I have seen it go through all the hunk IDs. See readme.txt |
13 March 2021, 11:51 | #155 | |||||||||||||||||||
Registered User
Join Date: Mar 2021
Location: Sydney, Australia
Posts: 184
|
I don't think I am doing either of those things.
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
|
|||||||||||||||||||
13 March 2021, 11:58 | #156 | |||||
Registered User
Join Date: Mar 2021
Location: Sydney, Australia
Posts: 184
|
Quote:
Quote:
Quote:
Quote:
Quote:
|
|||||
13 March 2021, 12:11 | #157 |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,751
|
|
13 March 2021, 12:34 | #158 | |||||||||
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 3,214
|
No, you cannot. If you believe you can, you haven't understood how Amiga libraries work. You can provide your own library.
Quote:
Quote:
Quote:
Quote:
Quote:
Nope. Not as far as this target system goes. Amiga is a different beast, and it works quite differently. I really really suggest to get informed how AmigaOs operates. Read the RKRMs, Rom Kernel Reference Manuals. Start with the "Libraries" volume. You find it in the internet. Quote:
Quote:
Quote:
Have you checked the calendar lately? Could it be that this is because we have 2021? Quote:
AmigaOs developers don't "check a6". They get SysBase through address 4. That's how it works. If you establish another API, this API will not able to run AmigaOs programs. |
|||||||||
13 March 2021, 13:06 | #159 | ||||||||||||||||
Registered User
Join Date: Mar 2021
Location: Sydney, Australia
Posts: 184
|
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
|
||||||||||||||||
13 March 2021, 13:54 | #160 |
Registered User
Join Date: Mar 2021
Location: Sydney, Australia
Posts: 184
|
Note that PDPCLIB is good enough already to do a "hello, world". Here's what the output (thanks Frank!) looks like:
pdptest.xxx abc xyz "12 34" welcome to pdptest main function is at 10057760 allocating 10 bytes m1 is 10018CD0 allocating 20 bytes m2 is 10019470 stack is around 10049498 printing arguments argc = 4 arg 0 is <UNKNOWN> arg 1 is <abc> arg 2 is <xyz> arg 3 is <12 34> Note that I just realized that bios.exe may not work because opening/seeking/reading files hasn't been tested yet. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
|
|