You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(13) |
Sep
(42) |
Oct
(17) |
Nov
(7) |
Dec
(14) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(14) |
Feb
(8) |
Mar
(13) |
Apr
(10) |
May
(28) |
Jun
(28) |
Jul
(23) |
Aug
(7) |
Sep
(2) |
Oct
(24) |
Nov
(9) |
Dec
(2) |
2002 |
Jan
(58) |
Feb
(15) |
Mar
(57) |
Apr
(26) |
May
(7) |
Jun
|
Jul
(10) |
Aug
|
Sep
(19) |
Oct
(9) |
Nov
(6) |
Dec
(4) |
2003 |
Jan
(4) |
Feb
(1) |
Mar
(3) |
Apr
(5) |
May
(14) |
Jun
(3) |
Jul
(7) |
Aug
(4) |
Sep
(7) |
Oct
(4) |
Nov
(11) |
Dec
(3) |
2004 |
Jan
(32) |
Feb
(21) |
Mar
(3) |
Apr
(11) |
May
(33) |
Jun
(42) |
Jul
(46) |
Aug
(2) |
Sep
(3) |
Oct
|
Nov
(42) |
Dec
(23) |
2005 |
Jan
(5) |
Feb
(2) |
Mar
(12) |
Apr
(26) |
May
(8) |
Jun
(18) |
Jul
(21) |
Aug
(3) |
Sep
|
Oct
(1) |
Nov
(10) |
Dec
(1) |
2006 |
Jan
(17) |
Feb
(17) |
Mar
(3) |
Apr
(2) |
May
(2) |
Jun
(7) |
Jul
(6) |
Aug
(4) |
Sep
|
Oct
(3) |
Nov
(7) |
Dec
(4) |
2007 |
Jan
(6) |
Feb
(4) |
Mar
|
Apr
(3) |
May
(7) |
Jun
(17) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(2) |
Dec
(5) |
2008 |
Jan
(14) |
Feb
(2) |
Mar
(2) |
Apr
|
May
(1) |
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
2009 |
Jan
(2) |
Feb
(22) |
Mar
(3) |
Apr
|
May
(7) |
Jun
|
Jul
|
Aug
(15) |
Sep
|
Oct
(32) |
Nov
(9) |
Dec
|
2010 |
Jan
(18) |
Feb
(2) |
Mar
(14) |
Apr
(1) |
May
|
Jun
|
Jul
(2) |
Aug
(7) |
Sep
(6) |
Oct
(35) |
Nov
(4) |
Dec
|
2011 |
Jan
(4) |
Feb
|
Mar
(9) |
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
(9) |
Oct
|
Nov
|
Dec
(4) |
2012 |
Jan
(4) |
Feb
|
Mar
(8) |
Apr
(9) |
May
|
Jun
(176) |
Jul
(86) |
Aug
(20) |
Sep
(3) |
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
(4) |
Mar
(5) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
(4) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
2016 |
Jan
(1) |
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
(4) |
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(6) |
Aug
(13) |
Sep
(3) |
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(11) |
Aug
|
Sep
(5) |
Oct
(2) |
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
|
From: <ni...@in...> - 2001-05-15 23:56:07
|
> > Is there a complete list of the Gestalts which B2 implements? > > B2 itself doesn't implement any. There are some flags and LM globals by > which MacOS determines the Gestalt. The fact that no MMU is present is > enforced in M68K_EMUL_OP_PATCH_BOOT_GLOBS. Thanks. I will look into that. ... > If a program checks for the presence of an MMU it will also want to use it. Usually, yes. This is a bizarre case, though. The program is the NetBSD/Mac68k Booter, which basically checks for appropriate HW, sets some environment variables, loads a Unix kernel and executes it. I am the maintainer of the program, and being able to test it in B2 is a real time saver. The MacOS program checks for the presence of an MMU because the Unix kernel needs an MMU. The MacOS program itself doesn't use the MMU though - it actually fails if MacOS VM is on. > Unless the MMU is implemented, B2 should report it as missing. Agreed. I just want to hack it in to my own copy of B2, for this one program I am testing. -- | Nigel Pearson, ni...@in... | "Reality is that which, | | Telstra NW-D, Sydney, Australia. | when you stop believing | | Office: 9206 3468 Fax: 9212 6329 | in it, doesn't go away." | | Mobile: 0408 664435 Home: 9792 6998 | Philip K. Dick - 'Valis.' | |
From: Christian B. <cb...@st...> - 2001-05-15 15:03:42
|
Hi! On Sun, Apr 22, 2001 at 02:58:54PM -0400, Eric vanLuijk wrote: > I was wondering if there ever will be MIDI support in basilik? Good question. I have no plans for implementing this but it would be an excellent 3rd-party opportunity. Bye, Christian -- / Coding on PowerPC and proud of it \/ http://www.uni-mainz.de/~bauec002/ |
From: Christian B. <cb...@st...> - 2001-05-15 14:53:22
|
Hi! On Tue, Apr 10, 2001 at 05:53:15PM +0200, Gwenole Beauchesne wrote: > Shouldn't we have two separate binaries: the prefs editor and the emulator > itself ? I like self-contained programs better. Bye, Christian -- / Coding on PowerPC and proud of it \/ http://www.uni-mainz.de/~bauec002/ |
From: Christian B. <cb...@st...> - 2001-05-15 14:33:19
|
Hi! On Sat, Apr 14, 2001 at 10:13:39PM +1000, ni...@in... wrote: > Mac OS X's development classes come in either Objective-C or > Java versions. There is no Objective C++ compiler yet. What is Objective C++? Bye, Christian -- / Coding on PowerPC and proud of it \/ http://www.uni-mainz.de/~bauec002/ |
From: Christian B. <cb...@st...> - 2001-05-15 13:43:53
|
Hi! On Tue, May 08, 2001 at 01:29:39PM +1000, ni...@in... wrote: > Is there a complete list of the Gestalts which B2 implements? B2 itself doesn't implement any. There are some flags and LM globals by which MacOS determines the Gestalt. The fact that no MMU is present is enforced in M68K_EMUL_OP_PATCH_BOOT_GLOBS. > I am not in any hurry to add MMU emulation > (it would be of no real benefit), but for greater compatibility > at least reporting that it has an MMU may be better. If a program checks for the presence of an MMU it will also want to use it. Unless the MMU is implemented, B2 should report it as missing. Bye, Christian -- / Coding on PowerPC and proud of it \/ http://www.uni-mainz.de/~bauec002/ |
From: <ni...@in...> - 2001-05-08 03:30:53
|
1) I now have the OS X port reading the real filetypes of ExtFS filesystems on HFS volumes. Haven't got all the finder metadata, so there are no custom icons, but I can at least run programs off mounted volumes. If anyone wants this later copy, e-mail away. 2) I have a Mac program that checks for the MMU, via: gestalt(gestaltMMUType,&result) but it fails. Is there a complete list of the Gestalts which B2 implements? I could only find some ExtFS related ones in extfs_defs.h I am not in any hurry to add MMU emulation (it would be of no real benefit), but for greater compatibility at least reporting that it has an MMU may be better. -- | Nigel Pearson, ni...@in... | "Reality is that which, | | Telstra NW-D, Sydney, Australia. | when you stop believing | | Office: 9206 3468 Fax: 9212 6329 | in it, doesn't go away." | | Mobile: 0408 664435 Home: 9792 6998 | Philip K. Dick - 'Valis.' | |
From: Eric v. <er...@sy...> - 2001-04-22 18:46:23
|
I was wondering if there ever will be MIDI support in basilik? I want to use the Mac emulator for running the remote controller software for my Emulator III samplers. I have real Mac's now running as terminals and it would be nice if I could control the Emu's from my PC? It would be great if there was a way to convert the MIDI data stream to a MPU-401 compatible port. Currently I am using a Opcode Studio 3 MIDI interface (1MHz) on the Macs. Thanks! -- Best regards, Eric J. vanLuijk mailto:er...@sy... |
From: <ni...@in...> - 2001-04-17 04:35:20
|
This one has nothing to do with C -> C++ interoperability. % diff -u ../prefs.cpp prefs.cpp --- ../prefs.cpp Fri Feb 2 20:52:57 2001 +++ prefs.cpp Tue Apr 17 14:22:01 2001 @@ -125,6 +125,7 @@ delete p; p = next; } + the_prefs = NULL; } % It is in the function PrefsExit(). It goes through and deletes all preferences items, but leaves the pointer to the head of the linked list. This is a re-entrancy problem which you will only encounter if you do something like: ... PrefsInit(argc,argv); ... { PrefsExit(); PrefsInit(argc,argv); } which I had need to do in a preferences "Reset" function. -- | Nigel Pearson, ni...@in... | "Reality is that which, | | Telstra NW-D, Sydney, Australia. | when you stop believing | | Office: 9206 3468 Fax: 9212 6329 | in it, doesn't go away." | | Mobile: 0408 664435 Home: 9792 6998 | Philip K. Dick - 'Valis.' | |
From: <ni...@in...> - 2001-04-14 12:14:36
|
I wrote: > The one in user_strings.h is necessary for some compilers which > report the "extern user_string_def" declarations as an error. > (which it definately is - a structure name is being used as a type) > > The version.h one is to allow multiple files to include it. > I need this in the MacOS port, where main_MacOXS.m writes a > version number to stdout on program loading, and the "About" > window also needs a version number. > Gwenole Beauchesne responded: > A structure name is a type name in C++. No need for typedef. > > In C++, a constant with no extra specificiers has file scope, by default. Oops. In all this time, I had never realised these two slight differences between C & C++. I have workarounds in my source code for these, so it is no problem. ... > Therefore, if you need the "static" specifier for Objective-C++, we can't > add it but it's not necessary. Mac OS X's development classes come in either Objective-C or Java versions. There is no Objective C++ compiler yet. ... > Nigel, I forgot to report it to you. The binary you sent me would not want > to save the prefs and therefore, when I try to run the emulator, I get an > error about the ROM that could not be found. Sadly, there are a few unimplemented parts in the code (CD-ROM, EtherNet, floppy, and some of the preferences). As a workaround, use a text editor to modify the fields in the newly created .basilisk_ii_prefs file in your home directory. That should get you going. -- | Nigel Pearson, ni...@in... | "Reality is that which, | | Telstra NW-D, Sydney, Australia. | when you stop believing | | Office: 9206 3468 Fax: 9212 6329 | in it, doesn't go away." | | Mobile: 0408 664435 Home: 9792 6998 | Philip K. Dick - 'Valis.' | |
From: Gwenole B. <gb...@di...> - 2001-04-12 07:37:19
|
On Thu, 12 Apr 2001 ni...@in... wrote: > The one in user_strings.h is necessary for some compilers which > report the "extern user_string_def" declarations as an error. > (which it definately is - a structure name is being used as a type) A structure name is a type name in C++. No need for typedef. > The version.h one is to allow multiple files to include it. > I need this in the MacOS port, where main_MacOXS.m writes a > version number to stdout on program loading, and the "About" > window also needs a version number. In C++, a constant with no extra specificiers has file scope, by default. So, =09const int dummy =3D 10; is strictly the same as =09static const int dummy =3D 10; Therefore, if you need the "static" specifier for Objective-C++, we can't add it but it's not necessary. > 2) I have a tarball of Mac OS X source and assorted files ready to > be included. It builds cleanly against the 0.9 snapshot, autoconf > works, it has html documenting what is still to be implemented, > et cetera. Cool. Probably, we could just commit your MacOS X port into CVS ? What about the Windows version as well ? > I also have a tarball containing the executable, but have nowhere > to put it up for FTP/HTTP access. Christian, if you are willing to > add a Mac OS X section on the main B2 webpage, that would be ideal Nigel, I forgot to report it to you. The binary you sent me would not want to save the prefs and therefore, when I try to run the emulator, I get an error about the ROM that could not be found. > Would anyone object to there being stuff like: > > /* > * sysdeps.h - System dependent definitions for Unix > * > * $Id: sysdeps.h,v 1.17 2001/02/02 20:52:58 cebix Exp $ > * > * Basilisk II (C) 1997-2001 Christian Bauer > > in each file? I don't object but hey, Christian has full powers ;-) Bye, Gwenol=E9. |
From: <ni...@in...> - 2001-04-12 03:10:31
|
1) I propose a few minor include file patches: % diff -u user_strings.h user_strings.h.new --- user_strings.h Fri Feb 2 20:52:59 2001 +++ user_strings.h.new Thu Apr 12 12:31:37 2001 @@ -204,6 +204,8 @@ const char *str; }; +typedef struct user_string_def user_string_def; + extern user_string_def common_strings[]; extern user_string_def platform_strings[]; % diff -u version.h version.h.new --- version.h Fri Feb 2 20:52:59 2001 +++ version.h.new Thu Apr 12 12:33:27 2001 @@ -21,8 +21,8 @@ #ifndef VERSION_H #define VERSION_H -const int VERSION_MAJOR = 0; -const int VERSION_MINOR = 9; +static const int VERSION_MAJOR = 0; +static const int VERSION_MINOR = 9; #define VERSION_STRING "Basilisk II V0.9" % The one in user_strings.h is necessary for some compilers which report the "extern user_string_def" declarations as an error. (which it definately is - a structure name is being used as a type) The version.h one is to allow multiple files to include it. I need this in the MacOS port, where main_MacOXS.m writes a version number to stdout on program loading, and the "About" window also needs a version number. 2) I have a tarball of Mac OS X source and assorted files ready to be included. It builds cleanly against the 0.9 snapshot, autoconf works, it has html documenting what is still to be implemented, et cetera. I also have a tarball containing the executable, but have nowhere to put it up for FTP/HTTP access. Christian, if you are willing to add a Mac OS X section on the main B2 webpage, that would be ideal 3) I have not yet found a way of getting CVS access through my employer's firewall and proxy, so at the moment I am relying on the snapshots and occasionally checking for recent changes on the CVSWeb / ViewCVS thingy. What would make this easier for me would be a $Id$ in each source files' comment header, so I could actually tell if the version I am using from the snapshot is the same as the latest in the CVS tree. Guys, is there any good reason why there are currently no version numbers in there? Would anyone object to there being stuff like: /* * sysdeps.h - System dependent definitions for Unix * * $Id: sysdeps.h,v 1.17 2001/02/02 20:52:58 cebix Exp $ * * Basilisk II (C) 1997-2001 Christian Bauer in each file? -- | Nigel Pearson, ni...@in... | "Reality is that which, | | Telstra NW-D, Sydney, Australia. | when you stop believing | | Office: 9206 3468 Fax: 9212 6329 | in it, doesn't go away." | | Mobile: 0408 664435 Home: 9792 6998 | Philip K. Dick - 'Valis.' | |
From: Brian J. J. <bjj...@us...> - 2001-04-10 17:39:05
|
--- Gwenole Beauchesne <gb...@di...> wrote: > > Shouldn't we have two separate binaries: the prefs editor and the > emulator itself ? That would simplify a lot of things for OSs (like IRIX) which don't generally have GTK+ installed. For example, I have GTK+ installed on my desktop box, but if I want to try running BII on another IRIX box, I either have to build w/o the GUI, or export all the GTK+ from my box via NFS and coerce the remote machine into using it (way ugly, not to mention slow.) Aditionally, we may want to consider moving all the back-end pieces which more-or-less require root access (network, SCSI, cdrom, perhaps disk ...) into a separate support binary which the main emulator accesses via pipes or sockets. The support binary could much more easily (and safely) be made setuid. Performance may suffer a bit, though. Just a thought. -- Brian -------------------------------------------------------------------- Q: How do you get down from an elephant? A: You don't, silly. You get down from a goose! -- A Prairie Home Companion |
From: Brian J. J. <bjj...@us...> - 2001-04-10 17:24:11
|
Somehow a space got lost in the IRIX configure.in patch I sent a couple weeks ago -- it probably ended up at the end of a line, and got stripped somewhere along the way. I've attached a fix as a MIME attachment, to help make sure my mailer doesn't mangle it again. I'd appreciate it if someone would check this in. Thanks again, -- Brian J. Johnson -------------------------------------------------------------------- Q: How do you get down from an elephant? A: You don't, silly. You get down from a goose! -- A Prairie Home Companion |
From: Gwenole B. <gb...@di...> - 2001-04-10 15:54:38
|
On Tue, 10 Apr 2001, Christian Bauer wrote: > I just tried DGA mode with XFree 4.0.1 and the latest NVidia drivers and > didn't notice anything broken. What exactly was the problem with DGA? On my Debian system at home, B2 will not detect DGA and will then fallback to (small) windowed mode. I found that with the following code (video_x.cpp): #ifdef ENABLE_XF86_DGA // DGA available? int dga_event_base, dga_error_base; if (local_X11 && XF86DGAQueryExtension(x_display, &dga_event_base, &dga_error_base)) { int dga_flags =3D 0; XF86DGAQueryDirectVideo(x_display, screen, &dga_flags); has_dga =3D dga_flags & XF86DGADirectPresent; } else has_dga =3D false; #endif has_dga will be false because there wouldn't be any XF86DGADirectPresent bit set in dga_flags. That was with XFree 4.0.1 and I don't know why. I haven't tried since but I also got this problem here and it seems to be gone now (XFree 4.0.3). > I think we are ready for the 0.9 release now... Mandrake 8.0 should go final by the end of the week ;-) BTW, with recent gtk+ libs I noticed that if I setuid root the BasiliskII binary, GTK+ will refuse to initialize because of that if refers me to: =09<http://www.gtk.org/setuid.html> Shouldn't we have two separate binaries: the prefs editor and the emulator itself ? Bye, Gwenol=E9. |
From: Christian B. <cb...@st...> - 2001-04-10 14:36:15
|
Hi! On Wed, Mar 28, 2001 at 06:13:37PM +1000, ni...@in... wrote: > The other (similar) thing I was thinking of adding was the > ability to save the emulator's state in a file, so that you can go > back to where you were in the MacOS without having to boot it again. This is a nice feature but it would require careful examination of all I/O modules to save/restore their state as well (things like the set of multicast addresses being registered in the Ethernet driver etc.). Bye, Christian -- / Coding on PowerPC and proud of it \/ http://www.uni-mainz.de/~bauec002/ |
From: Christian B. <cb...@st...> - 2001-04-10 14:34:40
|
Hi! How are you gentlemen? :-) I just tried DGA mode with XFree 4.0.1 and the latest NVidia drivers and didn't notice anything broken. What exactly was the problem with DGA? I think we are ready for the 0.9 release now... Bye, Christian -- / Coding on PowerPC and proud of it \/ http://www.uni-mainz.de/~bauec002/ |
From: Christian B. <cb...@st...> - 2001-03-28 16:54:17
|
Hi! On Fri, Mar 23, 2001 at 12:54:11PM -0600, Brian J. Johnson wrote: > Anyway, here are the patches Thanks! They are now applied to the CVS. Bye, Christian -- / Coding on PowerPC and proud of it \/ http://www.uni-mainz.de/~bauec002/ |
From: <ni...@in...> - 2001-03-28 08:14:55
|
I wrote: > * I tried to give Basilisk II the ability to have multiple > emulations in one session, but the uae stuff didn't seem to > be re-entrant. So, multiple windows can be created, but only > one of them can be started Gwenole replied: > Indeed, you can't have multiple instances of the cpu core. I once derived > a version that could do multiple-cpu emulation but this would break the > JIT compiler now. This could be fixed but I doubt the common mortal would > run multiple emulations in one session. True. And under most OSs the user can always start up another B2 program. The other (similar) thing I was thinking of adding was the ability to save the emulator's state in a file, so that you can go back to where you were in the MacOS without having to boot it again. Wastefull (e.g. file would be at least memory size plus registers), but maybe a real time saver. > > * I never did get a working uae reset function > > Do you mean m68k_reset() is actually called when you restart MacOS ? I am > sorry but I am missing something there. I have a restart and interrupt button in the window, but I never worked out how to get the emulator to actually do a restart or NMI. > Talking about icons, I realized we don't have any "official" icon for > Basilisk. What do you suggest for non-MacOS X users ? Something with the "picasso" MacOS face would have some meaning, since everyone that wants to run a Mac emulator has probably seen that face. But it is probably copyrighted by Apple, and I have violated that copyright by using it in my icon, and the Apple lawyers are probably knocking on my door right now ;-) -- | Nigel Pearson, ni...@in... | "Reality is that which, | | Telstra NW-D, Sydney, Australia. | when you stop believing | | Office: 9206 3468 Fax: 9212 6329 | in it, doesn't go away." | | Mobile: 0408 664435 Home: 9792 6998 | Philip K. Dick - 'Valis.' | |
From: Christian B. <cb...@st...> - 2001-03-27 11:41:30
|
Hi! On Tue, Mar 27, 2001 at 10:17:14AM +0200, Gwenole Beauchesne wrote: > Talking about icons, I realized we don't have any "official" icon for > Basilisk. There's someone who has designed a very nice logo for Basilisk featuring a winged creature. I was going to adopt that as the official logo but he said he was going to beef it up and make a couple more slightly different designs to choose from, and I haven't heard from him since. > I thought about a "Basilisk" like the one located in Paris but it is not > meaningful either. You're not talking about that multi-colored statue in front of the City Hall (?), are you? :-) Bye, Christian -- / Coding on PowerPC and proud of it \/ http://www.uni-mainz.de/~bauec002/ |
From: Gwenole B. <gb...@di...> - 2001-03-27 08:18:39
|
On Tue, 27 Mar 2001 ni...@in... wrote: > > Nigel, could you please tell us the status of Basilisk for MacOS X ? No= w > > that I installed MacOS X on my Titanium, I would like to have some > > applications to play with ;-) > > 1) A Ti PowerBook _and_ OS X? You lucky, lucky bastard! > I am not sure that you deserve any more toys to play with :-) That's exactly what the guy working on the Linux-Mandrake port to PPC told me ;-) He now hopes to get his Ti'Book before two weeks but they are supposedly hard to find in France for now... > * I tried to give Basilisk II the ability to have multiple > emulations in one session, but the uae stuff didn't seem to > be re-entrant. So, multiple windows can be created, but only > one of them can be started Indeed, you can't have multiple instances of the cpu core. I once derived a version that could do multiple-cpu emulation but this would break the JIT compiler now. This could be fixed but I doubt the common mortal would run multiple emulations in one session. > * I never did get a working uae reset function Do you mean m68k_reset() is actually called when you restart MacOS ? I am sorry but I am missing something there. > * I created a nice icon (like Apple's Classic emulator app., > but with a 6 and 7 instead of 9), but PhotoShop 3 doesn't > support transparency, so it is a big white box with a nice > icon in the middle of it :-( Talking about icons, I realized we don't have any "official" icon for Basilisk. What do you suggest for non-MacOS X users ? I mean an icon looking like Apple's one would probably not mean anything to Linux users for example. I thought about a "Basilisk" like the one located in Paris but it is not meaningful either. Bye, Gwenol=E9. |
From: <ni...@in...> - 2001-03-27 02:38:03
|
> Nigel, could you please tell us the status of Basilisk for MacOS X ? Now > that I installed MacOS X on my Titanium, I would like to have some > applications to play with ;-) 1) A Ti PowerBook _and_ OS X? You lucky, lucky bastard! I am not sure that you deserve any more toys to play with :-) 2) I was waiting for the Final of OS X to be released, so that I could check that none of the APIs changed before I submitted code into the CVS repository. I just got my copy of OS X today, so it will be "published" soon. Until then, I will e-mail you a tarball containing the source and a compiled app 3) Status: * Code was developed on the Public Beta, using the IDE (Project Builder), Objective C and Cocoa classes. * The Beta didn't support the floppy drive on my laptop, so there if no floppy support in B2 yet * I didn't implement audio or ethernet either. Now that the APIs are set in stone, I (or someone else) should be able to implement this code pretty quickly * I tried to give Basilisk II the ability to have multiple emulations in one session, but the uae stuff didn't seem to be re-entrant. So, multiple windows can be created, but only one of them can be started * I never did get a working uae reset function * Main window GUI stuff is all there, though window size is currently fixed to Classic size (512x342) * Preferences editing GUI stuff is all there, but the code that will change the in-memory copy of the preferences is only about 25% complete, and I haven't figured out when/how to write it back to disk * I created a nice icon (like Apple's Classic emulator app., but with a 6 and 7 instead of 9), but PhotoShop 3 doesn't support transparency, so it is a big white box with a nice icon in the middle of it :-( -- | Nigel Pearson, ni...@in... | "Reality is that which, | | Telstra NW-D, Sydney, Australia. | when you stop believing | | Office: 9206 3468 Fax: 9212 6329 | in it, doesn't go away." | | Mobile: 0408 664435 Home: 9792 6998 | Philip K. Dick - 'Valis.' | |
From: <gb...@di...> - 2001-03-25 21:02:23
|
Hi, Nigel, could you please tell us the status of Basilisk for MacOS X ? Now that I installed MacOS X on my Titanium, I would like to have some applications to play with ;-) Bye, Gwenol=E9. |
From: Brian J. J. <br...@fr...> - 2001-03-23 18:54:17
|
OK, hopefully this is the last of the patches for IRIX for a while (at least until I get around to writing an OpenGL video driver or optimizing the condition code handling in UAE CPU.) The patch to configure.in tests for the "-Ofast" option to the compiler, and uses it instead of "-g" if it exists. This turns on massive optimizations in the MIPSPro compilers, which do a pretty good job with the UAE CPU, video blitters, etc. The patch to main_unix.c uses pthread_cond_timedwait() instead of nanosleep() to work around a bug in SGI's pthreads library. With this fix, the annoying hangs I was experiencing (especially on uniprocessor machines) are gone. I've only enabled it for SGI platforms, but it should work with any pthreads implementation. Feel free to remove anything under "#ifdef DEBUG_SLEEP" if you don't like debugging code clogging up the official sources. With these changes, BasiliskII configures, builds, and runs very well on IRIX with no special hand-holding, hacks, or manual edits. Whew.... Except for one thing: the recent changes to configure.in to select among different FPU cores don't work for the "default" core on non-X86 systems. Perhaps step 1 under "Select appropriate FPU source" needs a non-X68 case which selects the UAE CPU. If I specify "--enable-fpe=uae" on the configure command line, it works fine. Anyway, here are the patches, and thanks again for a way-cool, portable (and actually useful!) emulator. -- Brian J. Johnson -------------------------------------------------------------------- "I have discovered that all human evil comes from this, man's being unable to sit still in a room." -- Blaise Pascal Index: main_unix.cpp =================================================================== RCS file: /cvs/BasiliskII/src/Unix/main_unix.cpp,v retrieving revision 1.30 diff -c -r1.30 main_unix.cpp *** main_unix.cpp 2001/02/02 20:52:57 1.30 --- main_unix.cpp 2001/03/23 18:09:40 *************** *** 869,891 **** // Linux select() changes its timeout parameter upon return to contain // the remaining time. Most other unixen leave it unchanged or undefined. #define SELECT_SETS_REMAINING ! #elif defined(__FreeBSD__) || defined(__sun__) || defined(sgi) #define USE_NANOSLEEP #endif void Delay_usec(uint32 usec) { int was_error; ! #ifdef USE_NANOSLEEP struct timespec elapsed, tv; #else struct timeval tv; #ifndef SELECT_SETS_REMAINING uint64 then, now, elapsed; #endif #endif // Set the timeout interval - Linux only needs to do this once #ifdef SELECT_SETS_REMAINING tv.tv_sec = 0; --- 869,912 ---- // Linux select() changes its timeout parameter upon return to contain // the remaining time. Most other unixen leave it unchanged or undefined. #define SELECT_SETS_REMAINING ! #elif defined(__FreeBSD__) || defined(__sun__) #define USE_NANOSLEEP + #elif defined(HAVE_PTHREADS) && defined(sgi) + // SGI pthreads has a bug when using pthreads+signals+nanosleep, + // so instead of using nanosleep, wait on a CV which is never signalled. + #define USE_COND_TIMEDWAIT #endif + #ifdef DEBUG_SLEEP + int sleeps = 0; + int early = 0; + #endif + void Delay_usec(uint32 usec) { int was_error; ! #if defined(USE_NANOSLEEP) struct timespec elapsed, tv; + #elif defined(USE_COND_TIMEDWAIT) + // Use a local mutex and cv, so threads remain independent + pthread_cond_t delay_cond = PTHREAD_COND_INITIALIZER; + pthread_mutex_t delay_mutex = PTHREAD_MUTEX_INITIALIZER; + struct timespec elapsed; + uint64 future; #else struct timeval tv; #ifndef SELECT_SETS_REMAINING uint64 then, now, elapsed; #endif #endif + #ifdef DEBUG_SLEEP + uint64 stop, end; + sleeps++; + stop = GetTicks_usec() + usec; // expected stop time + #endif + // Set the timeout interval - Linux only needs to do this once #ifdef SELECT_SETS_REMAINING tv.tv_sec = 0; *************** *** 893,898 **** --- 914,928 ---- #elif defined(USE_NANOSLEEP) elapsed.tv_sec = 0; elapsed.tv_nsec = usec * 1000; + #elif defined(USE_COND_TIMEDWAIT) + future = GetTicks_usec() + usec; + elapsed.tv_sec = future / 1000000; + elapsed.tv_nsec = (future % 1000000) * 1000; + #if defined(DEBUG_SLEEP) || 1 + if (usec > 1000000) { + printf(" delay for %u nsec\n", usec); + } + #endif #else then = GetTicks_usec(); #endif *************** *** 903,908 **** --- 933,965 ---- tv.tv_sec = elapsed.tv_sec; tv.tv_nsec = elapsed.tv_nsec; was_error = nanosleep(&tv, &elapsed); + #elif defined(USE_COND_TIMEDWAIT) + was_error = pthread_mutex_lock(&delay_mutex); + #ifdef DEBUG_SLEEP + if (was_error) { + // Just for debugging + printf("ERROR: pthread_mutex_lock error %d\n", was_error); + exit(1); + } + #endif + was_error = pthread_cond_timedwait(&delay_cond, + &delay_mutex, &elapsed); + #ifdef DEBUG_SLEEP + if (was_error != ETIMEDOUT) { + // Just for debugging + printf("ERROR: pthread_cond_timedwait error %d\n", was_error); + exit(1); + } + #endif + + was_error = pthread_mutex_unlock(&delay_mutex); + #ifdef DEBUG_SLEEP + if (was_error) { + // Just for debugging + printf("ERROR: pthread_mutex_unlock error %d\n", was_error); + exit(1); + } + #endif #else #ifndef SELECT_SETS_REMAINING // Calculate the time interval left (in case of interrupt) *************** *** 918,923 **** --- 975,988 ---- was_error = select(0, NULL, NULL, NULL, &tv); #endif } while (was_error && (errno == EINTR)); + + #ifdef DEBUG_SLEEP + end = GetTicks_usec(); // actual stop time + if (end < stop) { // we woke up early + printf("woke up %ld out of %u usec too early\n", stop - end, usec); + early++; + } + #endif } Index: configure.in =================================================================== RCS file: /cvs/BasiliskII/src/Unix/configure.in,v retrieving revision 1.35 diff -c -r1.35 configure.in *** configure.in 2001/03/20 18:05:35 1.35 --- configure.in 2001/03/23 18:09:40 *************** *** 279,284 **** --- 279,293 ---- dnl IRIX headers work fine, but somehow don't define or use "STDC_HEADERS" DEFINES="$DEFINES -DCRTSCTS=CNEW_RTSCTS -DB230400=B115200 -DSTDC_HEADERS" LIBS="$LIBS -laudio" + + dnl Check if our compiler supports -Ofast (MIPSPro) + HAVE_OFAST=no + ocflags="$CFLAGS" + CFLAGS=`echo $CFLAGS | sed -e 's/ -g / -Ofast /;s/^-g /-Ofast /;s/ -g$/ -Ofast/;s/^-g$/-Ofast/'` + AC_MSG_CHECKING(if "-Ofast" works) + dnl Do a test compile of an empty function + AC_TRY_COMPILE(,, [AC_MSG_RESULT(yes); HAVE_OFAST=yes], AC_MSG_RESULT(no)) + CFLAGS="$ocflags" ;; esac *************** *** 662,667 **** --- 671,684 ---- dnl gb-- Probably not the cleanest way to take CFLAGS=`echo $CFLAGS | sed -e 's/ -g / /;s/^-g / /;s/ -g$/ /;s/^-g$//'` CXXFLAGS=`echo $CXXFLAGS | sed -e 's/ -g / /;s/^-g / /;s/ -g$/ /;s/^-g$//'` + fi + + dnl Or if we have -Ofast + if [[ "x$HAVE_OFAST" = "xyes" ]]; then + CFLAGS=`echo $CFLAGS | sed -e 's/ -g / -Ofast /;s/^-g /-Ofast /;s/ -g$/ -Ofast/;s/^-g$/-Ofast/'` + CXXFLAGS=`echo $CXXFLAGS | sed -e 's/ -g / -Ofast /;s/^-g /-Ofast /;s/ -g$/ -Ofast/;s/^-g$/-Ofast/'` + CXXFLAGS="-LANG:std $CXXFLAGS" + LDFLAGS="$LDFLAGS -Ofast" fi dnl Generate Makefile. |
From: Christian B. <cb...@st...> - 2001-03-23 15:07:15
|
Hi! On Fri, Mar 23, 2001 at 09:49:08AM +0100, Gwenole Beauchesne wrote: > In xmame, they used an interesting trick: setting hooks for DGA1 and DGA2 > functions. Using XFree 4.0.2 with a Matrox G450 the current DGA1 code in B2 works perfectly in 8-bit mode, shows some false colors and "swapped" pixels in 16-bit mode (my guess is that reading from the frame buffer doesn't endianess-correct the pixel data; moving the mouse pointer disturbs the areas underneath), and is messed up in 32-bit mode (looks like it's using an incorrect bytes-per-row; or maybe I messed up and used a 24 bpp packed mode instead of a 32 bpp one; I'll have to recheck). Using XFree 4.0.1a with an NVidia TNT2 and NVidia's drivers results in a complete system lockup when trying the "dga" DGA2 demo program that comes with XFree. I have yet to test B2/DGA1 on that setup. > [dlopen()] > I don't know about Windows nor Irix nor HP/UX. Do you know a > GPL-compatible library that wraps those functions on as many systems as > possible ? Appearently, libltdl (part of libtool) is such a thing. The docs say it works on Solaris/Linux/BSD (using dlopen), HP-UX (using shl_load), Windows (using LoadLibrary), and BeOS (using load_add_on). AmigaOS is missing but that's using native 68k emulation anyway. Bye, Christian -- / Coding on PowerPC and proud of it \/ http://www.uni-mainz.de/~bauec002/ |
From: Gwenole B. <gbe...@ma...> - 2001-03-23 08:50:26
|
On Sun, 18 Mar 2001, Christian Bauer wrote: > > - Fix the DGA2 bug > > I'll try to have a look at this. In xmame, they used an interesting trick: setting hooks for DGA1 and DGA2 functions. However, the code must be compiled on a system with XFree 4.0+. > Maybe we should use loadable CPU emulation plugins? I still haven't found a decent way to support plugins on a wide range of machines. So far, dlopen() is the best bet for Un*x (Solaris, AIX) and Linux. I don't know about Windows nor Irix nor HP/UX. Do you know a GPL-compatible library that wraps those functions on as many systems as possible ? Do you foresee plugins for PowerPC emulation ? ;-) Bye, Gwenole. |