New Cores for 02/10/19


Staff member
In this thread, there are two new CORES, and an explanation on how to use them.

BASIC_021019 - This core is effectively a replacement for the current Base core, with a bunch of patch fixes, some deeper comments in some of the code, and a good general base core update for 4.1.5. We have made it a separate core in the event anything in this core breaks any existing games you might have. It is very simple to update the root to restore the previous core, but almost all games created with the base code base of 4.1.x should work fine with this core, and we advise the update. This core is designed to work with all BASIC modules. (update instructions below)

Basic_NoScroll - This core is very similar to the earlier builds of NESmaker, from the beta and 3.x versions. It is designed for single screen games. While there are no modules created for it yet, there are plenty of supported scripts that can be applied to get you started if a single screen game is what you have in mind. Please check out the tutorial on the website for CORES to see some of the differences. This core is designed to work with SINGLE SCREEN modules only. I have put a blank single screen base module here to get you started :


1) Open your game or start a new game with an appropriate module

2) Click on Run Project Module in the tool bar.

3) Choose which core you'd like to load.

4) If it works, you will see a "Script Execution Successful" box appear.

5) Open Project Settings (the gear icon) in the tool bar, and click on the Script Settings tab. Click on the UPDATE ROOT button.

6) You will see that all relevant scripts now have an updated root definition to the newly chosen core.


If updating the core screws something up with your game, you can revert to use the original core. To do this, click on "ROOT" and click the Change button, then manually enter Routines\Basic\ (substitute "Basic'" for the name of the core you want to manually change to, exactly as it shows up in the visible ASM files on the right). Press OK. Then, hit the UPDATE ROOT button, and all definitions should return to "Basic" (or whatever you wrote there).



    359.6 KB · Views: 398
    358.8 KB · Views: 350
So presumably if i do this it will override/replace changes to scripts that i have made? I'm struggling to understand how to update but maintain custom changes. Do i just need to be really diligent and noting what changes i have made and where so that i can just copy and paste over the scripts i had previously edited?


Staff member
You can try, just make a backup copy of your NESMaker folder (just in case), before doing that ;)


New member
Hello. Neebie here.

I've a little confused about these versions. I though I could just use the same nes maker for any kind of game. Its not a problem if I have to change versions for particular types of games though. I can simply have a folder with different NesMaker for any type I need. I have experience with game maker and unity. Made a few games for both.

I am making a puzzle game with static screens. Finish the puzzle, go to the next screen etc. No scrolling at all. I doesnt use physics and very few collisions here and there - just a character hitting specific tyles.

What version of NesMaker should I use? Thank you.
Ok, I want to use the new basic_noscroll core and convert my game to it for the competition, but I am having a ton of trouble.

I can't even get an empty game to load with this core. I followed the instructions, and without any changes when I try and test the game I get all these errors:
( This is an empty basic platformer module game with the zip script run )

Now I may be setting this up incorrectly, but I have tried it a few different ways and cant figure it out.

What I want to do:
Create a blank game with the Basic_NoScroll module
Make it into a basic platform game by importing all my assets and custom scripts one by one from my current game ( scrolling platformer module )

