Jump to content

Photo

Super Mario Clone being written now


389 replies to this topic

#101 Heaven/TQA ONLINE  

Heaven/TQA

    Quadrunner

  • 8,918 posts
  • Location:Baden-Württemberg, Germany

Posted Mon Feb 16, 2004 1:07 PM

nope. no questions... just normal laziness of a demo coder...

#102 joshua OFFLINE  

joshua

    Chopper Commander

  • 154 posts

Posted Fri Feb 27, 2004 7:59 PM

wow, looks great guys. please keep us posted on this, mario on the 7800 is exactly what i would like to see happen! :thumbsup: so how are things coming along for it? :)

#103 walter_J64bit ONLINE  

walter_J64bit

    River Patroller

  • 4,111 posts
  • Location:Goldsboro NC

Posted Fri Feb 27, 2004 8:14 PM

wow I might have get a new 7800! ;)

#104 Shannon ONLINE  

Shannon

    Born To Be Insane

  • 7,522 posts
  • Pac-man Fever
  • Location:Arcade

Posted Sun Apr 11, 2004 4:56 AM

Alright... It's been a whole month now, what's the scoop on this puppy?

#105 bjk7382 OFFLINE  

bjk7382

    River Patroller

  • 4,577 posts
  • Location:Michigan

Posted Sun Apr 11, 2004 12:06 PM

Alright... It's been a whole month now, what's the scoop on this puppy?


I was also thinking of bumping this thread a while ago and see how this great game is coming along. :?:

#106 analmux OFFLINE  

analmux

    Stargunner

  • Topic Starter
  • 2,138 posts

Posted Mon Apr 12, 2004 1:28 PM

I've not worked on Mario since christmas, as I encountered a speed problem in the scrolling engine which has still to be solved.

In the meantime I was very busy with college, exams, relaxing a little, making some music and I had still other plans for demos & programs on the A8bit. I nearly had a nervous breakdown this year, and I decided to take it all easy. I'm doing physics & maths at the same time.

I'm a man with too many plans :roll:

Soon I will pick it all up again and continue the developing.

#107 bjk7382 OFFLINE  

bjk7382

    River Patroller

  • 4,577 posts
  • Location:Michigan

Posted Mon Apr 12, 2004 1:40 PM

Soon I will pick it all up again and continue the developing.


Well, we don't want you to go crazy working on it. :P It just looked like a promising game that I would hate to see get put off forever.

A game this good can take as long as needed, but I just hope it gets finishied someday. :)

#108 analmux OFFLINE  

analmux

    Stargunner

  • Topic Starter
  • 2,138 posts

Posted Tue Jul 13, 2004 5:25 PM

Okay, I officially started coding again today for the Super Mario clone.

It took me two days to dive into my old code from christmas 2003, and understand what I did at the time.

Good news:
Scrolling engine updated. Version 2 is working in 75% of the cputime of version 1:

-I rearranged a tile lookup table
-I got rid of many time consuming asl/rol instructions
-I unrolled a piece of code that's responsible for writing a new column of graphics in the border areas

------------------------------
Super Mario Clone status:
-levels & graphics: complete
-music: still to be written
-screen/scrolling engine: working
-sprite engine: working
-playing routine: to be written
-title screen + level decompressor: ready

Work already done (estimate): 87 %

#109 pps OFFLINE  

pps

    Dragonstomper

  • 662 posts
  • Location:Berlin, Germany

Posted Wed Jul 14, 2004 11:54 AM

Yeah, that sounds great !!!

Good luck for this journey...

#110 analmux OFFLINE  

analmux

    Stargunner

  • Topic Starter
  • 2,138 posts

Posted Wed Jul 14, 2004 6:26 PM

Next step: getting the play-routines working

this time I've got some weird walk/scroll bug but if you try very hard, you can reach the end of the level before time is up. :D

you can only use joy left/right or reset to pick another level.

...I hope I can finish the game before 1 august ABBUC deadline. :ponder:

------------------------------
Super Mario Clone status:
-levels & graphics: complete
-music: most music still to be written
-screen/scrolling engine: working
-sprite engine: working better
-playing routine: to be fiddled with
-title screen + level decompressor: ready

Work already done (estimate): 89 %

#111 Heaven/TQA ONLINE  

Heaven/TQA

    Quadrunner

  • 8,918 posts
  • Location:Baden-Württemberg, Germany

Posted Thu Jul 15, 2004 1:08 AM

just bought yesterday in munich NES SuperMario for GBA and played it on the trip back on train. it's really most of the time 4 colour or less... so it shold not be a problem to port... :8

