Jump to content

gtoal

Members
  • Posts

    80
  • Joined

  • Last visited

Everything posted by gtoal

  1. It's a little frustrating I agree, but we consider Thomas a friend and respect his choices about how he handles his hardware and software development. The fact is Thomas is a better programmer than me and he also has the advantage of much more time available to devote to these things - but our attitude is that we'll catch up eventually and our source code _will_ be released online at sites such as github. On the subject of sharing code though, it's actually the other way round - what happened was that before there were any working static binary translations for the Vectrex, I had made a translation to C of Tailgunner and I contacted Thomas who - after some enjoyable technical discussions - got it to run on his VecFever hardware. I think the early releases of Tailgunner were still using my code, but it wasn't long after that, that Thomas wrote his own Cinematronics to C conversion program, and re-built Tailgunner using his own code. He then followed that up by writing - from scratch! - converters for the 6502, z80 and 6809. And that was the start of his amazing effort to convert nearly all of the vector games ever written to run on the VF. A truly astounding piece of work that would take normal mortals like the rest of us many years to do. However ... we *are* attempting to do just that, albeit slowly. The current focus is getting the next CPU translator, which is the 6809, to work - and we're actually doing fairly well with that. As well as allowing us to translate the 6809-based vector arcade games, I picked the 6809 as our next target because it will allow us to also port Vectrex games to other platforms relatively easily. Work on the 6502 and z80 translators is also fairly advanced but as yet completely untested. One at a time... though as each one starts to work it makes working on the others easier, since the translators have a lot in common. The main bottleneck in porting games is actually just manpower. There's none of the games that are particularly difficult to configure, it's just that there are only two of us who even have any time to work on these, and we both have other projects to juggle as well as PiTrex games. With the traditional emulators now working, the lack of static binary translations for other architectures is no longer the limiting factor - it's just time and inclination to configure inputs and tweak the displays and add sound samples. If more programmers were interested in working on the PiTrex we could probably catch up to the standard that Thomas has set with the VecFever relatively quickly. If Thomas hadn't done such an impressive job with the VF, we would have been pretty pleased with ourselves for putting out a cartridge with half a dozen games at a price that was competitive with a single native Vectrex game (or two). But Thomas has set a high bar! But this is a good thing, it gives us a big incentive to try harder, and I'm OK with taking a year or two to catch up because I think what we've produced already is something we can be proud of, given that it's an unpaid hobby project done in our spare time. Graham
  2. https://www.ombertech.com/pitrex.php To clear up some confusion, there's no dev/non-dev versions - there's only ever been one hardware version. It's just that initially we encouraged gamers to let developers buy the first batch of 50 or so, but after that batch they were available to everyone, and I believe we've sold over 500 to date. They're in stock most of the time. The main difference between the initial release and now is that the software available has improved a lot, and Malban has produced a release that's relatively easy for non-programmers to install and use.
  3. gtoal

    Mr. Boston

    The only definitive way of course is to put it up for auction and see what it sells for ? Personally I would prepare as good a copy of a real label as possible and include it with the sale (but not attached to the cart), being clear in the description. That way hard core collectors can leave it off and people who don't care as much can affix the repro label to the original cart. You might consider swearing out an affidavit with a notary public attesting to your knowledge of how your dad acquired it, for those hard-core collectors. (Caveat: I'm not a collector myself in any way so I could be completely wrong about what they'd want to see in an auction). Photos of the inside of the cart and both sides of the PCB (assuming it's an un-screwable one) would help a lot when you sell it.
  4. Here's some sneaky code (easily enough converted to ASM) that will take an analog joystick position and work out the direction of the handle, snapped to 16 compass points. (I eventually managed to tweak this to avoid any expensive divides. There are a few 16 bit comparisons though.) Might come in useful. (Do your own magnitude test if you need that too - remember comparing x^2+y^2 against r^2 is cheaper than comparing the square roots of both and gives the same result.) static const int map[4][5] = { {0, 1, 2, 3, 4}, {8, 7, 6, 5, 4}, {0, 15, 14, 13, 12}, {8, 9, 10, 11, 12} }; int sector(int x, int y) { long tangent; int quadrant = 0; if (x > 0) x = -x; else quadrant |= 2; if (y > 0) y = -y; else quadrant |= 1; if (y != 0) { tangent = (long)x*32L; if (tangent > y*6L ) return map[quadrant][0]; if (tangent > y*21L ) return map[quadrant][1]; if (tangent > y*47L ) return map[quadrant][2]; if (tangent > y*160L) return map[quadrant][3]; } return map[quadrant][4]; } Full test program in http://gtoal.com/vectrex/joystick-direction.c.html
  5. Any code with that logic in it will fail on the largest negative number. Integers go from -MAX-1 to MAX so negating the largest negative number results in MAX+1 which overflows MAX, but negating MAX merely results in -MAX which is not as negative as -MAX-1. So, on a machine with a divide, it's marginally better to do: if ((sign = m) > 0) n == -n and divide or mod by -10 each step. I.e. work with negative numbers until you come to outputting the digits. However on the Vectrex I try to avoid divides - see for example "unsigned int8_t itoa" in http://gtoal.com/vectrex/vecavern/v.c.html although I must admit I've never done a benchmark to confirm that it is faster number to ascii conversion code. I should do that one day... G
  6. IMHO... Put the bin online for players; sell bare boards (optionally in an SK case with a label) for those few who don't have a writable cart, and hand-make at most two dozen in boxes with manuals etc for collectors, sell 2/3rds of them and keep 1/3rd back for when the crazy people start bidding the prices up ? Post images for people to make their own overlay, labels, manuals, and boxes.
  7. Yes, life will be much simpler if you use signed chars for X and Y coordinates!
  8. the 3d-printed one does appear to go around the post, not inside it: https://www.thingiverse.com/make:393551 - and looks like someone worked out the scale problem I had noticed too...
  9. Tony Lindberg in Sweden and I think Sean Kelly in the USA, maybe some others, offer machined aluminium replacements. There are also designs on places like thingiverse for 3D printing your own (though I did try one of those myself once and it was not a good fit).
  10. pretty sure it doesn't exist (assuming you mean raster print). We wanted the same functionality for the PiTrex (to support rotated displays) and looked for existing code and didn't find any. It will have to be written. Probably best to start from Malban's faster raster printing code rather than the BIOS version.
  11. Oh - that kind of yoke. I thought you meant the windings round the tube. I don't think there are enough free GPIO pins to wire something like that directly, but we should be able to support non-standard peripherals through USB. This is exactly the sort of experiment we're hoping some extra developers will try out with this release. G
  12. too early to answer that. depends on whether you can drive a big display from a Vectrex and whether that specific emulation can be made to run fast enough - it's not one of the ones we've handled yet.
  13. Hello everyone! The PiTrex cartridge which adds an Raspberry Pi to the Vectrex is now ready to release to developers! PiTrex is a cartridge for the Vectrex aimed at being a host system for vector arcade emulation as well as hosting new games in high-level languages. The idea for this project first surfaced in mid 2018 and we had our hardware by early 2019. At that point it was still an R&D project, and we were not yet sure if we could even draw vectors successfully... but after a while we did... and found that the real-time interrupts that go on all the time on linux were interfering with drawing and that the display was always glitchy. At that point we thought we had to drop the idea of running under Linux, and we spent most of 2019 and much of early 2020 working on a bare-metal standalone environment for running vector programs on the Pi. It wasn't until mid 2020 that we finally found a way to draw from Linux without glitches! Since then we have been full speed ahead getting this initial release ready to share with developers. We will be supporting both bare-metal and linux-hosted environments. Bare metal does boot straight into a game quickly and is unlikely to suffer SD corruption if just switched off without a clean shutdown - it's a good environment for someone selling a game for example. But we expect the majority of development to be done under linux initially - much better library support and features like audio and networking. If you haven't heard of the PiTrex over those last couple of years - it is primarily for new games written in C (for now) and emulation. The emulated games that we have so far are basically at proof-of-concept stage - they mostly all need some tweaking to integrate the Vectrex joystick and buttons to drive them - one of the tasks we're hoping will be sped up by the addition of more developers. (at our best so far we've been a 3-man team, but it has all been unpaid spare-time work by people with day jobs) So that's where we are now. It's not a ready-to-play system, but the basics that a software author may need to develop games or languages like Logo or Forth are in place. We have a mailing list which is how we'll communicate with you, and would like you to sign up for it when you place the order for the PiTrex PCB at https://www.ombertech.com/pitrexdev.php For now the PiTrex will only be supplied as an uncased cartridge board, We do supply a custom case you can 3D print, and we'll discuss future case options on the mailing list once you're all signed up. You'll need to get a Pi Zero from one of several suppliers. We strongly recommend getting a Pi Zero WH for simplicity - saving $10 by getting the most basic Pi Zero could be a mistake that will cost much more than $10 to rectify later unless you're already an electronics enthusiast with soldering skills and various headers to hand! We're committed to making as many boards as are wanted in the long term, so if you are only interested in playing games on the PiTrex or feel you need to grab one now in case they sell out - please don't! Leave the initial batch for developers so we can start getting some serious new content on the machines. We have about 40 tested boards and that should be enough for developers to get started. If we have some spare after the devs have had a chance to get one, and you're willing to live with the restrictions of alpha-level software, we could let some of any remaining boards go in a few weeks time.
  14. gtoal

    VecFever

    I'm not sure there are any *available* as such. There are two on the horizon. The guys who finished off the Sprite's Extreme Multicart and turned it into the Vextreme have the potential of adding emulation support, but apart from one experiment by Malban, I don't think have put any serious effort into it *yet*. Then there's our "PiTrex" project, which is a cartridge that lets the Vectrex display and sound chip be driven from an ARM (on a Pi Zero), which is not yet available but does already support several emulations. We are however doing an interim release of the PiTrex in the next few weeks to developers (and I guess anyone else who is willing to compile things themselves and put up with somewhat alpha-level software). We're at least committed to making as many PiTrex boards as people want, once we go live. The first batch was 50 so we'll have 40+ available for developers, and don't really expect to see that many developers taking them up. (while I'm here, latest video: not worth starting a new thread for) Google for pitrex wiki to find more about the project.
  15. That's how rare it is Seriously though, I'm doing my best to eventually get it out there... it'll be available with the PiTrex when we release it. (A release specifically for developers will be coming out Real Soon Now. (Weeks, not months; maybe even days.)
  16. does it count as rare if it's something you made for yourself? (or if someone made for you, e.g. Thomas' standalone cart with Tailgunner) (btw you can make boxes like these yourself: http://gtoal.com/vectrex/DIY-Vectrex-Cartridge-Box-Kit.zip or http://gtoal.com/vectrex/DIY-Vectrex-Cartridge-Box-Kit/ )
  17. gtoal

    Hera Primera

    the author posted this today:
  18. if it has literally been off for 10 years and you didn't plug it in recently just to check if it is working then there is a vanishingly small likelihood of it retaining any charge. But a lawyer would say go through the discharge procedure anyway, just in case. And as you say as soon as you've made a change and want to test, if the change didn't work then you'll have to discharge again anyway, so might as well do it from the start. I used to do this sort of thing myself with reckless abandon, but ever since getting a pacemaker fitted I've been super wary of anything above 5v... I understand your reluctance to poke a screwdriver into an HV circuit regardless of how well earthed you believe it is.
  19. Tony Holcomb and Helmut Mueller also have templates that they'll share directly with developers if you PM them - they look better designed than mine but require a larger size of card. My stuff has moved to http://gtoal.com/vectrex/DIY-Vectrex-Cartridge-Box-Kit/ because I had trouble uploading the final files to the FB file area. Bill of Materials ================= silvered card 11x17 or larger https://www.amazon.com/gp/product/B01AYBS5JW/ white card for insert (or something a little stiffer) 11x17 or larger https://www.amazon.com/gp/product/B06XCDBD2C/ Krylon Crystal Clear https://www.amazon.com/Krylon-K01303007-Acrylic-Crystal-11-Ounce/dp/B00023JE7K/ Krylon Easy Tack (very optional) https://www.amazon.com/Krylon-K07020007-10-25-Ounce-Repositionable-Adhesive/dp/B000A8AYO4/ Masking tape (eg Lowes) https://www.lowes.com/pd/ScotchBlue-1-88-in-Painters-Tape/1002792518 A3 printer https://www.adorama.com/icaix6820.html https://www.ebay.com/sch/i.html?_from=R40&_nkw=hp%20photosmart%208750%20printer&_sacat=0&rt=nc&_udlo=100&_udhi=260 A3 vinyl cutter (or 12in x 24in vinyl cutter) https://www.iloveknk.com/current-specials-2/ --------------- Before making and assembling the box, you might want to practice on the easier tray insert - also it makes it easier to fold and glue the box if you have the tray inside to provide a little extra solidity to push against when gluing the flaps. Cut the file vectrex-tray.mtc and fold & glue it. --------------- When I set this up I was using 11x17 card which was the largest size I could find at the time which would fit both my printer and my vinyl cutter. Later I discovered that 12x18 paper is available. The unfolded box just fits in 11x17 but the tuck-in flap needs to extend right to the edge of the paper in the area that would be in the non-printable margin in most printers. Also cutting right to the edge of the paper can sometimes be problematic, so we just don't cut right to the edge. So the cut file I've made does not cut all the way around the box - there are two areas where you need to release the shape from the enclosing card by cutting it away with scissors. I'll mark up a photo to show exactly where in case it is not obvious. The image is sized at 300dpi and should print without hassles caused by exceeding the printable area into the margin (you must print with the image centered). You don't need to select borderless printing, which isn't supported on all printers. (The old version of Photoshop 5.5 that I bought many years ago is now available for download on the net at https://winworldpc.com/product/adobe-photoshop/5x - printing the psd file from Photoshop would be the most reliable way to print accurately) Turn on 'registration marks' and 'corner crop marks' in the windows printer driver. Be sure to set paper size to 11x17in portrait, and for paper type if there is nothing better that matches, try 'other specialty paper' which *should* slow down the printing to a speed less likely to smudge or have alignment problems. Make sure the "SCORE/CUT LAYER" is off. It's not accurate and is only there as a visual guideline. The PSD file contains 3 different versions of the central image. Make sure only one of them is selected before printing. Print the file tailgunner-box.psd centered, with 'other specialty paper' for slow careful print at 300dpi When you first try this you might want to turn off the image to save ink, and print in draft mode - it may take a few iterations around printing and cutting before you get everything perfectly aligned. The card you print to assumes 11x17 inches. If using a different size you'll need to make small accomodations when cutting. You will cut using vectrex-box.mtc Align your cutter's origin with right edge of the card, level with bottom alignment line. When you cut, there will be an L-shaped alignment mark '|_' which should be as close as possible to the right-hand edge of paper There's a printed registration mark '---' on both the left and the right of the print, and that should be aligned to the cutter's axis/zero point. I designed the cut file for use with "Make The Cut". If you are using another application, you'll need to convert the cut files to your format. I've included as many exported formats as I can but you should expect to have to put in some effort to convert to your cutter format. Please feed back any files you create and I'll add them to this archive. The MTC file includes an alignment layer which you can use as a rough position check when you first start cutting. It'll score central spine an extra time. Expect to do a few cuts to get the position right while you're getting set up. A common printing and cutting technique is to tack the material to the cutting mat. You probably don't want to do that here. The design is such that it will cut OK as long as the near and far edges are taped down. Tape near edge liberally (up to 1/2 in of overlap) and the far edge more conservatively (eg 1/10 in) Tape the printed paper over the path of any rollers that run over the print area. (when you print on the silvered card - you'll skip this if practicing on cheap plain card) Clean the rollers with lens wipes and let them dry. The cut file has a few layers. They should all be turned off and then enabled one at a time - so enable the scoring layer first and run the cutter on very low pressure. Next, make the actual cuts - possibly in several passes with increasing pressure. Maybe a maximum of 3 passes to preserve alignment throughout. 25 pressure @ 50 speed, 30 @ 100, and 45 @ 150 worked for me. But these parameters all depend on your specific vinyl cutter and you'll have to work out what's best for you by trial and error... When it's done and removed from the vinyl cutter, cut the 4 places on the edge of the card where the cut lines do not extend to edge... then remove the cut-off edging. If this is a final box, spray the flat card with fixative and wait 12 hrs before folding. Fold and glue. Not too much glue if that gets the card wet. Clear 'mucilage' might be better than the white school glue. When assembled and tucked in, you might notice a very slight bowing of the front of the box - if so, you can fix this by spraying the tuck-in flap *only* with a very light coating of easy-tack repositionable spray, so if this is wanted, mask off the rest of the box exposing only the tuck in flap, and pass a VERY LIGHT spray of repositionable Krylon Easy-Tack over it from a distance. When you put the tray insert in the box, be careful not to have the tray stick to any wet glue on the box! Please do take a photo of your box and post it on our Facebook group! And now that you've mastered building one from this design, edit the psd file and create a new box for your own roms! You'll need the fonts in "Poppins.zip" which are an approximation to ITC Avant Garde (LT or Pro?) Demi, which is my guess as to the family used on the original boxes. Graham
  20. gtoal

    VecFever

    Well, this actually shows promise. Admittedly I made a bit of a rough job of it and there's some visible glue on this test scrap, but it is holding really well and I think with a little practice at application this could be a winner.
  21. gtoal

    VecFever

    Good hints! I had been thinking maybe you were using LOCA (liquid optically clear adhesive - the UV curing stuff) so I got one to try - will report back when I do. I'm lucky I bought a bunch of gels last year that I haven't used yet - wasn't aware of the QA problem. Typical of Chinese suppliers.
  22. Apart from being smaller, it's very like a vector arcade experience, and the flicker is dependent on the quality of the programming - the vast majority of games have no noticeable flicker. A loadable flash cart is an essential. There are around 250 freely and legitimately downloadable binaries that you can find. Actually many more if you include scene demos rather than playable games.
  23. Actually that was also a static binary translation, not an emulation. In fact it started off as the same one discussed above; and the asteroids was initially the one that David Welch produced, but I later heard from Thomas that he had rewritten the translators himself so I believe the final released versions used Thomas's translators (which haven't been released). Since there's a lot of interest in this stuff again I've taken up a background task to produce a full suite of binary translators - 6502, 6809, z80 and CCPU. Maybe also 68K if I get those others finished satisfactorily first. Work in progress is at http://gtoal.com/SBTPROJECT/ - I'll move them to github only after all four are working to some extent... If you want to browse the code to get a feel for the techniques involved, the 6809 one is probably the nearest to completion at the moment. I did a write up a few years ago which you can still find at http://gtoal.com/sbt/ PS Tailgunner and asteroids and others will be available for the Vectrex on our new "PiTrex" cartridge which uses a Pi Zero WH as its CPU to drive the Vectrex, with the 6809 being halted under control of the cartridge. Described elsewhere.
  24. gtoal

    VecFever

    ChopperTheDog: I didn't notice when you posted this that you were doing colour inlays in your overlays. I'd considered that but thought (without actually testing it) that they would be likely to pop out under minimal wear. What are you using to glue them in place robustly? Or are you sandwiching them under a clear layer, in which case you would need a glue that invisibly attaches the layers together? I've only used my cutter for monochrome overlays, with a paper printed layer on top for the opaque border. I'ld quite like to try some dual colour ones if you could share your secrets on how they're put together! Graham
  25. The VIA is the 6522 which is effectively the vector generator on this machine. different models may have marginally different timing, and Clean Sweep is such a hack that it is extremely sensitive to timing differences.
×
×
  • Create New...