Routines\Basic_NoScroll\ModuleScripts\MainScripts\SimplePlatformer\ExtraControllReadCode.asm(46): Unknown label.
Routines\Basic_NoScroll\\System\HandleStateChanges.asm(31): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\HandleCamera.asm(4): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\HandleCamera.asm(5): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\HandleCamera.asm(6): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\HandleCamera.asm(7): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\HandleCamera.asm(9): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\HandleCamera.asm(13): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\HandleCamera.asm(14): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\HandleCamera.asm(16): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\HandleCamera.asm(20): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\HandleCamera.asm(24): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\HandleCamera.asm(28): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\HandleCamera.asm(32): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\HandleCamera.asm(176): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\HandleCamera.asm(180): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\HandleCamera.asm(193): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\HandleCamera.asm(201): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\HandleCamera.asm(218): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\HandleCamera.asm(226): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\SimplePlatformer\HandleObjectCollisions.asm(528): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\SimplePlatformer\HandleObjectCollisions.asm(550): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\SimplePlatformer\PreDraw.asm(83): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\BoundsHandlers\DoRightBoundsUpdate.asm(16): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\BoundsHandlers\DoRightBoundsUpdate.asm(20): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\BoundsHandlers\DoLeftBoundsUpdate.asm(18): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\BoundsHandlers\DoLeftBoundsUpdate.asm(22): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\BoundsHandlers\DoTopBoundsUpdate.asm(27): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\BoundsHandlers\DoTopBoundsUpdate.asm(31): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\BoundsHandlers\DoBottomBoundsUpdate.asm(25): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\BoundsHandlers\DoBottomBoundsUpdate.asm(29): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\Physics_4_1_0.asm(61): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\SimplePlatformer\TileCollisions.asm(35): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\SimplePlatformer\TileCollisions.asm(93):CheckPlayerCameraPosition(39): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\SimplePlatformer\TileCollisions.asm(93):CheckPlayerCameraPosition(48): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\SimplePlatformer\TileCollisions.asm(93):CheckPlayerCameraPosition(84): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\SimplePlatformer\TileCollisions.asm(93):CheckPlayerCameraPosition(90): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\SimplePlatformer\TileCollisions.asm(93):CheckPlayerCameraPosition(110): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\SimplePlatformer\TileCollisions.asm(93):CheckPlayerCameraPosition(121): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\SimplePlatformer\TileCollisions.asm(93):CheckPlayerCameraPosition(129): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\SimplePlatformer\TileCollisions.asm(93):CheckPlayerCameraPosition(130): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\SimplePlatformer\TileCollisions.asm(93):CheckPlayerCameraPosition(134): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\SimplePlatformer\TileCollisions.asm(93):CheckPlayerCameraPosition(141): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\SimplePlatformer\TileCollisions.asm(93):CheckPlayerCameraPosition(146): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\SimplePlatformer\TileCollisions.asm(93):CheckPlayerCameraPosition(155): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\SimplePlatformer\TileCollisions.asm(144): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\SimplePlatformer\TileCollisions.asm(150): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\SimplePlatformer\TileCollisions.asm(351): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\SimplePlatformer\TileCollisions.asm(356): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\MainScripts\DrawSprites.asm(174): Unknown label.
Routines\Basic_NoScroll\\InitializationScripts\InitLoads.asm(87): Unknown label.
Routines\Basic_NoScroll\\System\LoadScreenData.asm(177): Unknown label.
Routines\Basic_NoScroll\\System\CheckForUpdateScreenData.asm(20): Unknown label.
Routines\Basic_NoScroll\\System\HandleScreenLoads.asm(37): Unknown label.
Routines\Basic_NoScroll\\System\HandleScreenLoads.asm(409): Unknown label.
Routines\Basic_NoScroll\\System\HandleScreenLoads.asm(509): Unknown label.
Routines\Basic_NoScroll\System\HandleBoxes.asm(53): Unknown label.
Routines\Basic_NoScroll\System\HandleBoxes.asm(433): Unknown label.
Routines\Basic_NoScroll\ModuleScripts\HurtWinLoseDeath\WarpToScreen.asm(5): Unknown label.
demo.txt written.


Staff member
The problem here, is that this core is means to be use with the modules that are based on it.
You will not be able to use your scripts made for another core, as it... you might have errors.
Because in the no scroll, some variables, some subroutines have been removed.
You will to adapt your scripts (add some missing variable/constants) for this new core.


New member
I have been busy with life for the last few weeks, so have not kept up to speed on all the latest updates...
I'm a little confused for this new core...
If I want to make an ADVENTURE type game using GAME OBJECTS for weapon instead of SPRITES....
what is the best setup to follow?
Do the BASE updates above work with ADVENTURE BASE MODULE?
Should i make an adventure game using the BASE_NoScroll ? Or should i use the ADVENTURE_MODULE without the BASE_NoScroll updates?


New member
When i follow the instructions above using ADVENTURE MODULE Project, I get an error when using the Basic_NoScroll but it compiles for BASIC_021019. I guess i will use BASIC_021019 for adventure module then........? anyone have issues with this


Staff member
The basic_noScroll is a core without all the scrolling related parts. But some bugs and issues need to be fixed before using it for your game. And there is only 1 module for this core. You cannot use a basic module with the basic_noScroll core. It will not work / not compile.

If you want to make an adventure project, I would suggest to use the Basic (2019) core with the adventure module.
If you want a object based weapon, you will have to deactivate some scripts (half of the "PreDraw" and "Handle Sprite Weapon"), and use the b_create_weapon_melee script from the tutorial about "object melee" in the community tutorials section.

Rob Burrito

New member
Not exactly a new core question, but with the new update to 4.1.5 (coming from 4.1.2) was there a way to turn on the auto update? i've been out of it for a bit, trying to get up to speed with the most current version and update possible before starting a new project.

Retro Checkpoint

New member
I am a little confused in how Cores work as a code base or maybe it is a Patch question. It sounds like with 4.5.1, I still need to upload the above recommended BASIC_021019. When 4.5.2 is released the downloading of BASIC_021019 won't be needed?



Staff member
This updated core is for people who were using the previous versions (4.1.0... 4.1.1 ...)
If you downloaded the 4.1.5 you don't need to update your core :p
Top Bottom