September 12, 2001

I have been quite busy as of late. I work 40 hours a week. I have friends and co-workers who I enjoy spending my time with. I come home and either I program or I work on my computer for a few hours and then I sleep. I have a rigorous sleep schedule of 10 hours a night. :)

I have been working, I have been working on Sintendo, I have been researching for Sintendo, et cetera. I have accomplished a few things but I can't say that I have actually finished any one particular aspect of Sintendo that I would like to add to the next release.

Obviously, the most awaited is sound. Sound works, kind of. At the moment, I have sound support taken out because I've grown quite frustrated at it and want to work on a few other things for the moment. SNES sound, however, as you know it, does not work. Only in vague ways does it actually resemble what you would expect to hear, and that's when it doesn't crash. On the Dreamcast, it crashes, and badly at that.

What does work, however, and is quite nifty, is something I designed as a preliminary to the SNES sound. Sintendo can successful play a wav file of any size. The reason for this added functionality is that I wish for Sintendo to be able to have menu music. Menu music would be by no means required. Actually, at the moment, the way I intend for menu music to be implemented is that you may create a 'WAV' directory in the root (right next to 'SNES' and 'WINCE') and this directory may contain any number of songs of any length, so long as they fit on the CD (this is actually quite a restriction). The bad news is that wav's take up a lot of space usually and could easily fill a CD. But, I imagine, you could probably easily fit 20-30 minutes worth of music and still have a very wide selection of SNES roms on the same CD. I may also add an option to continue playing menu music once the SNES has begun playing. The menu music would then be mixed on top of the SNES music as though you were listening to a CD while playing a video game.

Obviously, the exact details of this feature as still uncertain. I thought it more important to move directly into SNES sound after completing wav playing that it would be to have to deal with the intimate details of making menu music operational (such as: playing more than one wav in sequence, or starting or stopping music playback when menus are left or entered).

The one feature nearest completion is background bitmaps. I finally got the Direct3D code to work for showing bitmaps (textures) behind the menu. Due to the colors of certain backgrounds, I have decided to change the general menu color from blue as you are used to it, to a move nuetral black/gray. It is still in transition because I have yet to convert all the icons, arrows, et cetera to match the new color scheme. Even still, background bitmaps add a striking appeal to the menus that a White to Black gradient just couldn't do, and only took me about 2-3 days worth of programming early after my last release. Background bitmaps should certainly be expected with the next release. However, I am having so video memory issues, so I may have to find a better way to hold them in memory or to load them dynamically.

Background bitmaps lead an interesting transition of using the same (or similar) code to render transparencies using the Dreamcast hardware rather than in the Snes9x software, which adds together ever pixel individually, and can be quite slow. Hardware transparencies would render nearly as quickly as Sintendo renders with transparencies disabled, hopefully reducing frameskips by as much as 20 frames per second on averge, and still providing strikingly accurate SNES images. I am still in the middle of programming this, and I have run into a few problems, such as texture rendering not being as accurate as 2D blitting, resulting in more jaggies and awkward edges, taking away from the engraved-in-stone pixelated look and feel of the original SNES. My old code even went a long way to smooth a lot of those pixels using anti-aliasing and actually improving the image quality, while this new code can't even be said to render at the quality of the original SNES. This problem may be solvable as I look into things further.

