Jump to content


New Members
  • Content Count

  • Joined

  • Last visited

Community Reputation

23 Excellent

1 Follower

About hxlnt

  • Rank
    Space Invader

Profile Information

  • Gender
  • Currently Playing
    Mario Kart 8 (Wii U), Picky Pop (iOS)

Recent Profile Visitors

2,222 profile views
  1. Sorry, to help with what? Not sure I understand.
  2. Very cool! I love the idea of an Astrocade port of Bad Apple. Regarding the color conversion, the script converts the image to a static color palette of eight colors: red, magenta, blue, cyan, green, yellow, black, and white. This works well for full-color images but will miss grays on grayscale images. I could probably add some kind of grayscale detection to the script someday, but in the meantime, a quick hack would be to recolor your gray pixels to, for example, red (#FF0000) and green (#00FF00) in an image editor. Then you can tweak the palette in the .asm back to grays. On the other hand, you could probably do some nice compression on the Bad Apple graphic data if it's only two-color, as you'd only need one bit per pixel to represent it...
  3. OK, I got a laptop charger and pushed the correct version to GitHub. Please see the updated script at https://github.com/hxlnt/astrocade/tree/master/tools/astroimg. (You'll notice that it says the file was last updated 3 days ago, but it is indeed the new version. It's just showing the "last edited" date, which was indeed 3 days ago.) I just checked this on my Windows 10 PC, and the code compiles straight away with no need to edit anything. Famous last words, but it SHOULD be fixed now. Looking forward to seeing some more Robotech goodness... EDIT: You will probably get best results by hand-tweaking and downsampling the colors in the image in advance, as you did, but it is not necessary. You can give it a full-color image, too. Add --dither at the end to dither the image. I tested JPG, PNG, and even PSD! They all worked. Sometimes the results of passing in a full-color image are kinda bad. But sometimes they are pretty cool. It's fun to experiment with different methods.
  4. I know exactly why you're having this issue. It's because I uploaded an old version of my code. (Source control is great if you REMEMBER. TO. USE. IT. Argggh!) The laptop with the final version has a dead battery, and someone has my charger, so it might be a day or so before I can upload the corrected version of the script. The reason that the ROM exiting quickly is that it can't write all 4,080 bytes that are in the graphics file. I believe the final version of the code comments out the last 40 bytes of graphics, sets VBLANK to the 101st line instead of 102nd, and MOVEs 101 lines of pixel data instead of 102. You can try altering your .asm and .gfx files accordingly if you like, but there may be other fixes that I can't remember off the top of my head. Sheesh, rookie mistake uploading the unfinished code. (That "wb" and PRGNAME string fix is part of the final version, too.) Haha. Oh, well--it happens to the best of us! Will post here when I get my laptop powered on again and upload the final version.
  5. Wow, good to know. I do have a mostly-functioning Astrocade, but I wasn't able to load the Color Organ .WAV into Bally BASIC, which I now think is due to the .WAV being non-KCS. I thought the PRG of Color Organ might be more like a cartridge ROM, but it is in fact just the BASIC data, so loading it into my flash cart won't work, either. The third option is to type the hundred or so lines straight into Bally BASIC (assuming the flavors of BASIC are compatible). It's doable, but my controllers are a bit finicky. (I think the controller chip inside my Astrocade is semi-busted, because there is often interference between Player 1 and Player 2 input. Makes two-player games extra... interesting.) Is there another option I'm not thinking of? I would love to see a video of this software, but not at the expense of you typing it in manually. Haha, please, think of your fingertips~!
  6. Oh my god, 80s Robotech!! YES!! <3 You are most certainly not doing anything wrong. In fact, kudos for giving it a shot while it's still a work in progress! It's hard to find beta testers for niche software for niche hardware. Haha... In the future, if you have `pip` (Python's package manager, which often installs alongside Python), you can run `pip install -r requirements.txt` from within the directory, and it will install all the necessary packages such as PIL. You can check if you have pip installed by typing `pip --version` and seeing if a version number comes up. `pip install -r requirements.txt` is a common pattern for setting up Python script dependencies--just a tip if you come across a requirements.txt file in the future! I'll be sure to add that to the forthcoming readme. Anyway, I think I tracked down the issue you were having with the script... not your fault at all. I may have forgotten to push a change after testing on my PC. On lines 340 and 397 of astroimg, try changing the "wb" to "w", then save the file and retry the script. If that works, I'll make the corresponding change in the GitHub repo. Regarding your previous question about image size, the script squishes everything to 160 x 102 regardless of the size of the input image. So for best results, you should start with an image that has the right aspect ratio (eg., 1600 x 1020, 800 x 510, and so on). The generated .gfx will comment out the last line, and VBLANK fires at line 101. OK, let me know if that does or doesn't work for you! I have tried to test in lots of different versions of Python and on different platforms, but Python seems to behave differently on each. (And I'm fairly new to the language myself.) Thanks, Adam!
  7. Ah, yes--I went back through some of the documentation I saved and saw that it was meant to be used with an "L&M Software Interface Unit." Maybe a Bally BASIC dupe with a stereo audio in? I wonder if that hardware was ever even created. I am especially curious about Color Organ. I've never seen video of it. I'll see if I can get it running somehow...
  8. I coincidentally cracked open the WAV file for the Color Organ cassette today. Although Color Organ is 300-baud Bally BASIC compatible, it doesn't look like 300-baud KCS to me. For instance, the Color Organ signal is AM rather than FM. I'm working on decoding it now and seeing if it maps to some other existing protocol.
  9. Just wanted to throw in some updates on Astrocade dev tools I've been working on... I've released the first version of astroimg, a little Python script that takes any image and converts it to ready-to-compile Astrocade source code. The script actually produces two files--the ROM itself, which simply displays the graphic, and a separate .gfx file that contains the raw graphic data. One cool feature is that it optimizes for the Astrocade's 8-color palette by determining the best place to position the horizontal color boundary, creating separate palettes for each half of the image, then putting that boundary and palette into the resulting ROM. Here's an example: This image isn't the best, in part because I used a webcam photo with poor lighting and a messy studio behind me. And in the real world, you would probably choose a softer color palette than the bright red and magenta shown here. But hopefully you get the idea. You can also dither the image by passing in a --dither flag at the command line. If you're comfortable running Python scripts without an accompanying instruction guide, you can grab the tool at https://github.com/hxlnt/astrocade/tree/master/tools/astroimg. The code works OK, but it's in serious need of some refactoring, so that's what's next for me. I wrote it all in about 2 nights, so it definitely looks like frenzied-girl-at-a-hackathon code. I may also try to do some smart resizing/cropping, as right now the script just squashes everything to 160x102 regardless of the image's original aspect ratio. I'd like to eventually make astroimg interoperable with my astropaint tool so that you can convert an image, upload it into astropaint, and tweak it by hand. Instead of doing that useful work this weekend, I used astropaint to sketch out an adventure game title screen instead... Additionally, I posted another demo on GitHub. You may recognize it as a shameless ripoff of tribute to the COLOR PICK demo, but refactored to dynamically adjust the horizontal color boundary. I've been thinking about making a music composition tool next. Or a Bally BASIC WAV generator. (Does such a thing exist already?) OK, that's all for now. Let me know if you end up finding any of this stuff useful!
  10. You kind of read my mind with that 3D-printed case link! It never occurred to me to check Thingiverse for an existing model... how cool! I love the pink and white shell combo, too. In case anyones curious, I cut the hole in the Astrocade cart with a regular old X-Acto knife. I was originally going to use it just to score the cart before going in with a Dremel, but the plastic was so soft that I decided to give it a few passes with the X-Acto. It worked great, and the cuts ended up being much straighter than what I could have done freehand with a Dremel. (It was a little sad to deface a real cartridge, but I think it was OK to do one in the name of science.) I looked a bit at other flashcarts but havent investigated compatibility between those and the Astrocart yet.
  11. Since I started getting into Astrocade homebrew dev, I've been thinking about making a little dev cart so I can test my ROMs on real hardware. Well, a few months later, here's the result: Astrocart! It supports a 512KB flash ROM chip, which is bankswitchable with the switches at the left. It's also socketed so you can easily pull it out, reburn, and reseat as needed. As for the magic... well, I believe that beautiful electronics are pleasant to use and share with friends. I designed the board with a galaxy of gold and white stars to help make homebrew development all the more fun and magical. Many thanks are owed to my friend @batslyadams, who did a fantastic job with all PCB routing and general Eagle wizardry. As of right now, this is the only fully assembled Astrocart in existence, but, y'know, maybe more to come.
  12. This is amazing. Great work capturing all of this.
  13. i just pushed a quick fix that should get it partially working on safari and firefox now. you can click to draw, but you can't click and drag to draw just yet. use this link going forward; the old one was just good for that specific build. oops. https://rawgit.com/hxlnt/astrocade/master/tools/astropaint/index.html i'll try to finish up the fix this week. thanks again for the heads up! it might also be good to zoom out on the page a bit (Ctrl + -) until I can put in a fix the scaling issue.
  14. whoooaaa, very strange! but thanks for the feedback--obviously i should work on fixing that! i've tested the app in chrome on mac osx and in chrome and edge on windows 10. i just pulled it up on safari, and i'm seeing the "not able to draw" issue in mac osx as well. i'll try to push out a fix for that soon.
  15. I'm also throwing Astrocade dev stuff on Github at https://github.com/hxlnt/astrocade. There, you'll find a few things I've made: Demos (compiled and source). Compile and launch batch script. Astropaint, a browser-based tool for drawing Astrocade screens. It outputs a .gfx Z80 file that can be INCLUDEd in your source. Demo it here. Here's an example of something I made with Astropaint. As you can see, it incorporates the Astrocade color palette and movable color boundary. If anyone ends up using anything here, let me know!
  • Create New...