i would like to see the SNES Mario 1-3 Super Mario Allstars on GBA and not the original ones... and the leveldesign was really copied 1:1 in giana sisters... no wonder that nintendo suited rainbow arts...

#112 Brad2600 OFFLINE  

Brad2600

    Quadrunner

  • 24,867 posts
  • Formerly known as Kepone, 2002-2012
  • Location:South Burlington, VT

Posted Thu Jul 15, 2004 2:34 AM

I like your efforts so far, mux.

If you ever found someone to produce this in cartridge form, I'd definitely get a copy..though I still don't have an Atari computer for it yet.


Just to bump this up a bit, I now have a working 800XL and I'm hopeful that someone will be able to produce this game on cart.

I was wondering if I could play it using a sio2pc device? :ponder:

#113 bjk7382 OFFLINE  

bjk7382

    River Patroller

  • 4,577 posts
  • Location:Michigan

Posted Thu Jul 15, 2004 1:58 PM

I was wondering if I could play it using a sio2pc device?  :ponder:


Yep. :) I just tried the last file he posted and the title comes up, but it crashes after you try to start the first level. :(

#114 DEBRO OFFLINE  

DEBRO

    Stargunner

  • 1,872 posts
  • Location:Atlanta, GA

Posted Thu Jul 15, 2004 2:05 PM

Yep.  :) I just tried the last file he posted and the title comes up, but it crashes after you try to start the first level. :(

It seems to work only for PAL. Any plans for an NTSC version of this?

#115 Goochman OFFLINE  

Goochman

    Quadrunner

  • 6,259 posts
  • Moongates to the Past

Posted Thu Jul 15, 2004 2:05 PM

I tried this in Atari800win 3.1 - Under NTSC setting it crashes after title screen - in PAL mode I can get to the start but then it is real goofy - Mario moves on his on back and forth and every so often the screen will scroll over 1 block.

Oh well - looking at it still makes me want it :)

#116 bjk7382 OFFLINE  

bjk7382

    River Patroller

  • 4,577 posts
  • Location:Michigan

Posted Thu Jul 15, 2004 2:12 PM

It seems to work only for PAL. Any plans for an NTSC version of this?


That is weird because his previous scrolling demos worked fine on an NTSC machine. :?:

#117 analmux OFFLINE  

analmux

    Stargunner

  • Topic Starter
  • 2,138 posts

Posted Thu Jul 15, 2004 2:14 PM

...hmmm,

Well, I want to make it NTSC compatible, but maybe I've got to recode it partially then. I didn't try to run the game on the emulator with NTSC mode yet. I should do that.

for the ABBUC contest it is only required to run in PAL mode, but when I've finished the PAL version, or if I don't make it before the programming contest deadline, then I'll definitely make it for both PAL/NTSC modes.

I remember earlier versions of the game DID run better on NTSC machines, maybe some new routines are not NTSC-friendly.

#118 DEBRO OFFLINE  

DEBRO

    Stargunner

  • 1,872 posts
  • Location:Atlanta, GA

Posted Thu Jul 15, 2004 3:08 PM

for the ABBUC contest it is only required to run in PAL mode, but when I've finished the PAL version, or if I don't make it before the programming contest deadline, then I'll definitely make it for both PAL/NTSC modes.

:thumbsup:

#119 analmux OFFLINE  

analmux

    Stargunner

  • Topic Starter
  • 2,138 posts

Posted Thu Jul 15, 2004 4:32 PM

Okay, after a short debugging session it works on NTSC machines now (see below). Today I implemented also some vertical movements, but still very experimental. It doesn't seem to do what I want at all. Though it's fun to play with.

I found the NTSC lockup bug in a rather unexpected piece of code, namely the code that clears the PM-base before playing/moving around in a level. The code makes use of a custom subroutine I made to clear a number of pages of memory. The weird thing is: in PAL mode it doesn't lock up, however in the past I've already deactivated a piece of code that clears the screenmemory, which resulted in a total lockup even in PAL mode, so it is a fundamental problem, possibly caused by corrupt (i.e. ill-defined) labels in assembly code.

are there any NTSC coders that encountered similar problems in the past???

(progress still 89%)

#120 analmux OFFLINE  

analmux

    Stargunner

  • Topic Starter
  • 2,138 posts

Posted Thu Jul 15, 2004 7:02 PM

Okay, this is a weird story:

Christmas 2003: I started coding the main scroll&play routines, I encountered a bug. When clearing pages 195-199 (PMbase1) the atari locked up (PAL mode). Then I changed it to 196-199 (4 pages instead of 5). The lockup didn't occur anymore.