Lastly, (I believe) someone dropped me a line (I'll look up the name later, or he can drop me a line if he wants credit) about the exact size of many of the larger SNES roms, suggesting that 6 Megs (6,291,456 bytes) plus a few extra buffers for headers should be plenty of space for almost any ROM ever made for the Dreamcast. rather than the 8 Megs which I had previously set. I have since reduced the ROM allocation size to a comfortable 6 Megs, which freed up an additional 2 Megs which I immediately used for allocating enough space for Hi-res game support. Sadly and strangely, code which once rendered hi-res games no longer works properly on hi-res games for unknown reasons as of yet. Normal games run fine, but hi-res support is not yet perfected. I've added it to the list of things which I need to work on.

As far as sight changes go, I've updated this page (obviously), and I'll probably be uploading a new timeline at the same time. I added a few checkmarks, and changed a lot of them over to blue. I've also developed, slightly, a timeline for sound, but it's not particularly well thought out. I still haven't prepared CDRECORD instructions, and the reason for this is because I am searching for a file system structure that mkisofs can prepare that preserves capitalization and special characters, such as spaces or hypens. The normal file system uses all caps and changes spaces, hypens, and a few other characters into underscores, which I find unattractive. If anyone knows of any command line for mkisofs that preserves such characters and capitalization, please drop me a line. Please, however, make sure the burned iso actually plays on the Dreamcast.

I guess that about covers it all for now. Just giving everyone an update and letting people know how things are coming as well as what to expect. As a final note, I still haven't solved the inserting VMUs problem, but I'm considering changing the way Sintendo saves anyways.

Again, I can't promise that I'll update soon, as, you can see, I'm chest deep in a lot of thick code and I'm trying to dig my way out. I need to find some way to relax for a moment or two so that I can, hopefully, come back stronger afterwards. I'll be moving sometime this month, perhaps that'll do the trick. Perhaps not.

I'll update again when a reasonable update is available.


August 16, 2001

I'm going into silence for a little while. I've been working on and off on a few things that are kindof getting the better of me, and I have found that I have a little more luck when I work in silence. This is not to say that I am not working - I will be working but since I haven't a lot to say at this point, there is little point in saying much more than I need to.

I'll still be checking the site and my email and making sure that the site is up to date, possibly even updating the development page from time to time. I also intend on finishing the burning instructions, but more on that in a moment. Mostly, I don't intend on updating this main page for a while until I reach some sort of major breakthrough. Breakthroughs happen when they happen, and I've got a few things I am working on, so who is to say when or what any future release will be.

As far as releases go, I hope everyone is enjoying the second beta of Sintendo v0.10. It, of course and unfortunately, still comes with the cavaet that you should avoid removing or inserting any VMUs/controllers after boot time. There is the possiblity that Sintendo will crash and you could potentially loose progress in a game if you were trying to save. I can't say when this will be fixed because I have no idea where the crash is coming from. It most likely happens either when the controllers or the VMUs are reinitialized but where inside there is hard to say. I plan on finishing up the burning instructions (I'm having some problems with CDRECORD running on my current setup) and perhaps then I will call the old beta the full Beta v0.10 release. More likely, however, I will add a few small features (for example, a version I have loads 256 rather than 128 files per directory - hi resolution game support is also easy to add). My hope, however, is that I will have solved the VMU problem by this time and I will have a worthy, stable release as I have hoped.

I'm thinking of also adding a FAQ section so I can avoid answering the same questions time and time again. To answer a few that I have not gotten arround to answering emails from: There is no sound (this rumor was apparently started) and full-speed gameplay is only currently possible by way of a frameskip, which will make the game jerkier than the original and doesn't display the game at the full 60 fps framerate we would all hope for. And to answer any "why?"'s that may arrise from this answer: I am working on both and both take time to implement properly. Neither are elementary tasks and even with their inherint difficulty both require that a considerable ammount of code to be written and rewritten - not in the respect of writing a 5-page essay the day before its due, but rather in the respect of trying to write the great American novel. Planning and research are both required if the result is to be anything like you've imagined, and even then, my past experiences have shown me, things never quite land on the page the way you want them to.

I've digressed far enough. Check this page for further news and updates, but expect that they will take some time. I appreciate that I have a loyal fan base and I thank you all for your support. I hope that you will hang arround and wait for positive results as Sintendo matures. I has certainly come a long way over time and there is still further for it to go. I intend to stick with it to the end. I will have my Dreamcast for a long time to come and I can't imagine that anyone who can play multiple console systems from one system is in any hurry to sell theirs as they watch the prices drop time and time again...


August 8, 2001

I've gotten a few accusitory emails from people who believe that I purposely deleted the file from the downloads page of this site. This is not the case. The good people who hosted me deleted this file for their own protection and I can't say as I blame them. They also said that the file was too large and downloaded too often and would easily exceed my maximum bandwidth per month in a matter of a few days. So I moved it. Actually, I did a lot more than that...

I sorted through the Windows CE tools and found out exactly which files from that directory actually need to be on the CD for Sintendo to run properly. I reduced the number of files from 96 requiring over 21 megabytes to 21, requiring just under a meg. This means that there's 20 Megs worth of space now available to be used for more ROMs instead of the Windows CE libraries. It also means that all you low-bandwidth users don't have to wait 5 hours for to download. The new download is under a half a meg. Lastly, this allowed me to put the zip file on a free server, which is exactly what I have done. The new download is available for download from the downloads page, but you must read and agree with the disclaimer. For anyone who already has a WINCE directory and would like to resize it, this is what your new directory should look like:

