T H E   C R O S S   P L A T F O R M   I A - 3 2   E M U L A T O R
Current Release:
Bochs 2.6.9
bochs: think inside the bochs. 

  - Home Page
  - SF Project Page


Get Bochs

  - Download Current
  - See All Releases
  - Disk Images
  - Anonymous SVN


  - Bochs Wiki
  - Bochs FAQ
  - Documentation
     - User Guide
     - Devel. Guide
     - Doc. Guide
  - Mailing Lists
  - Discussion Boards
  - SF Site Docs


  - Bug Reports
  - Feature Requests


  - Get Involved
  - View the Source
  - Patches
  - Tech Specs Pages


  - Bochs History
  - Bochs Links
  - Related Links
  - Screen Shots
A Window, Tux, and the BSD Daemon
Transcript of Bochs Chat from February 1, 2004

19:58:25 Jan_B_A: Hello Daniel
19:58:38 danielg4: hello
20:01:05 cbothamy: hi
20:02:22 Jan_B_A: Hi Christopher.
20:06:08 cbothamy: it's 19:10 UTC, maybe we can start
20:06:25 Jan_B_A: So, am I tonights newbie in this forum? Has you all taken part in similar "meetings" before?
20:07:21 cbothamy: ok, Jan is here, Daniel also, who else ?
20:07:42 cbothamy: Jan_B_A: last meeting was logged, see http://bochs.sourceforge.net/irc-20021013.html
20:10:10 Jan_B_A: Thanks - I am looking at it now.
20:11:05 Jan_B_A: FYI, I am a newcomer to Bochs. My main interest in Bochs is as a platform for running old MS-DOS and Win9x games. Some of my games run fine in DOSBox (an DOS emulator) but some don't. I hope that Bochs will eventually allow me to run anything.
20:12:44 Jan_B_A: I have absolutely no knowledge of x86 programming. Assemblywise I am fluent in 6502, and a bit rusty in PDP-11 and 68000.
20:13:09 Jan_B_A: My webmastering skills are mainly restricted to handcrafting HTML code using Vim (a vi-clone). But what I do not know, I learn!
20:13:41 danielg4: I'm fluent in 68000 and rusty in x86 and 6502.
20:14:07 danielg4: never did pdp-11
20:15:14 Jan_B_A: Daniel, if you are fluent in 68000, you will feel right at home with PDP-11. Addressing modes, op-codes, etc - they are so close that they could be cousins!
20:16:02 danielg4: that's a bit OT because bochs will be ported to neither
20:16:40 Jan_B_A: Okay, back on topic then - which is?
20:16:43 cbothamy: Jan_B_A: Jean-Michel Poure offered to help on the website. I'll tell him to contact you, ok ?
20:18:10 Jan_B_A: Sure. Any idea what you would like to see happening? Any urgent changes needed? Or do me and Jean-Michel just look it over, and make a internal version for approval by ???
20:19:42 cbothamy: There is no urgent changes needed. I guess a lot of links are wrong now, and new links could be added.
20:21:50 Jan_B_A: Okay. I/we will look it over and see what needs to be updated.
20:21:52 cbothamy: Also the source code used to be viewable on the website. The latest version available is 1.4pre1. Maybe we can remove the feature and link straight to sourceforge
20:22:51 danielg4: The only source I saw was ViewCVS.
20:23:01 cbothamy: or add the newer versions.
20:23:52 cbothamy: url is http://bochs.sourceforge.net/cgi-bin/lxr/source
20:24:17 cbothamy: Jan_B_A: do you know how to update the website ?
20:24:38 Jan_B_A: I have just opened up the "Web Site Request" tracker at SourceForge - Whew! I think the first line of action is to review those requests, get them closed or prioritised, and assigned to someone.
20:25:48 danielg4: I just checked http://bochs.sourceforge.net/cgi-bin/lxr/source. Wow, is it old!
20:25:50 Jan_B_A: cbothamy: I do not have a clue (yet!). But I am confident that I will figure it out.
20:27:25 cbothamy: Jan_B_A: absolutely, I'll check if you have admin rights on the tracker items
20:28:35 cbothamy: Jan_B_A: I'll write a document and send it to you. I'll also update the developer's guide at the same time
20:29:30 cbothamy: Jan_B_A: I think you have Admin rights
20:29:40 cbothamy: on the tracker items
20:30:06 danielg4: I know I do.
20:30:56 Jan_B_A: Fine.
20:31:14 danielg4: hello, Frank
20:31:30 fcorneli: hi
20:33:13 cbothamy: ok, Bochs 2.1.1 is still not out. I'm waiting for anybody to confirm the floppy dialog works or not on win2k.
20:33:22 Jan_B_A: One of the items discussed recently was a new/better format for the .bochsrc file. How do you feel about going XML with it? To start with perhaps just a frontent that uses XSL to convert it into the old form?
20:34:44 danielg4: I don't think that's necessary for the forseeable future.
20:35:15 cbothamy: Jan_B_A: I'm not sure about XML. It has been discussed once before. I don't see any benefits in using xml for a properties file.
20:35:38 danielg4: cbothamy: I think Volker made a second patch regarding the floppy browse.
20:35:56 Jan_B_A: No Win2K license here. I might be able to borrow a CD from a friend, just for testing, but it would be easier if someone with W2K already installed could test it.
20:36:19 fcorneli: problem is that you'll need a portable xml parser that is available on all supported platforms... is there a good portable xml parser?
20:37:25 danielg4: Such a parser is likely to be GPL, rather than LGPL.
20:37:41 Jan_B_A: The Apache project has something. The developers at my work use a lot of that stuff. Xerxes is the name I think.
20:38:08 fcorneli: yes, there is also the gpl vs lgpl problem...
20:38:26 cbothamy: gnome has libxml2, that is released under the MIT license
20:38:45 fcorneli: compatible with lgpl?
20:42:15 cbothamy: I think so. But I think we a java-properties-like configuration file would be good enough.
20:42:47 danielg4: I just took a quick look at the Apache license. Doesn't look compatible.
20:45:03 cbothamy: ok, so you all have read the roadmap document http://marc.theaimsgroup.com/?l=bochs-dev&m=107550424808607&w=2
20:45:10 fcorneli: XML-izing the config file can wait... but anyway, the config system needs some work... e.g. the main menu is static while it could be generated at run-time...
20:47:31 danielg4: I'd have to reread the LGPL.
20:47:44 fcorneli: Chris, how about letting the file ROADMAP live in the Bochs CVS tree? Would be a good guide for developers...
20:48:38 cbothamy: that's a good idea. What we could also do is use the tasks system of source forge.
20:49:04 danielg4: They're not mutually exclusive.
20:50:49 cbothamy: fcorneli: "main menu is static" that's the menu when you press the "config" button ?
20:50:57 fcorneli: yes...
20:51:25 fcorneli: the main menu text lives somewhere in a file... while it should be generated at run-time by iterating the main menu objects
20:51:45 fcorneli: AFAIK currently this is not the case...
20:52:32 danielg4: That would certainly solve the problems with hot-swapping virtual drives.
20:52:47 fcorneli: This stopped me from adding an extra menu for my pcidev...
20:52:58 cbothamy: ok, I'll add a paragraph in the roadmap about config files and dynamic config menu
20:54:23 fcorneli: yes, the menu menu definitely be generated a run-time so it can be changed at run-time as needed...
20:56:09 Jan_B_A: As I wrote earlier, I am no big coder, so my efforts wrt. the roadmap will be in the "housekeeping" category. E.g. going through the User Guide, check for a new release of FreeDOS, make a new image, etc, and get the web site/download area updated.
20:57:39 Jan_B_A: If Cygwin is suitable for compiling Bochs, I might take a stab at extended the 'boot:' option to take a prioritised list of devices to boot from.
20:58:03 fcorneli: How many people are actually actively developing on Bochs?
20:58:24 cbothamy: Jan_B_A: this is fine. We definitely need to keep our website and disk images up to date.
20:58:36 danielg4: Another thing that should be in the ROADMAP is bringing the BIOS into conformance with Ralf Brown's INT list.
21:00:07 cbothamy: fcorneli: between 5 and 10.
21:01:56 Jan_B_A: The roadmap also talks about speed.... The DOSBox people seems to plan to add some kind of Just-In-Time compiler to their emulator. Anyone been following that?
21:02:27 cbothamy: danielg4: this is a huge task. what we usually do is to wait for bug reports stating that a specific functions is missing.
21:03:36 danielg4: If we continue to do that, the BIOS will grow larger than the max size.
21:04:05 fcorneli: About that JiT, GNU Lightning could be an option... It's not that good (no peephole optimizations) but at least it's portable.
21:04:23 cbothamy: danielg4: right, Volker and I think we should rewrite parts in asm to shrink its size.
21:06:08 danielg4: And at the same time, introduce jump tables with all the Ralf Brown functions as placeholders.
21:08:06 cbothamy: for jit-compiling there is also qemu. The dynamic compiler module is lgpl. it seems to be working quite well, the can boot win98 with the latest version.
21:08:44 danielg4: I thought qemu only ran Linux binaries...
21:09:35 cbothamy: it's got two modes, one without mmu for user mode, and one with a mmu for entire systems
21:09:48 danielg4: If the JiT compiler module in it is LGPL, I think we should adopt it.
21:11:24 cbothamy: danielg4: at least we have to give it a look, to check the feasability. Now the problem is who want to do it ?
21:13:02 cbothamy: I add "jump tables place holders" in the bios section of the roadmap.
21:14:33 fcorneli: The advantage of having two modes (user mode and full system) for the CPU is that you can binary search for bugs in the instructions in user mode.
21:15:33 fcorneli: I once developed a 'virtual cpu' that could be detached at run-time, allowing for binary searching of bugs... it would be nice to have the same functionality for the Bochs CPU.
21:15:34 danielg4: That's how the 68000 works :)
21:16:57 cbothamy: fcorneli: I'm afraid I don't get it.. How does is work ?
21:17:22 Jan_B_A: *also confused about the term 'binary search for bugs'*
21:17:34 fcorneli: Check out: http://www.elis.ugent.be/~fcorneli/downloads/vcpu-README
21:20:16 Night: hi, all
21:20:31 cbothamy: hi Stanislav
21:20:38 Night: I see I too late
21:21:17 Night: Somebody could post be the log of dicussion ?
21:21:46 fcorneli: `echo /dev/random` :)
21:21:58 fcorneli: I mean cat...
21:23:15 Night: I see I didn't missed anything ? ;)
21:23:34 danielg4: You did, alittle.
21:24:21 cbothamy: log is here http://cbothamy.free.fr/projects/bochs/freenode-%23bochs.log
21:24:39 danielg4: Is that live?
21:24:53 cbothamy: hi Volker
21:25:00 fcorneli: Binary searching for bugs in instruction implementations is only possible when you can detach the emulation and let the user space take over.
21:26:01 fcorneli: Source code available at: http://www.elis.ugent.be/~fcorneli/downloads/vcpu-0.1.1.tar.gz
21:27:28 vruppert: Hi Christophe. After adding a new feature in the win32 runtime dialog I started testing gaim.
21:27:43 Night: ok, i am reading the log now
21:29:35 rO|: made an OS disk image, 2cts only, but maybe you like to offer it though..
21:30:28 cbothamy: vruppert: do we know if the win2k dialog bug is fixed ?
21:32:09 vruppert: I don't know. Is someone here using Bochs on Win2k ?
21:32:24 Night: i am
21:32:46 Night: I could check, just say that ;)
21:34:27 Night: cristophe, your log is broken between 19:09 and 19:42 or nobody really did say a word ?
21:34:43 Jan_B_A: Night: Physical diskettes in Win2K - can you test that too?
21:35:25 Night: What should be with diskettes ?
21:35:54 cbothamy: Night: this is local time. 19h00 utc is 20h00 local
21:36:10 danielg4: Night: It's the timecode that's broken, not the log.
21:38:01 danielg4: It is now 20:45 UTC
21:38:44 Night: ok
21:40:38 cbothamy: ok for Stanislav and Volker, we have been talking about Bochs improvements : website, config files, JIT, updating the bios, and Frank presented his virtual cpu
21:40:54 Jan_B_A: Sorry - I could be mixing things up - The issue with Win2K is just the dialog for handling diskettes? Not actually reading them. I think I got this mixed up due a message in the Help forum where someone had problems with diskettes in XP.
21:41:28 danielg4: Jan_B_A: yes
21:42:47 Jan_B_A: *blush*
21:42:50 Night: I got CVS version from yesterday. When I clicking Browse button I get "ComDialogExtendedError return 0x3002" error message
21:43:54 danielg4: vruppert: Does that help?
21:43:55 Night: with physical diskettes it working fine
21:44:10 vruppert: Night: That means "illegal filename"
21:45:05 Night: very informative ;)
21:45:40 rO|: is there any reason why a normal w95 bootcd shouldn't work in bochs?
21:47:03 Night: when I starting from empty "path" field it looks working. I have no disket images so I could not check at all
21:47:53 vruppert: The floppy dialog sends the path stored in the parameter to the file open dialog. It works here if the parameter contains an image filename.
21:48:12 Night: can you change the "ComDialogExtendedError" message to normal "Illegal filename" ?
21:48:37 Jan_B_A: rol: No reason. I installed Win95 fine on Bochs 2.1 running on WinXP.
21:49:08 vruppert: If the path is a raw device it seems to fail. We have to find a workaround for this case.
21:50:49 rO|: someone trying yesterday on OS X had probs installing a w95 bootcd
21:51:23 Night: that about APIC and SMP support in 2.1.x ? We already have 3 patches for APIC in "patches" folder.
21:51:46 Night: Is any of them gets Bochs closer to WinNT SMP boot ?
21:53:11 vruppert: I have to leave the channel now. Tomorrow I will read the log and try to find a workaround for the win32 floppy dialog problem.
21:53:29 cbothamy: ok, bye volker, see you around
21:54:36 cbothamy: Night: Sorry I have not tried any of those patches. I add an item in the roadmap about apic and winnt smp
21:56:08 danielg4: Linux-smp might be easier to get to run.
21:58:05 Night: now I am working on FPU code replacement with softfloat lib.
21:58:23 Night: It looks faster and free of bugs
21:59:13 cbothamy: right, I've seen your post in the mailing list
21:59:24 Night: the last problem is transcendential instructions (log, sin/cos/tag, exp and etc). Any ideas how to implement them ?
21:59:36 wli: power series
21:59:43 danielg4: cbothamy: That was Scott Duplichan.
22:00:55 Night: do you think standard C/C++ math.h functions could help ?
22:01:50 danielg4: Not for transcendental funcs.
22:02:00 Night: I see no functions with 'long double' parameter ;(
22:03:12 danielg4: Not all platforms have a long double.
22:04:22 danielg4: On PowerPC, for example, it's the same as double, but there is also a 'double double.'
22:08:33 danielg4: The disadvantage to softfloat is that it doesn't use the host's FPU.
22:09:47 Night: on x86 you could execute an instruction itself and on other platforms you will have a problems with handling of numeric exceptions and etc
22:10:52 Night: host fpu could not produce you for example "precision" exception and you will miss it. for me accuracy of emulation is the first task.
22:14:10 danielg4: Perhaps softfloat could be used for transcendental funcs and math.h for arithmetic?
22:14:49 Night: btw, how about multithreading/multiprocessing in bochs ? I mean if Bochs will be able to run any device and cpu in separate thread ...
22:16:07 danielg4: I agree. Giving the CPU its own thread sould be the first step. Perhaps an FPU thread next?
22:16:14 cbothamy: Night: the problem with multithreading is to be portable.
22:17:00 danielg4: There are standard C funcs for it, AFAIK.
22:17:34 Night: not more problematic than GUI or devices. I sure there are portable libraries which provide threads/semaphores services
22:24:51 Jan_B_A: Hello??
22:25:34 danielg4: I'm going to need to leave pretty soon, but I'll leave the irc client running & read it later.
22:27:04 danielg4: bye bye
22:27:16 cbothamy: bye daniel
22:27:20 fcorneli: bye
22:27:38 Jan_B_A: If there is nothing else to discuss (the math problems was over my head) I was going to leave too. Will start working on the site asap.
22:28:14 cbothamy: ok I'll have to go soon as well. What I'm going to do is upload the roadmap in the cvs, and open tasks ans subtasks on sourceforge.
22:29:02 Night: cristophe, add to the roadmap that we should find some ideas to check correctness of instructions emulation, especially system instructions
22:29:56 cbothamy: ok
22:29:58 Night: arithmetic instructions could be validated with simply random testing
22:31:15 Night: ok, I also leave now ...
22:31:22 Night: bye
22:32:03 fcorneli: I'm leaving too, see you all later around, and happy hacking... bye bye
22:32:28 Jan_B_A: bye bye
22:32:41 cbothamy: bye Frank. Thanks for being here
22:33:06 fcorneli: no prob. cul

SourceForge Logo
Please send comments and questions concerning the site to Volker Ruppert.
Web site feature requests and bug reports should be added to the Web site tracker.
Last Modified on Friday, 26-Oct-2012 20:36:51 UTC.
© 2001-2017 The Bochs Project. See the project statistics here.