This is a text file copy of the html intro page for the Authors WWW page for his Super Mario Bros IIgs port project. The current url foritas of10/11/98 was: http://www.d.umn.edu/~lscharen/ ------------------------------------------------ The following is a Preformed Production Welcome to my own personal space on this great big thing we call the World Wide Web. Since you've come here, you obviously have nothing better to do with your time than waste it surfing around to little "out-of-the-way" places. Now that you're here, I have an opportunity to try to force my personal opinions on to your little phallic mind. I am currently undertaking a project to port my favorite old NES game, Super Mario Bros., to the Apple IIgs. If you don't know what kind of computer that is, it was manufactured by Apple Computer, Inc. from 1986-1991(?). There is still a small group of dedicated IIgs people out there. In fact, the newest development has been a TCP/IP stack just release by Richard B. as freeware. Thanks Richard!! Note: Development for SMB had recently been resumed. I'm currently concentrating on creating a level editor for the program. This should make it much more fun for all of you who plan to download the game :). The level format will be fairly flexible, allowing for multi-segment levels, warps to other segment or other level files on disk, independent colors for each segment, and a few other misc. features. I expect to have the bulk of the coding done by Jan. 1. Hopefully, a useable game with a level editor will be released by Feb. After the initial beta, further updates will be minor enhancements to the level editor and speed-up to the game engine. Future features include: Foreground map (let mario run 'behind' things), user-definable shapes, faster code (always a planned feature), and, in the end, a NES game compiler. The compiler would take a NES ROM image in iNES format, and 'compile' it into a GS/OS or Prodos 8 application. Since a NES uses a 6502, most of the code can be cut and pasted, anything haveing to do with NES hardware (scrolling, tiles, etc.) would be implemented as calls to a NES library linked in to the file. I think this would be really neat as IIGS users would suddenly have >200 new games available to them. If anyone out there has detailed information about the NES, feel free to contact me. Well, I was overly optimistic about having the code done by January. It's is now mid February and the game is strewn about in a thousand little pieces. It actually would have been close to done, but I recently contacted David Ong Tat-Wee, the author of DOTW. He directed me to a person named Alex Eddy. He and a couple of friends have done some _really_ impressive stuff with their GS. (How does 30fps full-screen parallax-scrolling sound?). Anyway, he has directed me toward some really fast new techniques. To give you an example. Today (2/12/98) I redid the main scroll routines. Speed jumped from ~35 fps to OVER 60fps on my 7Mhz Zipped system!! Because of this I think it's worth it to redo some things to allow this level of performance. Please note, this was just a test in which data was dumped to the screen as fast as possible. No clipping, sprites, user interaction, etc. was done. Expect a drop when everything is added. I'm shooting for 25-30fps on a stock GS. UPDATE: A new rev. of the code and a *.shk of the game is now available as of 9/9/98. ------------------------------------------------------------------------ In case you care, here is the source code used to make the game. (compiled sprites left out as they're over 300K of source). The game is playable, but still not finished, so please don't email me about cosmetic problems. As it progresses, new information will be posted here. All this code is current, I'll be uploading a code updates regularly. Feel free to use any portions of my code in any project you feel might benefit from it. Just mention me in the program somewhere. :) ¥scroll.asm - scrolling code ¥objprocs.h - header for the object procedures. ¥objprocs.cc - routine for all objects. ¥mario.h - header file ¥mario.cc - the elegant 'C' code. ¥mario.asm - partial re-write in assembly ¥graphics.asm - The FAST core routines. These routines let the game run at ~20 fps on a 2.5MHz IIgs. ¥thoughts - Some of my thoughts as I wrote this stuff. ¥SMB.DEMO.SHK - a demo to download ¥SMB.SRC.SHK - the full source code to the game (sprites and scroll code included) If anyone is interested in looking at the code for the compiled sprites or the 32 cases for the DP aligned scrolling code, please email me. The files are too large to be uploaded to my web space. Also, here is a tech. note on a type of compiled sprite I'm working on. Take a look. It's got some neat features. To contact the author, email at lscharen@d.umn.edu ------------------------------------------------------------------------