DarcNES DOS - Valiantly Resisting the Light

Main | History | Downloads | Screen Shots | Links

A long, long time ago...
News History


Whohoo!!! What a Christmas Gift!!!! I've just figured out a way to make my GB GameJack (my cartridge copier/backup device) to work with my notebook!!! Lesson one: never trust an underground manual for an underground device manufactured by an underground company. Contrary to what everyone else says, it WORKS with an EPP printer port (everyone says it REQUIRES ECP, which is not true). It's working fine, despite it's ocasional quirks (having to reset it once in a while, the erase button which doesn't work as described, etc...). Later I'll put up a small page telling how I got it to work (a friend also got it to work on EPP).
Well, since it's December, 24 (It's 02:38 AM here in Brazil at the time of this posting), I just wanted to wish everyone a:

Merry Christmas

Or a:

Feliz Natal!
(If you live in Brazil)

All of you take care and play safe. If you drink, don't drive! :)


It's the end of the year, so it's time for the "hardware extravaganza"! Let me see... I've bought a NeoGeo CD (plus an "arcade stick"), bought a 3"1/2 disk drive (and an AT power supply) for my MSX (HotBit) machine, so I can play my old favorites (like galaga, pacman, rally-x and antarctic adventure) again, bought also a Gameboy cartridge copier (strictly for development purposes, of course) and a GB color to complete the pack. Now I just need a PC with an ECP printer port to be able to send my code to the flash cartridge and play on the GameBoy... My notebook only does have and EPP port :( If you do have a GameBoy Color, I strongly recomend buying Super Mario Bros Deluxe and Megaman X (soon available on the USA, I was able to get an import copy). They're simply some of the best portable games I've played. Also, keep an eye on Shantae, which is being developed by the guys at WayForward. The game is pretty impressive. If you don't have a GameBoy Color yet, what are you waiting for?? Besides the Color-specific games, it's worth the purchase just to get rid of that damn blur when you scroll the screen on GB games.
As for DarcNES, nothing new on the DOS/Allegro front. I've tried the latest Linux version on my iMac (Linux PPC) and discovered that it doesn't support 15 or 24 bit video (the only color depths available on the atyfb driver, for now). Weird, but I'm sure someone will fix this sooner or later (Nyef?).


Finally I've moved all the old news to the "History" section. The main page was getting way too big... :)


Well, after a nice 5 day hollyday, a hard work week, and a server outage, I'm back. Last week I was in Jau, on the MSX User Meeting. It was VERY nice!!! nice machines, nice people, and I even had a chance to talk to RicBit, author of BrMSX and BrSMS (nice guy with some REALLY NICE projects). One of the most interesting things were the mods done to the machines. One guy had a HotBit with a built-in floppy drive (Hmmm.... I'll do this to my HotBit soon), other guy had an OPL-3 cartridge (cool sound) and another one hooked up a pair of 3D-Glasses from a Sega Master System to his MSX2+, to create some cool visual effects. I've taken some (bad) pictures, and I'll scan them and put them online soon. Don't expect too much, those disposable cameras are a piece of crap (and I'm not a good photographer either). Ow! Let's not foret the cool software at the meeting. If you think you need at leat a P75 to play video with sound at a decent framerate, you should see the EVA player running on a 3.57 MHZ MSX2+ machine, playing that "Goodtimes" video found on the Win95 CD-Rom. Uzix (by Adriano Cunha) and FudeBrowser (by RicBit) were also cool. Soon you'll be able to surf the web with your MSX. In short, if you wasn't there, you missed a LOT!. Congratulations to Werner and everyone who helped to organize the meeting.


I've tried to run DarcNES on my notebook (486 DX 50 + 8 MB RAM) and found that it doesn't work. It quits when it fails initializing the sound card (since there's no sound card). Guess I'll have to fix this :). And talking about fixing things, I've fixed the date on the past 4 postings on this site. I've forgot to use the U.S. format (mm/dd/yy) instead of the Brazilian one (dd/mm/yy).


If you live in Brazil and likes MSX (that great 8-bit computer virtually unknown in the north america) don't miss the MSX Ja 2000 user meeting, which will happen it the city of Ja, in the state of So Paulo, here in Brazil. It's the biggest event of its kind in south america and, according to a friend who has been there before, very interesting. You will see MSX machines doing things said to be impossible to them, like video capture and edition, web browsing, connected on a network, and even running Unix! (UZIX, to be exact). The meeting will happen from November 2 to November 5. If you want more info, just click the banner below to go to the Official Homepage.

Maybe I'll be there. I don't know yet.


Hmmm.... Nothing interesting going on lately. I'll do a clean up on the page soon and move the old news into a separate page. I've been having no time to play with DarcNES Allegro, but I've turned my laptop into a "GameBoy Development Station". Compiler, Code Editor, Tile Designer, Map Builder, Sample Code, Doc's, everything is there, and I just need to go out and buy the FLASH cart to be able to test the code on my GB Pocket and start programming. I've seen some of them for sale on a Shopping Center near my home, and they weren't as expensive as I tought.


