Update, bug fix

There was a minor bug in the neslib example code that I used for 8 different files. In crt0.s in the reset (startup) code, it failed to turn off the APU frame counter IRQ. This won’t cause a problem if interrupts are disabled, but if IRQs were turned on it would fire an IRQ at inappropriate times.

Specifically these lines were missing…

ldx #$40
stx $4017

which is actually written like this in the source code, now.

ldx #$40
stx CTRL_PORT2

If you were using the crt0.s file from any of my source codes, you should redownload the file.

I also edited several other source code files in insignificant ways. It shouldn’t cause any problems, unless I accidentally filled the .zip file incorrectly, before reposting to dropbox.

.

These are NOT the major revisions that I mentioned. I have plans to rewrite the tutorial completely, and make it shorter and simpler and use the neslib, to make it more compatible with code that other people are writing. Standardization is the goal.

 

Advertisements

Backup / PDF archive

Since I plan to make major changes to this tutorial, I thought it would be appropriate to make an archive of the old version. Also, you can view this stuff offline (lots of PDF files).

(still a work in progress)

Introduction – nesdoug

1. Getting Started – nesdoug

2. how cc65 works – nesdoug

3. Our first program – nesdoug

http://dl.dropboxusercontent.com/s/1oxcgi4t1m4ifzj/lesson1.zip

4. What_s a V-blank_ – nesdoug

http://dl.dropboxusercontent.com/s/c3fbfranz5gcafk/lesson2.zip

5. A little color – nesdoug

http://dl.dropboxusercontent.com/s/tqp6s3odgurieep/lesson3.zip

6. Sprites – nesdoug

http://dl.dropboxusercontent.com/s/v2wl2aa5gbrjmad/lesson4.zip

7. Input – nesdoug

http://dl.dropboxusercontent.com/s/zeubcy1ojyxbrgb/lesson5.zip

8.Sprite Collisions – nesdoug

http://dl.dropboxusercontent.com/s/dps1glbmy04onxx/lesson6.zip

9. Drawing a full background – nesdoug

http://dl.dropboxusercontent.com/s/e7mktrwqblyb6zr/lesson7.zip

10. Background Collisions – nesdoug

http://dl.dropboxusercontent.com/s/usbt4evqf4bn41y/lesson8.zip

http://dl.dropboxusercontent.com/s/w3fvsw93e4wwb20/lesson8B.zip

http://dl.dropboxusercontent.com/s/dxiohi67uheaazk/lesson8C.zip

11. Scrolling – nesdoug

http://dl.dropboxusercontent.com/s/g5vnwnzn7q1pa9j/lesson9.zip

12. Basic Platformer – nesdoug

http://dl.dropboxusercontent.com/s/silvjdalw8vx5ib/lesson10.zip

13. Sprite 0 Trick _ Debugging – nesdoug

http://dl.dropboxusercontent.com/s/fzu98ygo8land19/fceux_symbols3.py?dl=1

http://dl.dropboxusercontent.com/s/0v8aos6rt6kfghi/fceux_symbols4.py?dl=1

http://dl.dropboxusercontent.com/s/08oibyhciz6woi7/lesson11.zip

14. Intro to Sound – nesdoug

15. Adding music – nesdoug

http://dl.dropboxusercontent.com/s/4cl6dqvrzuyq2eq/lesson12.zip

16. Adding Sound Effects – nesdoug

http://dl.dropboxusercontent.com/s/q5fvtis646lmh18/lesson13.zip

17. Planning a Game – nesdoug

18. Game Coding – nesdoug

http://dl.dropboxusercontent.com/s/vcnifnoooflgilq/spacy.zip

19. Game Coding 2 – nesdoug

http://dl.dropboxusercontent.com/s/fczfdpahrdgb7rl/spacy2.zip

20. Game Coding 3 – nesdoug

http://dl.dropboxusercontent.com/s/70f89x9viu4r8mw/Spacy4.zip

21. Credits and Thanks – nesdoug

22.More – nesdoug

23. Using DMC Sounds – nesdoug

http://dl.dropboxusercontent.com/s/eo92hyp4ms5mqhs/lesson18.zip

24. MMC3, Bank-switching, IRQs – nesdoug

http://dl.dropboxusercontent.com/s/1435iwsn62kixvg/lesson20.zip

25. Importing a MIDI to Famitracker – nesdoug

26. ASM Basics – nesdoug

27. ASM part 2 – nesdoug

28. ASM part 3 – nesdoug

29. ASM part 4 – nesdoug

30. ASM part 5 – nesdoug

My Neslib Notes – nesdoug

Neslib Example Code – nesdoug

http://dl.dropboxusercontent.com/s/5p8o0umed5k10r5/lesson21.zip

http://dl.dropboxusercontent.com/s/cupgyz9bg8ibjny/lesson22.zip

NES Screen Tool BMP Import – nesdoug

Import Full Background as RLE – nesdoug

http://dl.dropboxusercontent.com/s/1ozfna9ro09qz8n/lesson23.zip

Update Aug 2017 _ CFG files – nesdoug

http://dl.dropboxusercontent.com/s/0m4p4xh2ae51axm/CFG.zip

Sprites, Again – nesdoug

http://dl.dropboxusercontent.com/s/92m5gikr51emf9d/lesson24.zip

Sprite Collision, and Controllers – nesdoug

http://dl.dropboxusercontent.com/s/qdkz26l9n3rpx6y/lesson25.zip

Sprite BG Collision, Pong – nesdoug

http://dl.dropboxusercontent.com/s/1a20e1s1pd00ntg/lesson26.zip

Add Music, Famitracker – nesdoug

http://dl.dropboxusercontent.com/s/m02sq4hfod15dct/lesson27.zip

Scrolling – nesdoug

http://dl.dropboxusercontent.com/s/wapes71qfp3gvxx/lesson28.zip

famitone 3.2 _ annotatecc65 – nesdoug (and famitone 4)

http://dl.dropboxusercontent.com/s/l6sahxaz2qty52m/famitone3.2.zip

http://dl.dropboxusercontent.com/s/b5mob6f9br78goz/famitone4.zip

PPU writes during rendering. – nesdoug (asm code)

http://dl.dropboxusercontent.com/s/hfhrazfvvspzrja/PPUwrites.zip