Jump to content


New Members
  • Content Count

  • Joined

  • Last visited

Community Reputation

13 Good

About orbitaldecay

  • Rank
    Space Invader

Recent Profile Visitors

1,095 profile views
  1. Yes! I was so happy when I read this in the ycombinator thread:
  2. I will certainly be happy to share the code I have written once it is released, and I'm sure Asmusr will be too. So you can expect to read up on some new tricks once we have this thing out in the wild
  3. The site cannot be accessed without an invitation. The unspoken demoscene rule is to remain quiet about what we're working on until it is finished for maximum wow factor Code is being actively developed at this time and I don't want it distributed (yet). But you can expect some screen shots to get posted here as progress is made.
  4. Pretty much all discussion of this project has moved over to the (very active) slack page at https://ti-994megademo.slack.com. If you're interested in contributing art, music, or code then shoot me an e-mail at [email protected] and I'll get you hooked up with a login.
  5. For anyone else who may be wondering, I was making two mistakes: 1. I was using a PSGMOD file when I should have been using an EPSGMOD file (there is a difference) 2. VDP register one didn't have interrupts enabled!
  6. Thanks for the clarification, Tursi. I also managed to get better results with the Lena pic by tweaking the Luma and turning on the histogram. Yeah, that's pretty good thinking. Right now I'm toying with keeping the control code and various common routines in lower 8k (like the music player -- there is also plenty of space leftover for character sets and what not) and then keeping the currently playing song in the upper 24k. This will make it easy to have one song play over multiple screens (and it's pretty much the only place a song will fit contiguously). Depending on the song, there will probably be some memory leftover for various screens to tinker with. Edit: Also, Tursi, any clue why the following code isn't working when I have a psgmod 2.04 example song loaded at >A000? LI R0,>A000 BL @SGPLAY SPIN LIMI 2 LIMI 0 JMP SPIN
  7. @Lee: Thanks for posting your example. That way is nice because it doesn't require any assembler specific directives. @Asmusr that's more along the lines of what I was looking for. Too bad it isn't supported in more assemblers.
  8. Hey Lee, thanks for your response. I am quite interested in your method for loading coding into RAM from the cartridge and jumping to it. How do you set the origin of the labels appropriately without using AORG or something similar?
  9. This question is specifically about cartridge development using assembly language. I have noticed with all of the assemblers that I've used, it is necessary to set AORG >6000 at the begining of the file to produce any output (otherwise the resulting binary file is filled with zeros). If I set the origin to >6000 at the begining of the file, then copy some code (say to >2000) and attempt to set AORG >2000 later, the subsequent symbols have the proper values, but the output past the second AORG is all zeros! Does anyone know why this is, or how I can achieve what I am attempting to achieve? If it helps, I'm currently using xa99 for assembling and l99 for linking. Thanks! Edit: I have also tried RORG and DORG, though I admittedly don't really understand what these are supposed to do
  10. Oh duh, great idea. This solves so many of the problems I was thinking about. It's pretty likely that the entirety of the code will fit in the 32K expansion and we can just do bank switching to access the data that's necessary at any given point. I'll start working on some code to do that.
  11. Thank you again. Is any of this documented anywhere other than the classic99 source code? Neither changing C to 8, nor changing C to 8 and padding the file up to 32K seem to work (in both cases I don't even get a menu option) Edit: Also tried [usercart0] ; *** Lena name="Lena" rom0=8|6000|2000|mods\lenac.bin rom1=8|6000|2000|mods\lenad.bin rom2=8|6000|2000|mods\lenae.bin with inverted and non-inverted bank switching to no avail. Edit x2: Nevermind. It appears I made a mistake. The magic words to get the rom running in classic99 are: copy /b .\src\bin\lenac.bin+.\src\bin\lenad.bin+.\src\bin\lenae.bin+.\src\bin\lenae.bin .\lena8.bin and load lena8.bin with Catridge -> User -> Open. Notice lenae.bin is added twice to pad up to 32K. Thank you again for your help! Onto the more interesting question: what are your thoughts on the build system and banking code?
  12. Thanks for your help. When I do copy /b .\src\bin\lenac.bin+.\src\bin\lenad.bin+.\src\bin\lenae.bin .\lena8.bin and loading lena8.bin with Cartridge -> User -> Open, the option doesn't even show up on the menu. When I add [usercart0] ; *** Lena name="Lena" rom0=C|6000|6000|mods\lena8.bin to the INI, then clearing >6000, >6002, or >6004 switches to bank 0. :/
  13. Ok, I am loading a cartridge with the Cartridge -> User -> Open dialog. It sounds like that's the default behavior of classic99 and I probably need to modify the ini for it to do something else. I'll read into this and report back for anyone who is wondering. Edit: I RTFM and dropping the .bin files in the MODS directory and adding the following lines to my INI file does something strange: [usercart0] ; *** Lena name="Lena" rom0=C|6000|2000|mods\lenac.bin rom1=C|6000|2000|mods\lenad.bin rom2=C|6000|2000|mods\lenae.bin Clearing >6000, >6002, or >6004 switches to rom2! Tursi, help!
  14. Nice to see you here, Ramon. I am working on getting together a toolchain for building a (up to) 64 bank cartridge. Obviously running Asm994a 64 times is not how we want to build this thing while we're developing it. Currently I'm using xa99 and l99 in a batch script. Attached is what I have so far (just unzip and run make.bat; the .bin files show up in \src\bin). I'm interested in hearing feedback on how I have setup the bank switching mechanism and the build scripts (particularly from people who might be interested in contributing to this). There is a file (MAIN.A99) that gets COPYed into the begining of each bank which contains a NBANK (next bank) function, which will switch to the next bank when called and jump to the end of the common header (stuff in MAIN.A99). Also, there is apparently something I am not understanding about the default bank switching on classic99. When I clear >6000, it switches to bank 0 (in this case LENAC.BIN). When I clear >6002, it switches to bank 1 (in this case LENAD.BIN), but when I clear >6004, it switches to bank 0 again! Why doesn't it switch to bank 2 (i.e. LENAE.BIN)? Do I simply need to modify the .ini to get this to work properly? I am sure there are many bank switching mechanisms in use. Any good links for reading more on this? Lena.zip
  15. Thanks for the tips.. I'm by no means proficient with the software
  • Create New...