Super Mario Bros. 64 has been released

C64 website updates, new releases of games, demos, tools etc.

Moderator: Lemoners

Post Reply
ZeroPaige
William Wobbler
William Wobbler
Posts: 73
Joined: Mon Jan 07, 2013 6:25 pm

Super Mario Bros. 64 has been released

Post by ZeroPaige »

(Edit 2019-12-30: See this post for the more recent 1.2 version )

After 7 years of development...

Super Mario Bros. 64

Image

Download link:
Super_Mario_Bros_64_-_Zeropaige.zip (tinyupload.com)
Super_Mario_Bros_64_-_Zeropaige.zip (uploadfiles.io)
DESCRIPTION

This is a Commodore 64 port of the 1985 game SUPER MARIO BROS. for the Famicom and Nintendo Entertainment System. It contains the original version that was released in Japan and United States, as well as the European version. It also detects and supports a handful of turbo functionalities, and has 2 SID support.


CONTENTS

The disk-image contains 2 programs:

SUPER M. BROS.64 - the game (everything in one file)
SMB.64 DOCS - this manual

A cartridge-file is also provided. It only contains the game and can be used with a C64GS.


VSP (VARIABLE SCREEN POSITIONING)

This port relies on the VSP-technique for scrolling. If you experience crashes while playing the game, this is most likely the issue. You may find out if your computer is prone to crashing by running VSP Lab.

https://csdb.dk/release/?id=120810

If this is the case, there are a number of things to try (some options cheaper than others):

- Try another C64.
- Use an emulator instead.
- Use a C64 Reloaded motherboard - they are designed to be VSP-safe.
- Use a Turbo Chameleon - because of how it works, VSP glitches will not alter the Chameleons memory, thus preventing the game from crashing. This port will also benefit from its turbo functionality.


OPTION MENU

Before the game starts, an option menu will let you:

- select a version of the game.
- disable turbo (if detected).
- configure a second SID-chip.
- see the background (based on Shigeru Miyamotos artwork that was used for the Japanese and European release).

The option menu is (just like this manual) controlled using a joystick (or gamepad) in either control port.

The details of these options will now be described.


VERSIONS AND TIMING

The original game was released in two versions:

- Japanese/US-release - the original for NTSC, 60 Hz video systems.

- European-release - adjusted for PAL, 50 Hz video systems.

This port will try to run the game at the intended speed (as well as having the sound in the correct pitch); this means you can play either version on any type of C64. It also means that the Japanese/US-release will not play 20% slower on a PAL-system. Likewise, the European-release will not play 20% faster on an NTSC-system.

The program will automatically detect your hardware (including any turbo functionality). Based on this, it will suggest the best version for you.

The reasoning behind the suggested version is as follows:

- If you play on a stock C64 (PAL, Drean or any NTSC) without any turbo functionality, the European-release will give you the least slowdowns, since the original game-engine is tuned for a 50 Hz refresh-rate which uses less CPU-cycles per second than the original Japanese/US-release.

- If turbo functionality is detected, the version aimed for your video-system will give you the smoothest scrolling. This means: Japanese/US-release on any NTSC C64, European-release on PAL and Drean C64.

You can override the suggested version, if you wish.


COMPATIBILITY AND TURBO

VSP issues aside, this port should be able to run on all regional C64 models. PAL, NTSC (new and old) and Drean (PAL-N) are all supported.

Since the NES-processor is clocked (roughly 70%) faster than a stock C64 there can be slowdowns during gameplay. A pixel indicates this on the time-watch graphics in the status bar.

This port will try to detect and use any kind of turbo functionality, such as:

- Commodore 128 (2 MHz in the border)
- C64 DTV
- Schnedler Systems Turbo Master CPU (untested)
- Swisscomp Turbo Processor (untested)
- Rossmoeller Flash 8 (untested)
- CMD SuperCPU Accelerator (untested)
- Icomp Turbo Chameleon 64

You can disable the detected turbo functionality if you experience problems with it enabled (or wish to see how the game performs without it).


2 SID SUPPORT

- This port emulates 4 channels of the NES APU (audio processing unit): 2 pulse channels, 1 triangle channel and 1 noise channel. The SID-chip has 3 voices, so this is handled by sharing 1 SID-voice for the triangle and noise channel.

- If a second SID-chip is configured, the program will instead dedicate 2 APU-channels to each SID-chip.

- In the option menu you are able to configure and test your SID-setup. You can use the following addresses for the second SID-chip: $D420, $D500, $DE00 and $DF00.


- In the test you should be able to hear 2 tones being played simultaneously for 2 seconds. The first tone has a lower pitch and fades out. The second tone has a higher pitch and fades in.

- If a second SID-chip has been configured, the higher pitched tone should be playing on that SID, otherwise they will both be playing on the first SID.


CONTROLLERS

The game is controlled using joystick (or gamepad) in either control port and supports 2 button joysticks (using POT X, like the C64GS joystick).

The joystick used to start a game will control Mario. If a 2 player game is selected, the other joystick will control Luigi.

You can press F1 or F3 to toggle between the 4 modes for control port 1 or 2 respectively. A message on the screen will display what mode you have selected. These modes are:

Mode 1 - Up > Jump (Default)

Mode 2 - Up > Jump, buttons swapped

Mode 3 - Standard

Mode 4 - Standard, buttons swapped

The mapping scheme is by default setup for 1 button joysticks, where pushing up will trigger jumping (and swimming).

On the C64, this is the most common way to control your character in platform games. Examples: Bubble Bobble, The Great Giana Sisters, Mayhem in Monsterland, Turrican, Wonder Boy.