The above 21 files should be included and all others can be deleted. I have tested Sintendo with only these libraries included and it is in perfect working order.

I have also been slowly but surely working on the burning instructions, which are available from the Burning link on the left, but incomplete. Included are the complete instructions for setting up the directories and burning with Nero. The CDRECORD and Nero multi-session instructions are not yet complete. The Burning link will remain greyed-out until these are complete. I'm sorry for all you low-bandwidth users, but these pages include several graphics with the step-by-step instructions used to clarify the instructions. It may take some time to get them all to load, but they are a useful tool for helping with the burning process.

I will complete the burning instructions when I get a chance and continue to work on improving Sintendo.


August 3, 2001

The newest prerelease of Sintendo Beta v0.10 has been updated to Beta Test Prerelease version 2, which includes a full load ROM fix. ROMs should load every time, correctly, from this point forward. This is not to say that all ROMs play on Sintendo, because there are still compatibility issues with games like Yoshi's Island and Megaman X2/X3 that should be familiar to anyone who's used Snes9x. Also, hi-res games still don't run due to previous lack of memory, although this may be fixed soon. Also a few extra features have been added:

  • Someone commented that the borders in TV Mode were too large, so they have been reduced. An extra option was added in the Video Mode menu to allow TV Mode with either small (default) or large (the old default) borders.
  • Selecting an option or canceling from the Frame Skip, Transparency, or Video Mode menus now returns you to the In-Game menu, where you can then choose Return to Game. This is helpful because going to the In-Game menu auto-saves the VMS File, which takes a short ammount of time. Now, this is only done once and you can change all three options before returning to the game.

For anyone who is unfamiliar with Sintendo or has forgotten, you can get to the In-Game menu by simulataneously pressing Start+L+R on any Dreamcast controller attatched to the system.

The same caveats apply to this prerelease as did the former (see previous post). What was previously known as the known issue is now fixed. The problem known as a possible issue is now a certainty, and the only known issue preventing Sintendo from full release. To avoid this known issue, try to have all controllers/VMUs attached to the system before booting Sintendo and avoid removing or inserting any after boot time. You can insert or remove controllers or VMUs as you see fit, but Sintendo may crash even the first time (this is an unpredictable bug). I am still working on this problem. It should also be noted that the VMU menu is under construction and you may have to hit A or B more than once to exit it and get to the In-Game menu. Saving and Loading from VMU should work as normal, the issue lies only in crashes resulting from the insertion of a new device.

There will most likely be a third prerelease once this last bug is fixed, so that Sintendo may be fully tested by the public before the stable v0.10 will be released to the public (once burning instructions have been prepared). Any known bugs will be fixed before this full release and any suggestions/comments will be carefully considered. I hope to have this full release available as soon as possible. I also hope that people are enjoying these prereleases and that they are not causing a great deal of trouble for the end-users.

Sintendo Beta v0.10 - Prerelease version 2 is available from the downloads page.


One year ago today...

August 1, 2000. On that day I opened up my first site, declaruing my intent to program an SNES emulator for the Dreamcast. At the time, I was still just barely beginning the research state, and hadn't writen a line of code. Today, Sintendo has well over 3,500 lines of code, and has required a great deal of reasearch to get it to the point where it is today. There is still much work to be done, but Sintendo has definitely come a long way.

