Jump to content

Joe Musashi

  • Content Count

  • Joined

  • Last visited

  • Days Won


Joe Musashi last won the day on December 18 2012

Joe Musashi had the most liked content!

Community Reputation

488 Excellent

About Joe Musashi

  • Rank

Profile Information

  • Gender

Recent Profile Visitors

12,237 profile views
  1. The third is just a message in the binary code. This message is not in the regular binaries posted here It is only included if you build the cartridge version of the ROM form source with ‘make cart’ see:
  2. Sorry to disappoint you, but the DK II levels are not included. This is some "inofficial" fan box art that was done long before the game was finished. There are actually three easter eggs in the game... The biggest one is a secret ending tune (from the arcade) which you can unlock 😉
  3. Joe Musashi

    Atari VCS 2600 Projects

    Screenshots of my Atari VCS 2600 programming projects.
  4. I've started cleaning up my development folder. There are a couple of projects that didn't come far, and (probably) won't be developed further. Some can serve as example programs, so I decided to post them here. Today, it's the first 2600 program I wrote back in 1997. I had some free time between two exams and thought the 2600 was such a simple hardware, that it should be possible to make an (assembler) game in a few weeks. Turned out it's more like years, so this never made it into a game. The ROMs is attachend, the source code can be found on Github: https://github.com/a-dietrich/DangerZone DangerZone.bin
  5. One more: Using BRK to perform quick horizontal color changes.
  6. Hm, not good. Do you know if this can be triggered somehow? Maybe pressing the start button at a specific point? Also, are you running from a Harmony or is this a self-made cart? Something like the shown behavior can happen if there is no SARA RAM present.
  7. For convenience here's the link to the DASM SVN folder that contains macro.h and vcs.h. https://sourceforge.net/p/dasm-dillon/code/HEAD/tree/trunk/machines/atari2600/ The D.K. VCS source does not contain the original macro.h anymore. Some of its functions are available in libvcs.asm. libvcs.asm mostly is focused on fast prototyping. Generating a minimal kernel with it can look like this: ; ******************************************************************** ; ; libvcs.asm Demo ; ; Andreas Dietrich 10/3/2018 ; ; ******************************************************************** PROCESSOR 6502 INCLUDE vcs.h INCLUDE libvcs.asm ORG ROMStart ; ******************************************************************** Start: RESET ; initialize RAM and registers ; -------------------------------------------------------------------- VSync: VERTICAL_SYNC ; produce sync signal and set timer ; -------------------------------------------------------------------- VBlank: lda INTIM ; wait for end of vblank area bne VBlank ; -------------------------------------------------------------------- Kernel: sta WSYNC ; wait for next line sta VBLANK ; and turn off vblank (A=0) ldy #192 ; draw colored lines DisplayLoop: sty WSYNC sty COLUBK dey bne DisplayLoop ; -------------------------------------------------------------------- Overscan: OVERSCAN ; overscan on, clear channels, set timer OverscanEnd: lda INTIM ; wait for end of overscan bne OverscanEnd jmp VSync ; ******************************************************************** ROMStart = $F000 ROMSize = $0800 ORG ROMStart + ROMSize - 3*2 NMI: WORD ROMStart Reset: WORD ROMStart IRQ: WORD ROMStart Unfortunately, libvcs is poorly documented. Some day when I find the time, I'll make some tutorials. LibVCSDemo.bin LibVCSDemo.zip
  8. David Crane's iphone app had a nice description of the 48 pixel kernel. Unfortunately, it's not on the app store anymore, but you can see some pictures here: http://atariage.com/forums/topic/198577-im-having-a-problem-moving-objects-horizontaly/?do=findComment&comment=2531796 I do not think there is a timing difference for GRP writes depending on the TIA, just the late HMOVEs can have different results on the junior.
  9. For those who are interested, I have released the source code of the game. You can find it in the 2600 programming forum http://atariage.com/forums/topic/276212-dk-vcs-source/?do=findComment&comment=3977381 Have Fun!
  10. To celebrate the first anniversary of the 1.0 release of D.K. VCS, I am happy to now release the game source code. It can be downloaded from: https://drive.google.com/open?id=1A8iAZLsCDOo5TAs1a0FQ0TnQRpNt21xw Please note that this is a complete archive of the project. It not only contains the assembly code, it also includes a lot of other stuff that was used during development. For example, there’s a GarageBand project, which was created to help arranging the music. Building You should be able to build the binary on the command line with DASM with: dasm dk.asm -odk.bin -f3 Alternatively, on Linux and Mac (or Cygwin on Windows) you can run the included makefile. You just have to edit the paths at the top of the file. It should be noted that the makefile also compiles the tool that generates the boot message. So you will have to have gcc or another C++ compiler installed. Using the makefile you can just run: make or to generate both PAL and NTSC binaries: make release There’s also a special target which generates a cartridge version. The cartridge version differs in a way that it can contain a special message in the unused ROM space that overlaps the SARA RAM. In order to build it, type: make cart Source The source consists of dk.asm as main file, while bank_0.asm to bank_7.asm generate the code for the eight 4K banks. Also, there are a number of includes such as the color conversion tables and the font. One thing that might be useful is libvcs.asm. It is a collection of functions that are frequently used in my projects and have thus been folded into a separate library. There’s a wide variety of functions, including display handling, memory operations, sprite kernels and positioning code, score routines, a RNG, a sound FX player, and a music player. All routines can either be inserted as inline code, e.g., VERTICAL_SYNC or as subroutines FUNC_VerticalSync You can see how these are included and called in the DK code. A simple example is the standalone title which can be found in Title/dk.asm. Have Fun!
  11. I've had some free time to go through my final checklist: Not much had to be changed, there are only a couple of minor fixes compared to the latest release candidate RC3. The boot screen message is delayed for half a second to give CRTs time to sync. PAL colors for the title rainbow effect have been slightly altered. ADSR sound curves of the intermission tune have been improved a little (should avoid some clicking noises). Fixed a bug where Mario would accidentally jump at the start of a stage. And with that I am happy to present the first "official" release 1.0 D.K.VCS_1.0_170304_NTSC.bin D.K.VCS_1.0_170304_PAL60.bin So, I guess that's it. In case further bugs are found, I'm still going to do service releases. Also a Pauline version is planned. Other than that I'm moving on to new projects. I've been talking to Al about a cart release, but that's all that can be said at this point. Of course all this would not have been possible without the help and support of many people. Particularly, I would like to thank LS_Dracon for coming up with the initial inspiration and many suggestions that lead to making this game. Also, I'd like to thank Omegamatrix, tep392, Thomas Jentzsch, iesposta, Kosmic Stardust, raindog, roland p, cd-w, PacManPlus, roryjr, pac_man_fan, MeneerJansen, Turbo-Torch, VectorGamer, Random Terrain, save2600, KAZ, and Arenafoot for all their help. Last but not not least many thanks to stephena for Stella, and Albert for AtariAge. See you in the next game!
  12. Tested 1.1 with a Philips 27" PAL TV (warmed up) and a PAL Jr. NTSC: 30, 215, 17 PAL : 34, 264, 24 In PAL mode I can get as high as 299 before the screen starts to roll.
  • Create New...