There was a second area that needed to be cleared: pages 204-207 (PMbase2), so I wrote another clearing routine. Now the atari in NTSC mode locks up. How is this possible????

lda #0    ;value to be stored in memory

ldy #204  ;starting page

ldx #4    ;number of pages

jsr fillmem

Well. I tried many different things: Firstly clearing 3 pages (204-206) and in another version clearing pages (205-207) (with my clear-page subroutine: x-register denotes number of pages!!!): so if you clear 3 pages nothing goes wrong, and it doesn't matter which pages are cleared.

weird isn't it!!

then I just thought that maybe a zeropage register ("z_dest" as postindexed indirect,y instruction) was used twice (f.e. by a DLI or VBI routine, so things will interfere). The fillmem routine makes use of a zeropage pointer for writing 0's into locations.

this wasn't the case, but when I turned off all interrupts, the problem was solved....hmmmm :!:

Now this is the explanation, and it has nothing to do with PAL/NTSC-compatibility:

The ingame screen is divided in 2 parts: playing field and status window. A Displaylist Interrupt is triggered between them that changes fontpage and setcolors. The DLI however makes use of the x-register !!!! (pagecounter of fillmem routine) and will take the value zero when the DLI is executed:

pha

lda #newfontpage

sta wsync

sta chbase

ldx #3

loop0

lda newsetcolors,x

sta colpf0,x

dex

bpl loop0

pla

rti


WELL: beginners mistake #1: I didn't save x to the stack, as you should always do in interrupts, so after the DLI was executed, a zero was returned to x, which results in 256 pages to be cleared: THE WHOLE atari memory: 64 kbytes :twisted:

Now I did insert the save x (txa pha) and load x (lda tax) and the problem is solved:

pha

txa

pha

lda #newfontpage

sta wsync

sta chbase

ldx #3

loop0

lda newsetcolors,x

sta colpf0,x

dex

bpl loop0

pla

tax

pla

rti


BUT, we've got just one question left: why on NTSC and not on PAL:

well, the clearing of the memory always starts at an exact timing and clearing 4 pages takes more cpu time than clearing 3 pages so: while a PAL frame is longer than an NTSC frame, we can clear exactly 4 pages in a PAL frame, and exactly 3 pages in an NTSC frame BEFORE the conflicting DLI occurs (the clearing process is clearly done in less than a frame). That explains why I couldn't clear 5 pages in PAL mode, but just 4.

I thought there was some kind of ghost hiding inside my atari, but now this clears things up, and after all I understand what went wrong.

.....STUPID.........STUPID.........STUPID.... :yawn:


....but now it should work :)

#121 DEBRO OFFLINE  

DEBRO

    Stargunner

  • 1,872 posts
  • Location:Atlanta, GA

Posted Fri Jul 16, 2004 7:41 AM

I hate these type of bugs. They can be tricky to fine.

That was a nice explanation. Thanks for sharing.

#122 analmux OFFLINE  

analmux

    Stargunner

  • Topic Starter
  • 2,138 posts

Posted Sat Jul 17, 2004 5:25 PM

Ok, weird walk@scroll-bug eliminated.

Jump around!!!

joystick left/right=accelerate
joystick up=jump

you can jump as high as you want.

PROGRESS: 90%

#123 Sheddy OFFLINE  

Sheddy

    Dragonstomper

  • 601 posts
  • Location:UK

Posted Sat Jul 17, 2004 8:08 PM

Nice to know I'm not alone in creating really weird bug puzzles to try and figure out! It always amazes me what the cause of some of these bugs turn out to be.

You're making good progress. :thumbsup:

In case you don't already know - Sorry to say there is some kind of problem it running when the emulator is running in NTSC(Atari800WinPLus 4.0 beta3)

#124 miker ONLINE  

miker

    Stargunner

  • 1,562 posts
  • Stay Atari!
  • Location:Warsaw, Poland

Posted Sun Jul 18, 2004 3:24 AM

Looks superb!!! :) Great work, analmux! Can't await for the final version.

I wonder why so little games (if any?!?) use such as yours scroll routines, is it depend of coders laziness or something? :ponder:

#125 Heaven/TQA ONLINE  

Heaven/TQA

    Quadrunner

  • 8,918 posts
  • Location:Baden-Württemberg, Germany

Posted Sun Jul 18, 2004 11:59 AM

mike...you mean the "Gameboy" style of scrolling??? maybe simply because with antic you can scroll up to 4kb with the LMS commands...and this is easier... ;) or you leave it completly out like some of the polish games...

pick a GB(A) emulator like no$gb and watch the vram then you see how you have to scroll on gameboy...




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users