Hello, all, Below is the boot framework for SimCityGS. The game is slowly but surely making its way to completion. As always, any comments, questions or suggestions are more than welcome! Take care, all. ----- Cut Here ----- Boot Section of SimCity Here is some code and pseudocode for the boot section of SimCity: SC.SYSTEM A$2000 L$? 2000:4C 00 40 ENTRY JMP ENTRY2 ;JUMP OVER HIRES SPLASH SCREEN 2003.3FFF - Hires Splash Screen 4000:A9 FF ENTRY2 LDA #$FF ;CLEAN UP THE HIRES IMAGE 4002:8D 00 20 STA $2000 ;BY ERASING THE JMP 4005:8D 01 20 STA $2001 ; AT LOCATIONS 4008:8D 02 20 STA $2002 ; 2000.2002 400B:2C 52 C0 BIT FULL ;SHOW THE HIRES SCREEN 400E:2C 57 C0 BIT HIRES ;WHILE WE DO OUR INITIAL 4011:2C 50 C0 BIT GRAPHIC ;PROGRAM LOADING * NOW THAT SPLASH SCREEN IS DONE, WE HAVE TO LOAD THE PROGRAM 4014:EA EA EA EA NOP *4 ;PUT A LITTLE SPACE IN HERE, 4018:EA EA EA EA NOP *4 ;JUST IN CASE WE NEED IT 401C:EA EA EA EA NOP *4 ;AT A LATER DATE * STANDARD NAMES FOR PROGRAM PIECES WILL BE: * SC.SYSTEM Loader program and ProDOS interface * MONTH.PASS Figures what happens to each square each month * DHIRES All the double-hires routines, incl. text and dialog box * SQUARE.DATA Bitmaps for each square * SCROLL Routines to scroll up, right, down and left 4020: Check if this is really an Apple IIGS, If not, then display error message 4030: Using hard-coded names for files, load each one into memory DHIRES goes into Bank 05 - First MONTH.PASS goes into Bank 04 - Second SCROLL goes into Bank 02 - Third SQUARE.DATA goes into Bank 03 - Last Load them this way: Load first piece into 8000.9FFF (Main Memory - can be bigger) Use MVN to move it to final memory bank Load second piece over first at 8000.9FFF (Main memory - can be bigger) Use MVN to move it to final memory bank Continue until done Load next file exactly the same way 4800: Now that files loaded, switch to double hires and display main menu MAIN MENU: START NEW CITY LOAD SAVED CITY EXIT If "LOAD SAVED CITY" go to loader If "EXIT" do ProDOS "QUIT" call Else * Start new city: * Original version of program will have set map to start with. * If, When this is done, someone wants to add a terrain generation routine * Great! * * Otherwise, we need to put these data into our initial map. * We could add default data to the the end of (probably) the SQUARE.DATA file * then we would just have to load that into bank 06 Some excess notes: I could have fleshed this out more, but I'm still looking for the MLI CALL tables. If anyone has these, or knows where I can find them on the internet, please post a note in this newsgroup. I have yet to post the SimCity city data particulars, mainly because the book I had detailing these is sitting over at my sister's house. As soon as I can get over there, I will type them in and post them. I am also working on mathematics routines so I can figure out totals, taxes, etc. When they are finished I will post the source code on this newsgroup. Whenever we go from the program to ProDOS, we need to switch to emulation mode, then when we go back to the program, we need native mode. I know MVN needs native mode to work correctly. I should include code for mouse and keyboard control, using the keys in the original SimCity.