jfaulken Posted January 9, 2022 Share Posted January 9, 2022 Yeah, count me in as well! Are you doing any kind of sign-up sheet? 1 Quote Link to comment Share on other sites More sharing options...
Odysseus Posted January 9, 2022 Share Posted January 9, 2022 I’d you so end up doing a sign up count me in too 1 Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted January 9, 2022 Share Posted January 9, 2022 I want one! 1 Quote Link to comment Share on other sites More sharing options...
+5-11under Posted January 9, 2022 Author Share Posted January 9, 2022 8 hours ago, jfaulken said: Are you doing any kind of sign-up sheet? I'm not sure. Definitely not before everything is figured out. 1 Quote Link to comment Share on other sites More sharing options...
derSammler Posted January 10, 2022 Share Posted January 10, 2022 Very nice. I wish the guy who did the Tetris port had shown similar passion to create real carts from it. ? Quote Link to comment Share on other sites More sharing options...
+jgkspsx Posted January 10, 2022 Share Posted January 10, 2022 Making physical stuff is hard and this is harder than most! 1 Quote Link to comment Share on other sites More sharing options...
+5-11under Posted January 10, 2022 Author Share Posted January 10, 2022 5 hours ago, derSammler said: Very nice. I wish the guy who did the Tetris port had shown similar passion to create real carts from it. ? I think all the games so far used the original microcontroller families, which makes it difficult to make a bunch of them. I'm using an Atmega328(P?), and programming it using the Arduino software (without the Arduino bootstrap which adds delay at start). Less pure from a 1979-1980 point of view, and not able to emulate using existing software, but easier to source parts. 7 minutes ago, jgkspsx said: Making physical stuff is hard and this is harder than most! Yes, and usually fun. At least the first one. We'll know hopefully in a week or two if the shells reproduction is successful. 1 1 Quote Link to comment Share on other sites More sharing options...
derSammler Posted January 10, 2022 Share Posted January 10, 2022 (edited) 18 minutes ago, jgkspsx said: Making physical stuff is hard and this is harder than most! Not doubting this. That's why I used the word "passion". 12 minutes ago, 5-11under said: I think all the games so far used the original microcontroller families, which makes it difficult to make a bunch of them. I'm using an Atmega328(P?), and programming it using the Arduino software (without the Arduino bootstrap which adds delay at start). The Tetris port used a modern microcontroller as well but was later back-ported to the original CPU (mainly so people can use it with emulators). Edited January 10, 2022 by derSammler 3 Quote Link to comment Share on other sites More sharing options...
+5-11under Posted January 11, 2022 Author Share Posted January 11, 2022 23 hours ago, derSammler said: The Tetris port used a modern microcontroller as well but was later back-ported to the original CPU (mainly so people can use it with emulators). Do you have any information on the modern microcontroller version? I only see the "original CPU" version. 1 Quote Link to comment Share on other sites More sharing options...
derSammler Posted January 12, 2022 Share Posted January 12, 2022 I should. Was quite a while back when I first heard about it at all. Let me check... 1 Quote Link to comment Share on other sites More sharing options...
derSammler Posted January 16, 2022 Share Posted January 16, 2022 (edited) Ok, I guess my skills in reading Russian weren't that good back then. He originally used an i8748, which is still widely available and uses EPROM, so even used chips are easy to reprogram. Not that "modern" I have to admit. He did a backport to the TMS1100, which was the CPU finally used for MV games. Edited January 16, 2022 by derSammler 1 Quote Link to comment Share on other sites More sharing options...
+5-11under Posted January 16, 2022 Author Share Posted January 16, 2022 1 hour ago, derSammler said: Ok, I guess my skills in reading Russian weren't that good back then. He originally used an i8748, which is still widely available and uses EPROM, so even used chips are easy to reprogram. Not that "modern" I have to admit. He did a backport to the TMS1100, which was the CPU finally used for MV games. No worries. 1 Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted January 16, 2022 Share Posted January 16, 2022 Tell me more about this: More interesting stuff (in Russian): https://habr.com/en/post/416865/ 1 Quote Link to comment Share on other sites More sharing options...
+5-11under Posted January 16, 2022 Author Share Posted January 16, 2022 27 minutes ago, atari2600land said: Tell me more about this: More interesting stuff (in Russian): https://habr.com/en/post/416865/ Well, it's all there. Translate to English, and read. Not too difficult to make one or more, but not trivial, either. Need a dedicated board for the game, need to get parts likely from eBay or equivalent, and need to make a programmer for this old chip (it looks like there's several programming options available). Maybe someday I'll investigate further, but first things first... . Only "problem" besides that is it's a keypad-heavy game, which isn't the Microvision's strong point (but to each their own). 2 Quote Link to comment Share on other sites More sharing options...
+jgkspsx Posted January 16, 2022 Share Posted January 16, 2022 A design with left right and drop buttons that used the spinner to rotate would be awesome. This is a little less interesting, but I would buy one if available. Playfield will also be punishingly small… 2 Quote Link to comment Share on other sites More sharing options...
+5-11under Posted January 16, 2022 Author Share Posted January 16, 2022 It's a bit too cold these days to work on making mold boxes and making molds for the shells, so instead, I've been working on a programming template. Barrage was programmed "closer to the metal", that is, outputting one row at a time, as required, just like the classic games. That worked fine for Barrage, but required a lot of effort in setting everything up. This new template has a 16 x 16 background layer, and now I'm adding a sprite layer, or more accurately a rectangle layer, so it's easy to keep track of moving blocks sized from 1x1 up to 8x4. The rectangular sprites can be used as paddles, bullets, etc. I'll also be adding features to the background creation, including line/block/dot drawing/clearing, background on/off, and number/letter drawing (3x5 for the numbers and most of the letters). For any game, the programming is of course very open, so if someone wanted to create shapes that weren't rectangular, that would be do-able, but of course would require more work. 2 Quote Link to comment Share on other sites More sharing options...
Clearvus Posted January 17, 2022 Share Posted January 17, 2022 Hi @5-11under - Hope you don't mind my inserting myself into this conversation, but I was recently out looking at random antiques and things with my wife and found someone selling unpopulated PCBs that I thought were really cool. In researching them it turned out that they are "sheets" of Microvision cartridge PCBs (see attached pictures). During my research, I found this thread and figured I should contact you to see if you're interested in these. I'm an NES homebrewer and my first thought was that if someone found and offered me a bunch of original NROM or similar Nintendo made cartridge PCBs, I'd be psyched to use them. Anyway, wanted to let you know they're out there if you're interested. Take care. 1 Quote Link to comment Share on other sites More sharing options...
+5-11under Posted January 17, 2022 Author Share Posted January 17, 2022 27 minutes ago, Clearvus said: Hi @5-11under - Hope you don't mind my inserting myself into this conversation, but I was recently out looking at random antiques and things with my wife and found someone selling unpopulated PCBs that I thought were really cool. In researching them it turned out that they are "sheets" of Microvision cartridge PCBs (see attached pictures). During my research, I found this thread and figured I should contact you to see if you're interested in these. I'm an NES homebrewer and my first thought was that if someone found and offered me a bunch of original NROM or similar Nintendo made cartridge PCBs, I'd be psyched to use them. Anyway, wanted to let you know they're out there if you're interested. Take care. Those are very interesting, but useless from a practical point of view, unless you have original-style chips to put in them. 1 Quote Link to comment Share on other sites More sharing options...
+jgkspsx Posted January 17, 2022 Share Posted January 17, 2022 1 hour ago, Clearvus said: Holy crow! Unfortunately the original chips used by the Microvision are not available in practical quantities, but those are super cool!! Quote Link to comment Share on other sites More sharing options...
+5-11under Posted January 18, 2022 Author Share Posted January 18, 2022 After shoveling snow all morning, I spent the afternoon working on the programming template, which features a background layer and a sprites layer. The sprites are all independent from each other, and they're also independent from the background layer. This is the same as the way sprites and background work on many classic consoles. Example: moving a sprite across the background does not ruin the background. I've written and tested all the current background layer routines, which include printing bitmaps of any size, printing/clearing rectangles (including horizontal/vertical lines) and dots, 3x5 numbers and letters, scrolling in any of 4 direction, and up/down rolling (like scroll, but instead of adding specific data to the trailing row/column, the data on the leading side gets transferred back). I've written the sprites routines, but I haven't tested them yet. You can have as many sprites as you want. These are limited to dots/rectangles at this point, which is probably good enough for most applications. As mentioned, the code is open, so features can be edited or added. There's a few more display features I'd like to consider, such as blinking, and gray scale using fast blinking. For the display as well as for other input/output devices, there's plenty of clean-up to do, and more work to be done on speaker output function(s). 1 Quote Link to comment Share on other sites More sharing options...
derSammler Posted January 18, 2022 Share Posted January 18, 2022 14 hours ago, 5-11under said: Those are very interesting, but useless from a practical point of view, unless you have original-style chips to put in them. Apart from that, you could also just order them from PCBWay in any amounts you need instead of relying on limited old stock. Eagle files are available. Doesn't help you with obtaining the old chips, of course. Quote Link to comment Share on other sites More sharing options...
+5-11under Posted January 18, 2022 Author Share Posted January 18, 2022 51 minutes ago, derSammler said: Apart from that, you could also just order them from PCBWay in any amounts you need instead of relying on limited old stock. Eagle files are available. Doesn't help you with obtaining the old chips, of course. Yep. These are more of a collector's item, for those who collect more than just games. Quote Link to comment Share on other sites More sharing options...
+5-11under Posted January 19, 2022 Author Share Posted January 19, 2022 I did some more work on the game-making template. I tested the sprite routines, and set up a simple sprite-to-background collision check. Here's a simple proof-of-concept game that has about 30 lines of code including start-up, gameplay, and score at finish. The collisions vs. moving vs. scrolling isn't ordered properly, and the road is calculated very simply, with variety only in left/right position. Nevertheless, it's a playable demo written in less than an hour: MV-CAR.mp4 2 1 Quote Link to comment Share on other sites More sharing options...
+5-11under Posted January 19, 2022 Author Share Posted January 19, 2022 I guess it's about 50 or so lines of code added to the template. Yes, I know it's super messy. Don't hurt me: void setup() // runs once { int i; DEL = 80; // delay for screen counter10=0; score = 0; spriteset(0, 1, 1, 2); // player sprite 1x2 spriteloc(0, 7, 13); // player location (7,13) show = 1; // screen on Printletter(C,2,5); // print the letter C Printletter(A,6,5); // print the letter A Printletter(R,10,5); // print the letter R Paint(); // prints everything to the screen i=1; while(i) { keycheck(); if(key) i=0; // wait for key press Paint(); } Rectangleset(0,0,16,16,0); // clear the whole screen Rectangleset(0,0,4,1,1); // start the road Rectangleset(12,0,4,1,1); width = 5; // width of road left = 4; // left part of road } void loop() // runs continuously { int i; int j; unsigned int top; // the top row DEL=30; // delay used in the screen refresh counter10=counter10+1; if (counter50>49) counter50=0; // counter to slow down the game if(counter10==0) { potcheck(); // check the potentiometer, outputs anadiv if(anadiv<0) anadiv=0; if(anadiv>15) anadiv=15; // math for the potentiometer to keep in bounds spriteloc(0, anadiv, 13); // locates player based on paddle rotation i = random(1, 4); // between 1 and 3, the way the generator works left = left + i -2; // either move road left, stay same, or move road right (by 1) if(left<1) left=1; // check for too far left if((left+width)>15) left=15-width; // check for too far right top=0; // calculate the new top row, one bit at a time for(i=0; i<16; i++) { if((i<left) || (i>(left+width))) bitSet(top, i); } scrollD(top); // scroll down the background, add new top row score++; // increase final score if(collisionflag) // check if there is a collision between sprite and background { Rectangleset(0,0,16,16,0); // clear screen score=score>>6; // do some math on the score to decrease it (divide by 64) if(score>999) score=999; // check for over limite Printnumb(score/100, 2,5); // print the 100's Printnumb((score-100*(score/100))/10, 6,5); // print the 10's Printnumb(score-100*(score/100)-10*(score/10), 10,5); // print the 1's while(1) { Paint(); } // keep refreshing screen } } Paint(); // print/refresh the screen } 2 Quote Link to comment Share on other sites More sharing options...
derSammler Posted January 19, 2022 Share Posted January 19, 2022 Very cool. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.