It was my wish to have a full release available for you today. Unfortunately, a single pesky bug prevents me from feeling confident about releasing it as I had hoped to give you guys a stable release worth making self-booting and adding to your collections. The problem is a known issue I've had since I first added the In-Game menu, and haven't been able to find the cause of it since. When you first boot-up Sintendo, it will always load the first ROM properly and run in fine order. As you return to the Game menu time and time again, however, it begins to have troubles loading certain ROMs. Through debugging, the best I've been able to establish is that the OS doesn't think that the file is there, though it very obviously is. For the moment, I suppose I will have to consider this a known issue. It is little more just extremely inconvient and annoying (especially if you're running off a bootloader). On occasion, this may cause Sintendo to crash when it tries to load the VMU file, though I'm not certain if this problem has been fixed. If this crashing problem still exists, I consider it low priority, as it is dependant on another bug which shouldn't exist in the first place. Fixing the first problem will fix the second, so why bother fixing the second. This second bug causes no damage to VMU files in any way. There is one other possible issue where inserting and removing VMUs during gameplay may cause Sintendo to crash. This, too, is an inconsistant bug which I believe I may have fixed, but I would like to be more certain of this before a full release. Besides these issues, Sintendo is in great working order with a wealth of new features far above and beyond those of Build #209.

That being said, I have decided to allow public Beta Testing of Sintendo Beta v0.10 (Yes, I said Beta twice :), with the following caveats: 1) no burning instructions or support will be given at this time. I will try to get burning instructions typed up tonight, but I may relax or I may do some programming. It is important to know the following things about burning this new version: It can be made self-booting, though it is not recommended, as it is not a full release, using CDRECORD. It is much like any other CDRECORD burning, except running BINHACK is not necessary. It can be multi-sessioned atop your old copy, although you should be sure to include the new 'Splash.bmp' file included. You can also make a new copy with Nero in a similar manner to old versions (burning instructions are included with old versions). Be sure to have a directory called WINCE with an appropriate number of files and a directory called SNES with files that have the extension .smc, rename them if need be - they will still load. Also be sure to include 'Splash.bmp'. If you burn a new copy with less than 96 files in the WINCE directory and it doesn't boot, tough luck. To be safe and secure, make sure there are 96 files in the WINCE directory. Again, this is all the burning support I can provide at the moment. If you run into problems, you may go to the forums, and people may help you if you so desire. I will not respond to emails, and I won't find time to venture into the 'Burning Problems' forum until after the full release. The second caveat is this: Please provide me with constructive critism and only constructive critism. If you run into a problem, please report it. I check the main forum regularly (the main forum is no place for burning problems). I would really like to know if you run into any crashes, or, by contrast, if you run it for hours and hours and never have a ROM loading problem. This is the purpose of Beta Testing. I need to know how well it runs and how stable it is.

I make no promise that Sintendo is not buggy. This is a Beta Testand please remember that. This is not for everyone.

This being said, the Pre-release Beta Test version is available on the download page.

I will try to get this issue fixed in the next few days, but it has eluded me for quite some time. If Beta Testers don't feel like it is a great problem and no crashes are reported, I may still release v0.10 as it is once I get burning instructions ready, but I would very much like to have a stable release and I will work hard to get there. I hope you will be very happy with the new release, as I have worked very hard to get to this point.

New features and notes about Sintendo Beta v0.10:

  • Improved menus allow access to all ROMs and have no minimum numver of ROMs.
  • Full suite of VMU saving/loading features that allow VMU replacement during gameplay and confirms saving behavior.
  • VMU menu allows removing/inserting of VMUs and allows you the option to not save (press B).
  • If you chose the wrong memory card or accidently hit B, insert or remove a memory card to get back to the menu.
  • Adjustable frameskip runs a full gambit of 24 option frameskip selections, from barely any frameskip to barely any frames shown. 30/60 - 50/60 frames skipped is recommended for optimal gameplay.
  • Proper use of frameskip allows gameplay at 100% speed with some jerkiness which may be minimal for most games.
  • Transparencies! Disabled by default, may be enabled/disabled during gameplay through In-Game menu. (Slows down gameplay somewhat - but Zelda is beautiful).
  • Optional folder browsing of ROMs. Virtual infinite number of ROMs through folder recursion, place ROMs in a sub folder of SNES and they may still be accessed.
  • Reorganized In-Game menu that is hopefully more logical than previous versions.
  • TV Mode (default) cuts a small border arround all edges so entire SNES screen is visible. VGA Mode (available through In-Game menu) runs full screen and some parts of the screen may not be visible on TVs.
  • Controller Config/Credits still unavailable from In-Game menu.
  • No Sound.

Special not about Beta Testing:

  • To prevent possible loss of save data (make sure your save data is current) only insert/remove VMUs from the In-Game menu. When you go to the In-Game, it automatically saves the game to the VMU. In this way, the most recent data is saved to the VMU in the event that the possible issue causes Sintendo to crash.
  • Loading takes longer than just a few seconds. If the Loading screen goes away quickly, this means the ROM did not load correctly. In such an event, it may ask if you want to create a VMU file. Always say no if you suspect the game did not load properly. You may wish to simply reset at this time to prevent problems.

I would like to thank ahead of time anyone who takes the time an the CD to test Sintendo Beta v0.10 for me. I hope eveyone enjoys this release and that a full, stable release will be available soon.


News Archives

All old news updates have been moved here.

Site Contents (C) 2000, Jamin Vander Berg
Site Graphics (C) 2000, Blue Bomber