Just a quick update to clarify some things: Work on DarcNES Allegro hasn't been resumed yet but it will be resumed. And changing to my new job at the Revista do Linux isn't a bad thing. In fact, it's a very good thing for me, but it will leave me with even less time to work on DarcNES. So, the last posting didn't had any bad news afterall, like the folks at Dave's Classics said (please guys, if you have any doubts about what I'm talking about in my postings, contact me before posting in your site) And speaking about new machines, I've now got 3 really good (and old) toys: 3 MSX compatible computers: 1 Sharp HotBit and 2 Gradiente Expert 1.0 (only one keyboard, though). I've also got a Grafix MTA printer and a Datacorder (if you live in Brazil you know what I'm talking about). The Experts aren't working, so, if you live in Brazil and have some repair tips for these machines, please let me know, since I REALLY want to see them working again. Also, let me know if you have the schematics for the printer cable for the MSX (so I can connect the printer to the HotBit, which is working). Hmmmm.... seems that I don't need the MSX emulators anymore. :D


Work on DarcNES ALlegro hasn't been resumed yet. I've changed jobs again (but I'm still at Conectiva), and now I'm one of the Editors of the Revista do Linux, a nice Linux-only magazine. I've also finally bought a DOS/Win machine, but it's a HP OmniBook 600 C, a nice SubNotebook with a 486 DX2 50 processor, 8 MB of RAM and 260 MB PCMCIA HD (480 MB after Doublespace :P ). It's running Windows 95 by now, but I'll probably install Linux in the near future. Since it's slow, I'll not be able to use it for development. Well, I can compile DarcNES Allegro on it, either on DOS or Linux, but I can't run it to test the code.... :(


I'm now typing this from my booth at Fenasoft (See a picture here.) The past four days have been pretty interesing, there's a lot to see on the expo, and the interest of the public on my project (Linux on a Power Mac G4) has been pretty good. The expo will last until saturday, and by monday I should be able to resume work on DarcNES Allegro. Stay tuned!

PS: I fixed some stupid HTML mistakes on this page. Hope no one noticed...


No Release on July, 17
Well, things have gotten a little out of control, and there will be no release on July 17, as I thought. I've spent a LOT of time preparing some demos to be presented at Fenasoft (Our national computer expo, somewhat like Comdex, but smaller), and had little time to work on DarcNES. Today I've had some free time, and fixed some bugs/improved some things, but there's still some pieces missing, like Frameskip. Also, a nasty bug popped out on the last days that would crash or restart the X server if DarcNES was invoked from an XTerm. Well, I don't know exactly why it happened, but it's fixed now (maybe X 4.0 was the cause, now I'm using X 4.01). As soon as frameskip is implemented I'll make a release. Meanwhile, if you live in Brazil and/or happen to be in São Paulo during July 24 to 29, go to the Anhembi Expo Center and visit the Conectiva booth at Fenasoft. I'll be there demoing Linux on the Mac, USB devices on Linux, etc... Nothing too flashy or spectacular, but interesting anyways. See you there!


Just a quick update to let you all know the status of the project. Well, the past week has been totally unproductive, due to a heavy flu I've got. The last 3 days have been specially hard, I could barelly get up from the bed, but I'm recovering now. Nyef released a new version of DarcNES, but it breakes compatibility with the Allegro, GTK+ and SVGALib versions again. This won't affect the Allegro version (for now), but Nyef has already given me some hints on how to fix the possible problems that could arise, and I'll work on them as necessary. Well, it's time to take my medicines, bye!


Well, Friday was an interesting day. Without much to do at my job, I've spent the day working on DarcNES Allegro. It's a funny thing to dig on old code you've written nearly an year ago, you find all sorts of mistakes and strange things, including some memory allocation errors, unnecessary/duplicated code, things that can be optimized, etc.. Tools like GDB and Electric Fence are also a great help and I personally prefer coding on Linux than DOS. And speaking of DOS, seems that the folks at Vintage Gaming have made a mistake while announcing the news about my Linux/Allegro version. They said it would be a DOS/SVGALib version, but they are wrong. The version will use Allegro for the graphics/sound/input (like the DOS version), and will run under Linux, not DOS. But, since it uses Allegro, compiling it on DOS should be pretty easy, with little (if any) changes to the code. So, this makes up for 4 (Four) Linux version of DarcNES: GTK+, X and SVGALib (by Nyef) and Allegro (by myself).
As for progresses on the new version, SMS games are working now (stupid mistake by myself). I've also reimplemented the command line parsing routines, and sound volume selection. Screenshots aren't working yet (it will be one of the last things I'll look into), but I've taken one screenshot of Ninja Gaiden II running on the new version. Note that it's running inside an X window. This is one of the neat things Allegro automatically does for you. If you run DarcNES inside an X session, it will run in a Window. If you run it on the console, it will run fullscreen, just like the DOS version (switch the resolution to 320x240, etc...). And if you run it on the console, and switch consoles, the game will pause until you return to it's console. (i.e. If I'm playing on console 1 and switch to console 7, the game will be paused until I return to console 1) This is a very cool thing. I'm aiming at a release on July, 17, which is my birthday and the date of the last release of DarcNES DOS, almost one year ago. But don't count on it too much! :)


Interesting News: The latest UNIX (Linux/BSD) version of DarcNES, released on June, 17, fixed the bugs in the SVGALib, GTK+, and Allegro support. With these problems fixed, I went on and tried to compile DarcNES on my Linux (Intel) Box at work. I suceeded to compile a SVGALib version, so I decided to try something "different". I installed the Linux version of Allegro, and tried to compile the DOS version on my machine. To my surprise, it took me only half an hour to get a basic Allegro version running under Linux, an impressive result! So I decided to go ahead, and port ALL the features of the last DOS version to the latest Linux version using Allegro. Here's the status so far:

  • NES Support is working (as good as the SVGALib version).
  • SMS support isn't working, it gives me a Core Dump. I'll figure out why later.
  • GG Support is working (as good as the SVGALib version).
  • PCE/TG16 support is untested yet.
  • Screenshots aren't working yet. The files are created, but seem to contain only garbage. I'll look into this later.
  • Joystick support isn't tested yet.
  • Frameskip isn't implemented yet.
  • Most of the command line options (sound volume, etc...) aren't implemented yet.
I don't know how this will end, but if it's ever completed I'll make a release. I might even add some nice UNIX features, like support for GZip compressed ROMS, who knows? I'll post some screenshots of this version when I fix the screenshot routine.


Sorry for the Mistake

Well folks, seems that I've made a mistake yesterday while updating the DarcNES DOS homepage. I've accidentally overwritten the main page of the Emulation Zone (which hosts this page and for which I'm a senior member). I didn't noticed the mistake until now, when I noticed that the DarcNES DOS homepage was getting way more hits than normal... Andrew Wolan ('Zone's Founder) discovered the error and fixed it (Thank's Andrew). I promisse I'll take care to not overwrite anything in the next update! :)


Well, no updates to the DOS port in a long while... However, Nyef continued to update the Linux/BSD version, and fixed a nasty bug that broke compilation for everything except X11. (there was no GTK, SVGALib, etc... for a while) Here's the list of changes in the last 2 versions:


  • Fixed (hopefully) the Allegro (DOS), SVGALib, and GTK versions (I don't have any systems that will run these, so I couldn't test the fixes).
  • Moved some event queue code out from pce.c to event.[ch].
  • Added automatic dependancy support to the Makefile.
  • Cleaned several things up to make porting easier.
  • Cleaned several things up to make cross-compilation easier.
  • Changed a couple headers to compile cleanly with a C++ compiler.
  • Added support for expansion cards to the Apple ][ emulation.
  • Added support for the language card to the Apple ][ emulation.
  • Added code to load more roms to the Apple ][ emulation.
  • Added preliminary Apple ][ disk support (can't use it without gdb, though).
  • Fixed color on Apple ][ text mode.
  • Added Apple ][ hires graphics mode.
  • Added a first approximation of Apple ][ lores graphics mode.
  • Added IRQ support to the emu68k core (no, genesis emulation still doesn't work).
  • Added a new 6502 core (only used on NES right now, may be slightly buggy).
  • Made many improvements/fixes to the emu68k core (no, it _still_ doesn't work).
  • Fixed genesis memory access to mask down to 24 bit addresses.
  • Fixed Apple ][ space bar key.
  • Removed the (unused) m6280 core.
  • Changed most NES mappers to not need to know how large the PRG ROM is.
  • Cleaned up the NES sprite renderer slightly.
  • Changed the video interface to not use procpointers.
  • New BeOS port (see link above).

I will probably download the sources today and play with it for a while. As I said on WEMU, I'm considering the possibility of doing a port of DarcNES using Allegro for Linux (DarcNES Allegro/Linux). However, things are unsure yet. Stay Tuned!

While I was far away of the DarcNES code, I was hard at work here at Conectiva. On the middle of April, we received the visit of the great Richard M. Stallman. Yes sir, the founder of the Free Software Foundation, creator of GCC and Emacs (well, everyone does something bad in life :), among many other things. We have taken Mr. Stallman to the beach during a Saturday, and it was a very nice trip!! Here's a picture of me and Mr. Stallman on the train. I'm the one in front, with the blue shirt and glasses, while Mr. Stallman is right behind me. (the guy with the long beard and hair).

Also, if you live in Brazil, don't forget to see the May edition of the Revista do Linux. I've written an article explaining how to install LinuxPPC on an iMac. There's also some pictures of me and my machine.



I've (almost) completed the redesign of the site ("History" will come later). No new version or anything like it for now, just a much needed HTML clean up. Hope you like the new layout. I've also noticed that we already had more than 16.000 visitors!!! Thank's to everyone who have visited the DarcNES DOS homepage!


DarcNES Multi-System emulator. DOS Port by Sephiroth, original Linux version by Nyef.