Jump to content

TheMole

Members
  • Posts

    1,103
  • Joined

  • Last visited

  • Days Won

    2

TheMole last won the day on March 17

TheMole had the most liked content!

1 Follower

About TheMole

  • Birthday 09/11/1979

Profile Information

  • Gender
    Male
  • Location
    Belgium

Recent Profile Visitors

9,753 profile views

TheMole's Achievements

Stargunner

Stargunner (7/9)

1.4k

Reputation

  1. No no, not at all... See the screenshots above (thanks retrodroid), it shows the difference in rendering between the tms9918a (left) and the F18A (right). If you happen to have the F18A, you get all of the fancy extras, but even on the tms9918a you will get the smooth scrolling and (mostly) multicolor sprites.
  2. Yes, there's a tiny GPU program that triggers every scanline and applies two sine waves: one for the bigger "wavy" effect, and once with a higher frequency for the smaller "shimmer" effect. C code looks like this: // Define VRAM memory locations we want to read/write volatile unsigned char* vdp_reg = (volatile unsigned char*)0x6000; #define scanline_cnt *((volatile unsigned char*)0x7000) // Sinus lookup table const char sintab[] = { 0x08,0x08,0x08,0x09,0x09,0x09,0x09,0x09,0x0a,0x0a, 0x0a,0x0a,0x0a,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0c, 0x0c,0x0c,0x0c,0x0c,0x0c,0x0d,0x0d,0x0d,0x0d,0x0d, 0x0d,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0f, 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x0f, 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, 0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0d,0x0d, 0x0d,0x0d,0x0d,0x0d,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c, 0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x0a, 0x0a,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x08,0x08, 0x08,0x07,0x07,0x07,0x07,0x07,0x06,0x06,0x06,0x06, 0x06,0x05,0x05,0x05,0x05,0x05,0x05,0x04,0x04,0x04, 0x04,0x04,0x04,0x03,0x03,0x03,0x03,0x03,0x03,0x02, 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x01,0x01,0x01, 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01, 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x02,0x02, 0x02,0x02,0x02,0x02,0x02,0x02,0x03,0x03,0x03,0x03, 0x03,0x03,0x04,0x04,0x04,0x04,0x04,0x04,0x05,0x05, 0x05,0x05,0x05,0x05,0x06,0x06,0x06,0x06,0x06,0x07, 0x07,0x07,0x07,0x07,0x08,0x08 }; int _start() { __asm__("li r15, 0x47fe\n"); // Set stack pointer unsigned char cnt = 0; // Frame counter unsigned char offset; // Shimmer offset unsigned char scroll_pos = 0; while(1) { offset = sintab[(((scanline_cnt) + cnt) * 8) & 0xff] >> 3; // Calculate shimmer effect if (scanline_cnt & 0x01) // Apply positive or negative shimmer vdp_reg[27] = scroll_pos + offset; // depending on odd/even lines else vdp_reg[27] = scroll_pos - offset; vdp_reg[27] += (sintab[((scanline_cnt) + cnt) & 0xff] - 8) >> 1;// Apply wave effect on top if (scanline_cnt == 192) // Increase frame counter cnt++; __asm__("idle\n"); // Halt GPU (until next HBLANK interrupt) } return 0; // never reached }
  3. While I'm waiting on the final feedback on Ghostbusters, I picked up Alex Kidd again. Decided to add a bit of variety and, after ice levels, added support for that other platform game cliché: underwater levels . I need to rework the sprites a bit (the fish aren't supposed to be transparent, and I'm not 100% happy with Alex's animations yet), but I've been mostly focused on the swimming physics and integrating that in the rest of the game engine. I also optimized the 9918 version to support more enemies per level (it started skipping frames with the 12 enemies in this level), and we're back within the 1/60th of a second window now. I've also spent a lot of time working on the tools that allow me to more easily create levels, which are shaping up nicely. With a bit of luck, I can knock out a few levels over the next couple of weeks/months and have the game finished sometime this year. The title screen says 2015, which I guess is when I started working on this, so with a bit of luck I can avoid this thing being "under development" for a full decade...
  4. I simple write a value to >a000 and read it back. If it has changed, the 32k expansion is not present. Seems to work well.
  5. Approach is the only one I had to purchase. Nimbus is free, I already had Century Old on my mac for some reason, and I found a free version of Rubicon somewhere which came with an appropriate license. But yeah, Approach was quite expensive for a font... Still struggling with one thing here: I found @OLD CS1's old style manual template, but if I check the dimensions in that file, I get something closer to 140mm in width instead of the 160mm I get from the box scans. Are the manuals not supposed to be roughly the same size?
  6. I used What The Font to find the closest matches. For the Texas Instruments logo font, I've ended up using a high resolution version of the current logo and fixing the font spacing to match the older style. The closest font I could find was Rubicon by AKTF, but the capital 'M' is way off. I did use that one for the "incorporated" part. The big "Applications Software" text is done with Approach Extra Black Italic, although the lower case 'a' is not 100% correct. The serif font for the small text is done with Century Old Style Regular. The capital 'J' is wrong... The sans serif header font is Nimbus Sans L in a variety of weights, sometimes italic. That one seems to be very close, but it's actually a modern-ish open source font, so can't be what they actually used back in the day As for spacing and kerning, it was all over the place. I just went in section by section and overlayed the font, played around with the spacing, size, etc... until I got as close to a perfect match as I could. For certain fonts I had to go in afterwards and manually adjust letter spacing...
  7. Still tweaking Ghostbusters a bit, so consider it in the "Release Candidate" stage. I'll do a post in the main forum when I'm comfortable calling it final, feel free to add that version to the Gameshelf once its released of you want!
  8. Okay, I replicated the box in GIMP. Man, those designers back in the day used a lot of ever-so-slightly-different fonts! I didn't manage to find 100% exact matches for each font, but I think I got pretty close. I probably should've done this in Inkscape instead of GIMP though... ah well... It's definitely high resolution enough to result in some nice prints. Again, big thanks Rick for scanning the original! I made a tan and a pure white version (not sure what color the boxes originally were). The .xcf file attached has both, as well as a "assembled" version of the original scans for those that are interested. box_full.xcf
  9. Thanks, Rick! This looks workable, I'll try to put something together and share back here. *edit* using the measuring tool in Gimp, I get a width of ~160mm, does that sound reasonable?
  10. For the trays I was thinking about using cardstock (or light cardboard), plastic isn't really appropriate anymore these days and I doubt I'd find an economic way of having that manufactured. The diecut for that will likely be fairly complex, so if I can't find a digital printing house that is able to make that for me, I might invest in a small laser cutter. I reckon I might be able to recreate the box art from high quality photos and some accurate measurements as well.
  11. Does anyone have high resolution scans of the classic TI cartridge packaging? Like the one seen in the image below on the left: I'm looking at making repros of these, so the exact dimensions would be great as well.
  12. Indeed, good point! Thanks. I've added it and it seems to work (at least when I'm syncing to VBLANK, still no QUIT when playing back samples or loading data of course...) Still looking at the endless loop bug, so no new build yet. Hopefully soon!
  13. You know, I've heard this from other people as well. It's easy to do, but on my system it actually sounds really balanced. I'll check it on my other systems when back in Europe to see if there's a difference from system to system, or if it's just preference.
×
×
  • Create New...