|
Hello Octojam fans and Chip-8 aficionados. Or similar, anyway... It is my great pleasure to present to you a new feature for this year's Octojam. As you may have read in the What's New This Year section, last year compatible classic Chip8 games were shown running on real 1970s hardware, thanks to Doug Crawford, a retrocomputing hobbyist who happens to own a COSMAC VIP and is also a good sport! This year, we have taken a giant leap into the future to expand our hardware support... The year is 1991. The graphing calculator has emerged as the platform for idle minds to express themselves. People still use newsgroups to exchange ideas and information. The HP-48 calculator has made itself known as one of the popular devices of the era. Yadda yadda yadda. Superchip: This year, InternetJanitor and I have conspired to obtain an HP-48. You may remember years past that there was some conversation about superchip - we didn't really know much about how it performed on hardware, how fast it might be able to run, how it really worked. This year, all that has changed. Several months ago I obtained a lovely example of an HP-48S - the first (and cheapest & slowest) HP-48 calculator created, in about 1991. Around this same time, Andreas Gustafsson created a Chip8 interpreter for the calculator (called Chip-48) - this was a standard Chip-8 interpreter. Subsequently Erik Bryntse expanded this program and created Super-Chip, initially released as version 1.0 and later a version 1.1. The spec that you and everyone else are familiar with is that for 1.1, which added the scrolling operations as well as speeding things up quite a lot. Since then we've discovered quite a lot that we didn't know about superchip. I've tried to document everything I've learnt about it over on github here. This year, I'll be supporting the jam by running any superchip compatible games on my HP-48, and so it's important to work out what compatibility really means. Kinda as a hobby, I have been working on modifying the superchip 1.1 binary for the calculator to create a version with far fewer quirks, so that more programs can be run on it (especially those from previous Octojams) - I've called this version Superchip C. At current, I have the following available to me: Chip-48 (c48), Superchip 1.0 (sc10), Superchip 1.1 (schip) and Superchip C (schpc), and they display the following quirks. For most intents and purposes, Chip-48 and Superchip 1.0 behave identically, excepting that sc10 has all superchip instructions except for the scrolling operations. Please pay attention to bolded sections.
Superchip 1.1 expresses the following quirks:
Superchip C (currently) expresses the following quirks:
If you make a game using superchip or below instructions this Octojam, I should be able to show it running on the HP-48. You'll get bonus points from me if you opt to support either of the original Superchip 1.1 or 1.0 binaries from 1991 - you'll need to enable the relevant quirk modes in Octo, or if you have enough space in your rom, we can work out how to make it compatible. You'll get even more bonus points if you manage to make a game that works with the more unusual quirks, perhaps even try to make use of them. You'll get even MORE bonus points if you manage to find something else that is broken in Superchip that I so far have not! I hang out on the #sagamedev IRC and am on the sagamedev Slack server as Chromatophore, if you want to double check compatibility at any point during the jam or just get more information about what I've been up to. There is a lot of information on my github about the individual quirks and how they were discovered, and how I worked out how to fix them for Superchip C, but I'm more than happy to talk about them and anything else I've discovered if anyone wants to know about them. I'll be posting more here about my setup and what I've learnt, more than likely. I talked a little about not knowing how fast schip is earlier, but didn't expound on it. Thanks to taqueso's earlier posts and creativity, we actually have a benchmarking tool for Chip8. I took this and slightly modified it to work on the HP-48. There is a possibility I have upset it's calculations somehow, so I'm going to run the original version with Superchip C later, but as of right now, ballpark speed figures for superchip are 0.8kOps in lores mode, and 1.3kOps in hires mode. This is the rough equivalent of 14 cycles/frame and 20 cycles/frame respectively. However, on real hardware, graphical operations are the slowest operations you can perform (this applies to the VIP too), and CMark77 is entirely graphical - it would be a little helpful if we had a more computationally oriented benchmark to compare with as well, as most likely the calculator is running faster than the figures above: for example, my superchip game from last year, Octopeg, is quite playable and feels like it's running at around 30 cycles/frame. There is also another version of this calculator, the HP-48G/HP-48GX and HP-48G+ - these calculators have a CPU that is twice as fast as the 48S, but are not contemporary with when Superchip was written - they're only about 2-3 years newer though so it isn't unreasonable. We're currently not sure how much faster superchip would actually run on those devices. Hopefully this information is helpful to you when designing your games.
|
# ¿ Oct 3, 2016 00:56 |
|
|
# ¿ May 10, 2024 01:42 |
|
Well done everyone who managed to get their submission together, especially in the small hours of last night! There's some really great looking games this year! Here's a quick inventory based on a rough examination of the submissions: 1970s era (COSMAC): Chipquarium - aquarium simulator Ghost Escape - Army alignment simulator, great story. Fuse - Keep the fuse burning by adding more (Apparently a pipe dream clone) 8ce 8ttorney - Phoenix Wright style game, has a 2nd and 3rd disk Shooth3rd - Shot targeting puzzle game. Creator also apparently has access to a COSMAC VIP. MasterMind - "A solid implementation of mastermind" Monty Hall - a cute demonstration of the Monty Hall Problem. (outside system spec:) Planet of the 8s - side scroller where you dodge 8s. Has a high cycle speed but might be ok. Hedgehog the Drug Dog - drug sniffing pattern matching game. Has a high cycle speed but might be ok. Snake - an unfinished snake game, has a really high cycle speed. 1990s era (SUPERCHIP): Black Rainbow - classy SCHIP roguelike. Sens8tion - an SCHIP gun kata game. (outside system spec:) Knight - Chivalry simulator. Binding of COSMAC: Octoberth - An Isaac clone 20XX era (XO CHIP): OctoCrawl - a roguelike game with a massive amount of code and content. Really looking forward to a Post Mortem on this one. Kesha Was Biird - Holy poo poo, we have a sequel to Kesha Was Bird - a Little Awful Jam game from earlier this year. (These guys obfuscate their roms so no source code to review here) Skyward - a gorgeous and comfortable to play vertical platformer. jub8 - A terrifying rhythm game, with additional links/disks for additional songs. (OctoRoads - a game that missed the deadline but was shared on IRC.) Hopefully this list is helpful in some way, Superchip wasn't a popular target this year, I think I'm going to be going through the Octo back catalogue and show some of the previous years' games.
|
# ¿ Nov 1, 2016 20:18 |
|
Greetings fellow Octonauts! With Octojam 4 just around the corner, I feel now is a good time to post this as I'll be on holiday! After last year's implausibly successful SuperChip ShowCase, the HP48 calculator will be returning to run your SCHIP and computationally demanding CHIP8 games on real hardware. This year, our range of calculators has expanded from 1 to 2, now including the mighty HP48-GX, which packs twice the CPU power of the HP48-S calculator we used last year. This increase in power is held back a little by sharing the same RAM frequency, but still translates to around a 50% boost in speed in the SCHIP interpreter on the G series calculators, the details of which can be found here, however the crux of it is as follows: As you may know, unlike in Octo, on both the COSMAC VIP and the HP48 SCHIP platforms, some instructions just take longer than others. The worst offender that you're likely to be doing a lot of in a main loop is the sprite command. The more weighted towards or away from graphics your game is, the slower or faster you can expect it to run. Here is an advisory as to the speeds you might want to set Octo on to get an idea of how things will run on the GX calculator (You may need to provide a custom GIST)
As before, I have all the period interpreters that will run programs as per the relevant quirks modes Octo has (and other issues) as well as SCHPC, which more closely mirros the COSMAC, and thus Octo's quirkless behavior which should be able to run anything if the quirks are getting you down. If you have any questions and hope to make a game that will run on hardware, I'm on the SA GameDev Discord and IRC, and am always happy to answer questions or offer any help, about SCHIP or anything CHIP8 related really. I've made quite a lot of notes on the oddities of SCHIP, and compiled them here and the full list of key notes can be found in my post from last year here, the most germane of which are reproduced (and augmented) here: Superchip 1.1 expresses the following quirks:
|
# ¿ Sep 25, 2017 06:40 |