If you have a joystick which supports 2 individual buttons, the second button will also trigger jumping (and swimming) in mode 1 and 3.

Depending on the physical layout of your joystick, you can change the control scheme to swap the action of the buttons (mode 2 and 4) so that they correspond physically with a NES-controller.

Reference of a NES-controller:

- The A-button (placed to the right) is jump (and swim)

- The B-button (placed to the left) is throw fireballs (and accelerate)

For 2 button joysticks it is also possible to use mode 3 and 4 which disables the UP > Jump-mapping. Do not use these modes on 1 button joysticks as you will not be able to either jump or throw fireballs.


KEY DESCRIPTION

<- - Exit to title-screen (during a game)

RUN/STOP - Pause game

F1 - Toggle joystick mode for control port 1

F3 - Toggle joystick mode for control port 2

F5 - Decrease SID volume (on some 6581 SID-chips the audio can sound distorted on the highest volume)

F7 - Increase SID volume
Last edited by ZeroPaige on Mon Dec 30, 2019 3:39 pm, edited 2 times in total.
User avatar
OmegaMax
Usagi Yojimbo
Usagi Yojimbo
Posts: 6684
Joined: Sat Jan 17, 2015 11:36 pm
Age: 48

Post by OmegaMax »

Nice,thank you
User avatar
Mousey
William Wobbler
William Wobbler
Posts: 129
Joined: Fri Nov 15, 2013 6:19 pm
Location: Southampton, UK

Post by Mousey »

Thank you so much for this; I’m so excited to try it - the release timing is perfect, just ready for the Easter holidays!
User avatar
thomcbm64
Rick Dangerous
Rick Dangerous
Posts: 1607
Joined: Wed Feb 14, 2018 1:23 am
Age: 60

Post by thomcbm64 »

Amazing, they said that it couldn't be done. I played the cart, ran great.

Thanks for the work....

8O
THOMCBM64
User avatar
mrsid
Zorro
Zorro
Posts: 1429
Joined: Mon Jan 27, 2003 2:17 pm
Location: Netherlands

Post by mrsid »

Congratulations on an awesome release! :wink:
returnofDrFred
Bionic Granny
Posts: 1
Joined: Fri Oct 06, 2017 9:53 am
Location: Germany
Age: 45

Post by returnofDrFred »

Great fake! THX!
Now fake a cracktro into it and spread it into teh world!!11
- from zero to hero -
jammer64
William Wobbler
William Wobbler
Posts: 146
Joined: Sat Apr 16, 2016 3:04 pm
Location: Poland
Age: 40
Contact:

Post by jammer64 »

Playing it right away! <3
User avatar
PaulEMoz
Rick Dangerous
Rick Dangerous
Posts: 1728
Joined: Sat Dec 29, 2001 2:46 am
Location: Near Newcastle, England
Age: 52
Contact:

Post by PaulEMoz »

Outstanding. I've just had a quick play (standard C64 version on an emulator) and it's stunning. Many, many thanks for what you have given us!
Coming soon: Why I'm 64 - a 220+ page book talking about why the C64 was the best thing ever.
User avatar
Lasse
C64 Games Programmer
C64 Games Programmer
Posts: 4261
Joined: Mon Jan 07, 2002 10:57 am
Location: Finland
Contact:

Post by Lasse »

Excellent, congratulations on bringing the hard work to completion! Now this is to be played exclusively with ICU64 analysis, at least at first :)
redrumloa
Zorro
Zorro
Posts: 1420
Joined: Wed Jun 22, 2005 6:44 pm

Post by redrumloa »

You are THE MAN! Going out to the workshop to play in a minute or 2.

THANK YOU!!! :D :D
Tobias
Jumpman
Jumpman
Posts: 4675
Joined: Sun Oct 28, 2018 12:46 pm
Contact:

Post by Tobias »

Congratulation, indeed!
Individual Computers Support Forum - WIKI - Shop
VICE Binaries
redrumloa
Zorro
Zorro
Posts: 1420
Joined: Wed Jun 22, 2005 6:44 pm

Post by redrumloa »

Working here beautifully! PAL64 (in NTSC land) with Turbo Chameleon! Turbo on, loaded from CRT, play 100%! :D :D :D
Oighen
William Wobbler
William Wobbler
Posts: 58
Joined: Fri Dec 30, 2016 6:30 pm
Age: 70

Post by Oighen »

Amazing. Pretty smooth on my C128, whilst on emulated C64 it actually has noticeable slowdowns (don't get me wrong, I know it's because of the fact that converting it 1:1 on C64 is an amazing achievement, just pointing it out). However, a C128 without any additional "turbo-thingy" should be enough to make it run smoothly. At least judging from this first hour or so of play.

Again congratulations ZeroPaige, I believe it must be an amazing sensation, perhaps even emotional, to release it after 7 (!) years of development!

Keep up the good work!

P.S. Is this your first/only release as a programmer? I tried to search for you on csdb.dk and didn't find you (at least not as ZeroPaige).
User avatar
OneCheekyDevil
Zorro
Zorro
Posts: 1073
Joined: Sat Mar 05, 2016 9:04 pm
Location: Sydney, Australia
Age: 46

Post by OneCheekyDevil »

OMFG!!!

This is awesome!!!
(Well... tbh, it's just a direct port - but i'm sure he's put a lot of hours into making sure everything is bug free, with all it's enhancements!)

Congrats ZeroPaige!!!
karloff
Lemon64 Game Champion
Lemon64 Game Champion
Posts: 512
Joined: Tue Mar 24, 2015 10:20 pm

Post by karloff »

That's just great, many thanks for your dedication on this project !
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest