Jump to content


Popular Content

Showing content with the highest reputation since 07/08/2022 in all areas

  1. The AtariAge forum is getting a major update on Tuesday, August 9th, and will also be moved to a new home. The forums will be unavailable for most of the day during this process. This process will begin late Monday evening, as I need to take the forum offline in order to backup all the forum files and the forum database. Upgrade: The forum will be updated to the latest version of the Invision Community software. You'll notice many changes to the software, although most of these are relatively minor. There will be a few larger changes, such as the addition of Achievements. And of course, lots of bug fixes. Migration: The forum is moving away from the self-hosted solution on dedicated servers that I have been managing for quite some time and moving to Invision's cloud-based servers. This will save me considerable time having to manage multiple servers for AtariAge, and I expect performance improvements in several areas as a result of this migration. This should also eliminate periodic slowdown or unavailability of the forum. This migration is why the forum will be down for a good portion of the day, as it's quite time consuming. I will post updates on Discord, Twitter and Facebook during this process. Here are the relevant links you can save: AtariAge Discord AtariAge Twitter AtariAge Facebook Page AtariAge Facebook Group New Forum URL: The forum will be located at a new URL, https://forums.atariage.com, so please bookmark that now! A redirect will be setup so that any existing links to the forum will be seamlessly redirected to the new location. After the forums come back online, there will likely be issues that will have to be addressed. A new AtariAge theme had to be created since we were several versions of the software behind, and while the theme is similar to the existing theme, it is not exactly the same. This is one area that I will continue to tweak for a while to fix any issues and make aesthetic improvements. It was also important to create a new theme so that the forum can be updated more promptly whenever there is a new version. Some third-party plugins and applications that I'm currently using on the forum will not be available as they are either no longer being updated or the developer has yet to update the plugin/application to version 4.7 of the Invision software. In some cases I will be able to find substitutes, in other cases the forum software now has that functionality built-in, and in a few cases there maybe lost functionality (although generally this would not be anything important). One of my tasks after the forum has been successfully migrated is I have to reinstall all these plugins and applications, and I'll have those ready to go before the forum is opened again to the public. I've been planning on doing this for a while, so I'm glad it's finally going to happen. Of course, if it ends up being a disaster, I'll end up eating those words, but if that happens, I can always leave the existing forum online, and we can then try the migration again once the issue(s) are resolved. But I don't expect that to happen. After the forum has been successfully updated and migrated, I can then focus on moving the AtariAge Store to completely new software. If anyone has any questions, please don't hesitate to ask. ..Al
  2. Gameplay: Autors: Code: Paweł 'Pajero' Nowak Gfx: Maciej 'Rocky' Hauke Sfx: Michał 'Miker' Szpilowski PAL version NTSC in progress... Source: https://madteam.atari8.info/index.php?prod=bubble BS.zip
  3. Greetings! AtariAge and BBG Entertainment are proud to announce that Boulder Dash® is coming once again to the Atari 2600! Originally released in 2011 and created by Atari 2600 programming wizards @Andrew Davie and @Thomas Jentzsch, Boulder Dash® is a monumental achievement on the Atari 2600! The original release back in 2011 was limited to 250 copies, but we plan on making this new release available indefinitely so everyone can get a copy of the game. Completely new packaging was created for this release by William Thorup, who has created remarkable designs for several of our Atari Jaguar releases! Here's a first look at the packaging: Look for Boulder Dash® for the Atari 2600 soon in the AtariAge Store and at this year's Portland Retro Gaming Expo. ..Al
  4. I've gone silent about my TI BASIC 16K cassette game project Hell's Halls lately for the most part here. But it's for the best of reasons. Namely, that I've been too busy working on it. And in the end, I'm really happy with the outcome, and really do think it's a great demonstration of what a TI-99/4A can do with only the console's ROM BASIC and cassette. A sampling of the game is here: So to recapitulate, Hell's Halls is a dungeon adventure written in TI BASIC for the unexpanded TI-99/4 and 99/4A featuring pseudo-random dungeon generation and some use of scene graphics and story text. It uses ESDX control for dungeon navigation and combat. I wanted to make the best game which in principle I could have written back in the day, using only the TI-99 console and Program Recorder. That is to say, using only what can be directly typed in via TI BASIC and saved to cassette. And the good news is, I've finally gotten the game to a release stage. Or rather, I've gotten two versions of it to a release stage, one of which I call the Main Quest and one of which I call the Second Quest. Ultimately, these are meant to complement each other and have slightly different priorities, and also to conveniently occupy two sides of the game cassette. And that last part is genuinely a major motivation for me. Because I've been all in on this project and intent on making it one of the most ambitious TI BASIC cassette games out there. And it couldn't be any of that if it didn't have proper physical materials. Hence my doing up a small batch of them on cassette, in cases with the look that I want for the game, and accompanied by the supporting materials it deserves. I have absolutely no idea how many people are actually interested in a branded and packaged 16K TI BASIC cassette game in the year 2022. We'll just have to see. But regardless, putting these together is fairly time-consuming, so I'm just doing a small run of about 20 game packages (as I lack materials for more, right now), and posting here first, so folks around here get a crack at it before I take it to YouTube or Twitter. Technical Considerations: The game (in either of its two variants) does not require the total absence of VDP buffers associated with a disk controller. It does require that CALL FILES(1) be used, however, in the customary manner. Recording length is about 2m40s in both cases, but the tapes are 5m per side so as to minimize rewind time when changing sides. Use of Extended BASIC is not recommended, as the game has been heavily optimized around TI BASIC timings and performance idiosyncrasies. And compiling will not be possible, due to extensive use (and abuse) of floating point math. But Can I Play It? Like Now? Yes. I am releasing the main quest here. The game package with the second game variant (which features different and more randomized quest text and scenes) I'm releasing with the physical release (on Side B, with the Main Quest on Side A). But here is the main quest: https://pixelpedant.com/HALLS-MAIN.wav And How Can I Buy It? The very small batch of 20 or so that I've mostly now finished is currently available here: https://shop.pixelpedant.com/products/hells-halls-for-ti-99-4a Items will ship from Canada, where I am located, and should ship fairly quickly, as most of the materials are ready to go, as I say: If you strongly prefer US domestic ordering, ordering via ArcadeShopper will likely be an option shortly, as long as they don't just sell out, and I actually have stock to send him.
  5. Stunning demo by New Generation and Zelax, first place at Lost Party 2022 (7-10 July 2022, Licheń Stary, Poland). Download: https://demozoo.org/productions/310140/ Requirements: Atari XL/XE, 1088KB
  6. Gods and Chaos Engine are set to make their debut at the 2022 Portland Retro Gaming Expo in mid-October! Here are two new trailers for the games: New packaging for both Gods and Chaos Engine is being designed by William Thorup, who's created beautiful artwork for some of our previous Jaguar releases, including Jeff Minter Classics, reBOOted, Last Strike, Gravitic Mines, and Dr. Typo Collection! Both games will be made available in the AtariAge Store after our return from the Portland Retro Gaming Expo. ..Al
  7. hi everybody, I do not know if you would call this history being made but, I have reproduced a working, original Atari designed 80 column video card for the 1090XL expansion box. So after nearly 40 years (35 maybe?) we have true parallel bus 80 column video! I am pleased to finally have it working. Here are some photos of it. It is fully atari design and firmware. having said that, I did notice a peculiarity with it. I had the 40 column display hooked up also, even tho it is supposed to be nonfunctional, after the normal timeout, the 40 column monitor started to do the attract mode (color/luma changes). I will fix that in the ROM code and make that available if anyone would like that done. I will be putting the schematic and board files on my github as soon as I get it updated properly. thank you all for your patience. Ken
  8. Thanks to the generous efforts of John Hardie the rom for Monkey Music has finally been released. While this early version of Grover's Music Maker was known to exist for a long time, the rom was never made public. In reviewing the game I've discovered that it is very similar to the earlier version of GMM but with completely different tunes and dance moves. This version also features an 'unlimited freestyle mode' where the player can enter as many notes/moves as they want, but they cannot be played back. The current known prototypes lack this mode and the number of notes/moves is limited to 50. http://www.atariprotos.com/2600/software/grover/monkeymusic.htm I've also overhauled the main Grover's Music Maker page with more info: http://www.atariprotos.com/2600/software/grover/grover.htm Programmer Stephan Keith also informed me that he was responsible for the earlier version of Xevious for the 2600 that was ultimately cancelled. Tod Frye then picked up the project which is the version most of us know today. http://www.atariprotos.com/2600/software/xevious/earlywip.htm Both Grover's Music Maker and Monkey Music feature tunes that still haven't been identified (letters R & S in GMM and variation 15 in MM). I've learned that all the songs were public domain, so that may narrow the possibilities down a bit. Maybe we can finally figure out what these were supposed to be? Monkey Music (8-18-82).bin
  9. I have new cartridge shells for sale on my website (www.IntellivisionCollector.com) I had commissioned a Plastic Mold Injection company in early January to fabricate me some steel molds in order for me to be able to produce factory quality (or better) cartridge shells for the Intellivision! I have three designs in the works. The first has been finalized and a production run was made in early June. I have received the final products and I can say that I am nothing but pleased with the outcome! I currently have 1000 Black shells and 1000 "Smokey Grey" transparent shells in stock. All required screws are included. I have two other designs currently in the works. One being an original design. Both are in the production stage. I'm selling these to individuals who want new shells for their homebrew game boards (If you purchased a game board only option - Am I hinting something here? 😁), or to Publishers who are tired of buying used games just to clean them up and re-use the old scratched up dirty shells. Let's no longer violate the loose carts in the wild! I know that I have personally trashed over a thousand games just to recycle the cart shells. Publishers!, Please E-mail me so I can modify your account on the website in order to get you the discounted prices.
  10. Amazing demo by Agenda, presented at Lost Party 2022 (7-10 July 2022, Licheń Stary, Poland). Download: https://demozoo.org/productions/310141/ Code: Tr1x, Koala, Xeen Graphics: Piesiu, Raphis, Ripek Music: Caruso, stRing Requirements: Atari XL/XE, 320KB, double Pokey
  11. haha. I can say there is a cat on the artwork and that my friends is the best thing you can add to a cover ! Just see by yourself
  12. From everything I could see, they had a small run of prototype/test boards and plastics made. The hardware design might've been "done" but I don't think it was finished. They obviously never completed FCC testing/certification, because the documentation would be on file. There's zero chance of them getting the testing done and NOT filing it. So I don't buy any "oh we got it done but just didn't send it in" -dog ate my homework level excuses. They also need safety testing for the battery stuff and that didn't get done either. My theory is that they contracted with Ark for manufacturing and then their thing didn't pass testing. They either couldn't or didn't bother to make it pass, and just kind of gave up on it. Even if the hardware was finished, the software was far, far from it and it was not anywhere near a shippable state. Everything we've seen (including the bomb squad developer cameo) proves this. The controllers were very ill-equipped to deal with the task given to them, and I am 100% convinced they were designed to be literal 2018 versions of the original controllers, displaying static overlay graphics. Pressing them to do animations and graphics and such is well beyond their current capabilities and it definitely shows. Not having face buttons at all was one of the most idiotic design decisions possible, and literally anyone with a pulse would know that using a touch screen as button(s) was 100% unworkable- especially for action oriented games. The real question is who was behind forcing that controller down the throats of everyone working for INTV and their potential customer base? It was a red flag big enough to see from space, and obviously their original investor(s) took one look at it and noped out. It was hard sitting back watching tommy bloviate and lie all the time knowing full well how the sausage was made. I didn't say anything because I would've been insta-banned if I did. Tommy claimed I didn't know what I was talking about and he had more knowledge and experience than me. Well, I do have to say it's been fun seeing exactly how that one turned out. He pretty much followed the exact trajectory I was expecting. In the end it sure looks like tommy and friends had a 3 year long all expenses paid party and vacation. The party had to end at some point, and the money ran out eventually. Their stupidly insane expensive office was just the cherry on the turd sandwich. There's zero reason for having that space they had- the original back room of a warehouse they were using before was perfectly fine. You can tell the place was massive and maybe only 10% of it was being actively used. That's just a huge money sink burning capital that could be going into R&D, bug fixes, manufacturing, or keeping the lights on longer to get things finished. This is how I know they were just in it to party and put on a facade for potential investors to keep their party going longer. If they were serious, there would've been a ton of working at home, and much lower class digs. In the end nick was using it as a literal junk yard instead of for intellivision.
  13. I've implemented a new version of the "Bad Apple" demo. Features: Animation: 256x192 pixels at 25 fps in bitmap mode. Sound: chiptune at 50 fps. Vocals: linear predictive coding for the speech synthesizer at 40 fps. You can find the source code and technical details and the cartridge file on Github. The cartridge ROM is 4.5 MB. The demo runs properly at 50 Hz on European consoles. It runs too fast on US consoles, although the filled speech buffer keeps it at the intended speed during the vocal sections. This has been a fun challenge with plenty of interesting rabbit holes that kept me busy for weeks: Lossless video compression by writing minimal changes to the screen image table and the pattern table (and the color table, for colored animations). Essentially streaming bytes from the cartridge to the video processor, the sound processor, and the speech synthesizer. Titles and credits with ImageMagick. Linear predictive coding with Praat instead of the more common BlueWizard and python_wizard. I'll go into it in another thread later. The vocals were hard to analyze due to echo/reverb/overdub. I've then created a tool to tune the vocals based on the music. The project grew to the point that I've created a separate open source project with video tools for the TI-99/4A. I'll go into it in another thread later. There's room for improvement and testing: The speech synthesis is still horrendous! Could we start from a cleaner source? Text-to-speech, as @wierd_w suggested? I've only tested in Mame on Linux. The ROM is too large for current hardware, but some gurus are working on it in this thread. Of course, @Tursi already created a version with full PCM sound a long time ago, and @Asmusr very recently created a version with vector quantization, but this was too exciting a challenge to pass up.
  14. Rainbow Lorikeets, 82 colors. amarok_lorikeets.xex
  15. ...well, kind of Work on Jack Lalanne has been stalled owing to some household bits and bobs. So I've filled the time with some other K/C related fun, and this is something that everyone join in. It seems it's not widely known that, thanks to Frank Palazzolo, MAME can partially emulate the K/C. It doesn't include a simulation of the tape drive, so it can't run most commercial software, but it can run BASIC programs. Instructions on how to do this can be found at the end of this post. First up, I've ported the version of the game Hexapawn published in David Ahl's book "BASIC Computer Games" to the K/C. This program is interesting as it's an early and simple example of machine learning through reinforcement. Initially the program doesn't know how to win, but as it is rewarded and punished for its play it improves. The code for this port can be downloaded from here... http://decle.org.uk/intellivision/whale/basic/hexapawn.bas Next we have a couple of graphics programs. On page 22 of the K/C Owner's Book, there are a two images. These were probably made using the K/C's "SCREEN" mode, so it's unlikely there was any code to create them. Of course, that doesn't mean there couldn't be! BASIC programs to generate these can be downloaded from here... http://decle.org.uk/intellivision/whale/basic/flowers.bas http://decle.org.uk/intellivision/whale/basic/landscape.bas Finally, the K/C BASIC manual also has a number of programs in it. These have been typed in and checked. Now before you get your hopes up, these programs are not very complex or interesting. Heck, I've tried to accurately represent the code in the manual, so they're not even very polished, but they do all run. Page 17 - Painter version 1 - http://decle.org.uk/intellivision/whale/basic/017-painter1.bas Page 22 - Painter version 2 - http://decle.org.uk/intellivision/whale/basic/022-painter2.bas Page 25 - Painter version 3 - http://decle.org.uk/intellivision/whale/basic/025-painter3.bas Page 34 - Vacation Planner - http://decle.org.uk/intellivision/whale/basic/034-vacationPlanner.bas Page 43 - One For The Road - http://decle.org.uk/intellivision/whale/basic/043-oneForTheRoad.bas Page 53 - Bank Statement Checker - http://decle.org.uk/intellivision/whale/basic/053-bankStatement.bas Page 57 - Interest Calculator - http://decle.org.uk/intellivision/whale/basic/057-interest.bas Page 60 - Poem Creator - http://decle.org.uk/intellivision/whale/basic/060-poem.bas Page 65 - Random Number Generator version 1 - http://decle.org.uk/intellivision/whale/basic/065-random1.bas Page 65 - Random Number Generator version 2 - http://decle.org.uk/intellivision/whale/basic/065-random2.bas Page 67 - Multiplication Drill - http://decle.org.uk/intellivision/whale/basic/067-multiplication.bas Page 68 - Dice Roller version 1 - http://decle.org.uk/intellivision/whale/basic/068-dice1.bas Page 69 - Dice Roller version 2 - http://decle.org.uk/intellivision/whale/basic/069-dice2.bas Page 75 - Recipe Calculator - http://decle.org.uk/intellivision/whale/basic/075-recipe.bas Page 89 - Football Game Forecaster - http://decle.org.uk/intellivision/whale/basic/089-footballForecaster.bas Page 99 - Tape Index - http://decle.org.uk/intellivision/whale/basic/099-tape.bas So there we are, perhaps not the most inspiring set of software, but another 18 Intellivision programs preserved and shared for all to enjoy. Cheers decle Instructions to use these programs in MAME: Once you've downloaded and installed MAME, you need to acquire the intvkbd.zip file containing the Intellivision and K/C EXEC ROMs and put it in the MAME ROMs folder (no need to unzip the file, MAME does this for you). The power of Google is probably your friend in finding this file. We also need kbdbasic.bin, the K/C BASIC ROM, which can be found as one of the "orig" files within the msbasic project on Github. We just download and save this to our machine. To start up the K/C emulation in MAME we open a command window in the MAME folder and use the following to give us a decently sized window: mame.exe -window -resolution 800x600 -nomouse intvkbd -cart2 kbdbasic.bin Hit RETURN a couple of times, and once the Intellivison splash screen appears type "B" to start BASIC. Now, if we copy the BASIC code for one of the programs we can then paste it into MAME, as though we typed it in (complete with bleeps and bloops). Each time we want to paste something, just press the "Scroll Lock" key on your keyboard to enable UI controls, and then "SHIFT + Scroll Lock" to start pasting. You will find that the paste starts straight away. This is a pain as it means holding the SHIFT key will cause the start of the first line to be "shifted", corrupting the line number. To fix this I've added a blank line to the start of each program with some spaces on it. SHIFT space is still space and is ignored by the K/C, and the space characters gives you enough time to release the SHIFT key before the first line of code. So, just include that "blank" first line in the code you copy and all should be fine. The copy and paste method is quite slow (but much faster than typing) and forces all characters to upper or lower case. This is nothing to worry about, K/C BASIC is case insensitive, it just looks a bit weird. Once the paste operation finishes, just type RUN to start the program.
  16. A few months ago a good friend here from AA sent me an Atari 800 NTSC in excellent condition. Before he left there I asked him to find (at my expense) the personality and processor boards in the PAL edition. So it happened. After its arrival here and the change of the necessary components for its operation in a PAL system, I started to notice some weaknesses. First of all on the personality board. If someone wanted to change or add another OS or MATH, it was almost impossible due to the hard-to-find customized roms, in hardware level also. 2* CS on ic for the OS roms and 3*CS on ic for the MATH rom. In my case I wanted initially to change the OSA to OSB, but after I was wonder why not be possible to add fast math rom or complementary OS's like Omnimon etc. Secondly, the problem regarding someone to have expansion memory. If someone wants to add one of the existing older (hard to find-expensive) implementations or even the newer ones, they should definitely have at least two from the original pcb memories from Atari. In my case this was not a problem, but then another thought came to my mind. Back then, all expansion memory manufacturers built their implementations using dynamic RAM, the only memory chip available at the time. Today, however, static memory has prevailed, so today's implementations are all done with it. I don't like the idea that my Atari will work having a mix of these, although many will say that there is no problem with their computer's operation. I'm just stating my opinion. Third, searching on web I came across a implementation of hard disk for the A800 by Mr. Atari. Yes, he had made a unique such object back then 14 years ago! I really couldn't believe my eyes, since until then I thought that something like this was possible only for the next Atari series. On the other hand, no mention anywhere if it works and how or not, as opposed to MyIDE Internal designed for the next generations XL/XE Somewhere there I got the idea if it is possible to build a board that includes all the above, with the smallest possible cost, and a necessary condition that the user does not need to make the slightest modification to his Atari. Not even a simple cable! As it is understood, in order to do this, I would have to fully simulate all the functions of the personality board. It seemed huge. I initially asked ClausB for help regarding the implementation of main memory using static memory. He sent me a drawing which helped me very from enough. Then I read somewhere about the operation of the 48/52K and at first I tried to implement it without success, but also without understanding that this is due to the existense of the two buffers which control the data bits between CPU the memory and the peripheral ic's. Something that exist only in the A800 not the A400. Then it was time for the extra memory. There I found that some other member had successfully made an implementation of ATHLON using static memory. I decided to follow it. Although it was easy to change the logic to have 1024KB, the 512k was enough for me. Finally, I implemented the MyIDE internal using of course the Clue rom version. Today's needs require the use of a CF card of course, so that happened. I was very stressed about to finding a correct schematic for the IDE to CF conversion. Finally, after reading a lot on web, I think I succeeded. Well, I was fine with everything above, but until that time I had in my mind that any option settings would be made with dip switches. Kind of annoying don't you think? When I got to the end I wondered if this could be done electronically? Of course, this would require the existence of some program to be able to handle it. The issue was that there was a big problem. The CPLD's are passive components and do not have internal memory so that someone can save registers. With the help of the same friend who had sent me the Atari and we were collaborating from the beginning on this project, a new idea was born. The use of a tiny microcontroller (8 pins) just for this function. That is, it would store the registers when asked to do that and would return them to the CPLD permanently in the same order every time the Atari was started. After many tests and thanks to him in this we succeeded. It was really the most difficult piece that I implemented in the architecture of CPLD. So now someone can preset the following functions of this board by loading an executable .xex file almost instantly. 1. 48/52K Base Memory (Selectable) 2. 512KB AXLON Memory (Enable / Disable) 3. 1 to 8 OS's and Maths (Selectables) In case someone wonders about any of the following, I hope that these answers to cover him. Q. Can I install it on an A400? A. No because there is no way to avoid the Atari modification. Q. Can the change of OS's and Maths in the 8 free positions be done by writing to these through the Atari? A. No, because I'm not a programmer, nor do I have the know-how and maybe free space/pins in the CPLD to do it. Q. Would not be more convenient someone to call the routine of changing the settings from within the Atari during boot by pressing a key, than to need to load a .xex file? A. Even though I have except the 8 slots and 1 extra MBit available, I haven't been able to "catch" an "Non Maskable Interupt" key and a reboot after that in order to lock the rom in address A17, so that it is possible to load the routine from there. Q. I see places for components for RTC circuit implementation on the back of the board. A. I actually added it as a last minute thing. It is based on THE logic designed by tf-hh member here. Although I don't have the required ic to test it, yes it could work. The issue is how useful something like this is, since most current implementations of SDX have it built in. Q. Can I bought one? A. I have only some few pcb's here available. If we come to an agree between us I can assemble one for you. Why not more from that? Because with the other beast (Incognito) out there I am sure that not many interestsed on this. At the end was a great experience for me as to where can someone to arrive... I would like to thanks as I did on the pcb for their designs or ideas the below members in alphabetical order. ClausB Mr.Atari panther (Special thank note on the pcb) retrocanada76 tf-hh Pictures
  17. Here's a preliminary list of the new games we'll be debuting at the 2022 Portland Retro Gaming Expo. This list is not yet complete, and it's always possible one or more of the following games will not be finished in time for the show: Blocks (Atari 2600) Gorf Arcade (Atari 2600) Grizzards (Atari 2600) Lode Runner (Atari 2600) Oozy the Goo Slime Quest (Atari 2600) RAPTOR (Atari 2600) RubyQ (Atari 2600) Stratovox (Atari 2600) VROOM! (Atari 2600) AWA Anthology (Atari 5200 / Atari 8-bit) Rob 'n' Banks (Atari 5200) 2048 (Atari 7800) Attack of the PETSCII Robots (Atari 7800) E.X.O. (Atari 7800) Galaxian Arcade (Atari 7800) Keystone Koppers (Atari 7800) Pac-Man Collection 40th Anniversary (Atari 7800) Slide Boy in Maze Land (Atari 7800) UniWarS (Atari 7800) Gods (Atari Jaguar) Chaos Engine (Atari Jaguar) We'll also have copies of Qyx (Atari 2600) from Champ Games, the re-release of Boulder Dash (Atari 2600), and Popeye (Atari 7800) at the show! These three games will be available soon from the AtariAge Store. I will use this thread to post information and renders of the boxes (and maybe other items) as everything is completed. Edit: Added Keystone Koppers (Atari 7800) Edit: Added links for most of the games. Edit: Added RAPTOR (Atari 2600) Edit: Added Oozy the Goo Slime Quest (Atari 2600) ..Al
  18. Hi, I thought that I had a topic about this back in the days, but ssems not. Today I managed to create a little update and want to release it here Another Pong* ------------- - updated version with minor bug fixes and long awaited paddle mode - many thanks @dmsc for public release of zx01 code, thus made another background picture possible To play with paddle, you must press paddle trigger instead of START key to start the game. As paddle mode is fast, no additionally speedup is build in. This finally was a one day update, after I had some tries during past years without result. ______________________________________________________PPs_23.07.2022 Another Pong.zip
  19. See, when anyone starts to dig, this seems to indeed be exactly the case. I honestly question his whole "Steve Tyler is my cousin" now. He uses that as his bedrock for lots of communications he has with people. It's difficult to impossible for anyone to really verify this claim. Get a few pics together at random media events, and spin up a story about how he's his cousin. Hey they share a last name, and both play guitar (theoretically)! Since it's pretty much impossible to actually ASK Steve if tommy's his cousin, the (potential) lie works great. Tommy has an entire webpage devoted to these types of pictures. He goes to random media events (book signings, etc) and gets pictures with $famous_person then spins up some kind of lie or halftruth or pure fantasy about knowing this person well, considering them a "great friend" and so on and so forth to sell his latest thing or to puff up his self image. The bad news is most of the people ate it, swallowed it, and asked for more. I think tommy lives like it's 1995. Back then, before the internet, it was much harder to verify any of his wild claims, and a lot of peoples' default reaction to wild claims (which tend to be off the wall, like being a hall of famer) is to believe them since who'd lie about something so esoteric? His other thing would be to tell different people different things to influence and manipulate them. This worked great in 1995 I'm sure. But here in the 21st century everyone can talk to everyone else, and verify these claims. This caused quite a bit of friction, and when tommy would say one thing to person X and another thing to person Y, and both would talk on twitter/youtube/etc, it was pretty easy to quote those things. Of course tommy's got a ready-made response for this, and was one we saw often. "they're putting words in my mouth!" Nope, it was just getting caught in yet more lies and half-truths. Thanks to the internet we can now verify whether most of these claims are true or not.
  20. Just wanted to show a preview image on the box art -
  21. samsung's problems weren't capacity related; they were swelling slightly and due to the tolerances and that was causing issues. Preorders were sitting at 14K at their highest, and by the time they put a number on them again, it was in the 6000 range. You kinda got suckered into believing that they were really going to be building hundreds of thousands to millions of these things. I knew from early 2020 that this was literally impossible. It is very easy to claim you're going to make 35K of them a month, and "open another line if we need more". It's quite another to actually have the product and team and followthrough to do this. I knew by early 2020 that they were 100% screwed and had no hope of this ever happening. There would've needed to be massive general interest from the public for this to occur (think playdate), and that literally didn't exist. The problem isn't just ONE $15K expense, either. The problem is they wasted money on a battery tester, a tumble tester, button tester, lighted "game room: play at your own risk" sign, large expensive laser cut stainless steel logos, "ferrari parking only" signs... the list goes on. It's a pattern of wasting money, and like the lottery winner that got $10 million, you keep pecking away at it and before you know it it's all gone and you're bankrupt. If they were serious about making this thing, they would not have rented that giant hole to throw money into known as an office. It was waaaaaaaaaaaaaay too large for them, as evidenced by all the empty offices. There was literally NO reason to rent that cash furnace except to cosplay as a CEO. If they didn't rent that white elephant and kept working out of the the literal back room they were working in, and not wasting money on frivolities they might've gotten somewhere. I have been through this exact process now several times of launching a brand new product, in several different industries. Including video game systems. I could smell tommy's bullshit like a fart in a car the first month he was on atariage. When I called him out on one of his lies, he got all pissed off and threatened to leave because this "wasn't a place to debate him". They could've reined in their burn rate easily, and they did not need to hire all those people they had on board. It was either a case of hiring relatives and friends, or just the need to burn investor money like it was going out of style, because in the last two years what have they accomplished? fuck and all in my opinion. The hardware's not moved. software has barely changed, games are still unfinished. They admit the back end stuff isn't even close. And now that they laid off everyone doing the work, there's not much chance of a recovery. Especially when VC money has dried up due to the economic conditions. All we saw was the so-called employees partying it up with john being the sole person working, or on another "tour", john was busy working and tommy was walking around the mostly empty offices showing how nothing and no one was there. Basically everyone that invested in this boondoggle got played for a chump and paid for them to have a 3 year long party at someone else's expense. Sounds like a good gig if you can get it.
  22. During a recent Zoom TI-99ers Meeting, I asked if anyone had ever modified the TI-Joysticks to make them work better? As far as we knew, it hadn’t been done. The "normal" process would be to design a replacement circuit board and have them made. Of course, I took a different route… 🙂 This is a modification to replace the internal parts of the joystick with tactile switches. This has revived my old joysticks, and now I really enjoy using them! BTW, It is completely reversible in that it does not damage the existing components. With that said: Disclaimer: Do this at your own risk. This project WON’T damage your existing joysticks unless you are careless. I freely provide this project to the TI community and welcome comments and improvements. The attached zipped file has complete instructions. It does require access to a good 3-D printer and a few other materials. Some soldering skills are necessary. David G, Prattville, AL Revisiting the TI99 Joysticks.zip
  23. Ölüdeniz Turkey 54 colours drpeter_Oludeniz.xex
  24. Here you are @ClausB. Carina Cliffs. 74 colors. GS_CarinaCliffs.xex
  25. I have had for a while the desire to use an external keyboard with the TI, mainly to have more flexibility on my desk where to place the console. For the display I'm already using F18A board connected to VGA-to-HDMI converter connected to a USB3 HDMI grabber, so the TI's screen is visible as a Window on my Mac's desktop. If I had something similar for the keyboard, I could move the TI to the side, and just control it from my Mac's keyboard. There are existing great projects by @jedimatt42 and @Tursi to use USB or PS/2 keyboards with the TI. The TI99USBKeys USB host project is very desirable, but don't have a Teensy 3.1 or 3.2 board, and when searching for those I didn't find the boards anywhere available for purchase. I started thinking that even if I had that, I would end up having another USB keyboard on my desk to control the TI. So I thought I actually want something simpler, just a way to transfer keyboard information from my Mac to the TI. I also thought that since I already have many (and I mean many, I have lost count ages ago) development boards already, why not use something that I already have. I build a contraption which consists of a Nucleo-F767 board inside the TI, connected via USB to my Mac. This board connects to the keyboard connector of the TI, and basically just receives key codes from the Mac and presents them to the TI the way it understands them. Unlike many of my other projects, this one is simple, straightforward and started to work quickly. I initially controlled the keyboard with a simple terminal emulator program running on the Mac, but I quickly ran into problems. It was difficult to support shift keys and the like using a terminal program. Also key-up events don't exist with a normal terminal program... To remedy this I ditched the terminal program and wrote quickly a small app in C++ using the SDL2 framework for the Mac. This app just listens to keyboard presses and sends key up and key down events to the Nucleo board. Of course this meant developing yet another simple communication protocol... SDL2 is cross platform, so it would be easy to port the program to other operating systems. The key transfer protocol is very simple, and consists of two byte messages sent over USB serial port at 115200 bps: // My command codes. Transfer format contains two bytes: // one of the below, followed by the keycode. #define SERIAL_KEYDOWN '1' #define SERIAL_KEYUP '0' #define SERIAL_ALLUP '2' // The keycodes following the command code above: // These are mostly just ASCII codes, except for certain keys listed below. // TI specific keycodes for a few keys, selected not to collide with SDL key codes // used here. #define TI_SHIFT SDL_SCANCODE_LSHIFT // 225 #define TI_ALPHA_LOCK SDL_SCANCODE_CAPSLOCK // 57 #define TI_CTRL SDL_SCANCODE_LCTRL // 224 #define TI_FCTN SDL_SCANCODE_LALT // 226 #define TI_LEFT 128 #define TI_RIGHT 129 #define TI_UP 130 #define TI_DOWN 131 I haven't had yet much time to use setup, but it seems to work and is very convenient to use just one (did I say modern) keyboard to control both the Mac and the TI. I mapped the ESCape key to signal that all keys are forced up, to overcome issues where there might be a stuck key. It can happen when switching apps on the Mac with option-TAB. The Nucleo-F767 board is very powerful and huge overkill for this task. I chose it because among the development boards I have, it has very many 5V tolerant pins and it has an USB-to-go port. I am not using that port yet, but using it the board can support directly connected USB keyboards too, and STmicro has an example program which has the HID driver to be an USB host. I did try out that example, but I haven't integrated it and I am not sure if I will do that since for my use case this setup already works.
  26. Garbo Jo! It survived!!! Haven't seen it for 36 years, give or take. From what I remember, you threw the boomerang, which was a wall-hugger, to kill the enemy... and then you had to wait for it to return. Could this be any more Australian.... boomerangs, Ayers Rock (as it was known then), swarming blowflies, cans of XXXX beer. Pretty sure the snake laid little eggs which, after a while, hatched into another snake... so you could have dozens of them to contend with. That pink thing bottom left... maybe water...? I'll have to go back and play a bit, but can't figure how to get the joystick/button working on this emulator. So glad this game is rediscovered! PS/trivia: it's 'jo' not 'joe' as there was a girl I had a crush on right about then. jo.mp4
  27. A lot of long-time AtariAgers were kicked out of that thread, placed on mod preview, or banned outright from the whole site over Amico drama. @Albert now that it seems clear that Amico was never what it claimed to be, maybe it would be nice to consider offering amnesty for people who were done dirty in the name of not offending Mr. Tallarico? Only you would have access to the full list of names.
  28. Hi all. It is my pleasure to announce that Frankenstein's Monster is at last available from the Intellivision Revolution store http://intellivisionrevolution.com/store/intellivisionhomebrews A few copies available now! (I didn't said hoard them! 🤭 Oh well! I said it)
  29. Here an update (Swiety added his own rendering, lights, rewritten stuff and tons of other changes) https://youtu.be/UwKu5pbbmtw?t=8377 If the url is bugged somehow - set the time to 2:19:37 (it was from livestream) It was keep in the silent because its was part of our demo for Last Party 2022 (NG+ZELAX cooperation). More details later from Święty. Current version runs of fullscreen with awesome speed. The update is mindblowing imho :).
  30. Hi there all, I'm new to this community as I've just got myself an Atari Jaguar so what normal thing do you do first is look for active communites and forums. I am from the UK and looking to chat with fellow Jaguar owners and maybe look at starting up/restoring the UK Jagfest scene whether that be just meeting up once a year to discuss the latest homebrew/ports or just share memories or go head to head on games such as Doom etc in a LAN style event. Already liking the look for the site and glad UK shipping on the carts in store is due to re-open. Regards James
  31. Here’s the issue. For 99% percent of the population, no one cares if you embellish your resume. No one is going to go through and see what awards you received 20 years ago because, you’re right, no one cares. EXCEPT when you make yourself the public face of a multi million dollar company. Once you’re in a position that people write press releases to hype your involvement, your actions and past reflect on the company you are representing. This is why I gently suggested to TT multiple times that he should step into a background role and hire a spokesperson to be that face. I am speaking from experience on this. I have had journalists go through my background to check in on what communication folk have said about me. I’ve been google searched every time I’ve moved to a new position. Part of what you are being paid to do is represent the company in a positive manner. So it speaks poorly of IE as an organization that they allowed these inconsistencies in their materials. You can’t take a public facing job like that, with the perks that go with it, and then get upset when people question items in your background. If you don’t want people “obsessing” over a fake Hall of Fame claim, don’t put it out there. If you want to keep telling all those stories, then have someone else be the public face- that way there is more of a separation between TT the person and IE the company. I told TT this multiple times. He basically caused IE to be so closely associated with him that his lies became IE’s lies, and his public meltdowns became IE’s public meltdowns. It’s a shame and didn’t have to be this way.
  32. I suggest everyone ignore this and not take the bait. Please, no politics. Thank you, ..Al
  33. Hello I was curious how much of Myst I could fit in a 4k cartridge (I ported all of Myst to an Apple II on three disks a few years back). It turns out not much, but it was fun to try. You can get the ROM file and the code here: http://deater.net/weave/vmwprod/myst_vcs/
  34. This my new game for Colecovison. It's inspired from The Electric Yo-Yo, a arcade game Taito. Use controller to move your hamster, collect all snacks, and avoid ennemies. Have fun. hamster_with_wire.rom
  35. Starting Thursday morning (Aug 4), A Tale of Dragons and Swords will be available in the Blue Sky Rangers eBay store. At that time, the Overlay Packs and Stadium Mud Buggies will also be back in stock. We have also acquired a new batch of original manuals and overlays which will be added to our listings in the next couple of days. Some of them had been out of stock, and others have never been available from us. Through Saturday, August 6, I will accept direct sales at a $5 per item discount on Tale and Mud Buggies (both will list at $69.99). Just send me a PM with your PayPal id and your ZIP code or other postal information (so I can calculate postage). I can also include Party Line, Deep Pockets and King of the Mountain in the $5 off offer. I will have to collect Sales Tax from California purchasers.
  36. Hi! After the long beta period, FastBasic version 4.6 is out! Over the last beta, there are many bug-fixes and optimizations, and also there is a new COLOR() function to PRINT, so you can easily alter the text color in graphics modes 1 and 2: GR.1 : X = 123 ? #6, X ? #6, COLOR(32) X+1 ? #6, COLOR(128) X+2 ? #6, COLOR(160) X+3 This also works in graphics 0, but the only available option is using COLOR(128) to print in inverse video. As always, you can download the ATR, the manual and the cross-compiler from github: https://github.com/dmsc/fastbasic/releases/tag/v4.6 . This is the full list of changes from version 4.5: FastBasic 4.6: The Atari 5200 release! A new major feature: now the FastBasic PC compiler can produce Atari 5200 cartridge images. This version uses a new PC compiler, rewritten to support multiple targets with one binary, you can specify the target with the new option -t:, the available targets are: atari-fp: produces Atari 800 XEX programs, with support for floating-point. atari-int: the old "integer only" version, produces Atari 800 XEX programs that don't use the floating-point package. a5200: produces cartridges for the Atari 5200 atari-cart: the same as atari-fp, but producing cartridge images for the Atari 800. atari-cart-int: the same as atari-int, but producing cartridge images for the Atari 800. Read more about the Atari 5200 port in https://github.com/dmsc/fastbasic/blob/master/a5200.md New language additions There are now PRINT functions that allows formatting the output for PRINT command: TAB() function, moves to a column multiple of a number. RTAB() function to right-align the next argument to a specified column. COLOR() function to specify the text color (or inverse mode) of the text, see #47. DIM can be used to declare normal variables (like DIM X$, Z), the variables are automatically initialized to 0 or empty strings. DATA statements can be placed in ROM instead of RAM (useful for Atari 800 cartridges or Atari 5200). Allows writing to more than one register in a DLI, see #45 Changes in the runtime The comma in prints now uses the TAB function internally, so it behaves more consistently in screen output (but in a different way that Atari BASIC). MOVE and -MOVE are faster, using code in zero-page. Fixes crash when setting DLI, #49 More size optimizations, integer IDE is still less than 8kB of size. Changes to the cross-compiler Rewritten to allow multiple targets by configuration files. Allows building Windows version native and ports the cross-compiler test-suite to Windows. Prints better compiler error messages. Allows defining symbols for the linker and passing arbitrary arguments. Have Fun!
  37. Vanguard is being issues with my new black Mattel shells. Everyone who buys it will be able to check the quality of these things! They are incredible! TSMGO (The Show Must Go On), will be released with my smokey clear shells. both games are also being released using my new game board design as well. I have a lot of money invested in being a new publisher, and I hope I get support from the community to make all these investments worth while. I’ll have about 6 releases between august and December 2022. All my releases are being done in a Gatefold box so far. Even more new products are going to be announced later this month. thank you all in advance! Luc www.IntellivisionCollector.com (And a big thank you to Papa Pete!)
  38. Allright! After many years of letting this project gather dust, I finally decided to dive into why adding a small bit of code here and there managed to break the entire game. I of course initially decided that the issue had to be with the compiler and it couldn't possibly be anything in my code because the stuff I was adding was in a totally different place in the code from what ended up breaking... Silly me... it turned out that the code responsible for loading assets (I use a ld-driven method of storing raw binaries in the cartridge image file, and access them using variables defined at link time) was only working most of the time. In certain circumstances I created a bunch of buffer overflows that overwrote the stack and made all kinds of weird stuff happen, or mostly just crash the entire thing . I completely retooled that part of the game, and added a few new features to test the overall stability, and lo and behold, it seems rock solid right now! So, to my and no doubt everyone else's surprise, I'm going to be picking this up again and hopefully releasing new builds on a more regular basis :). New in this version: There's an inventory screen: press space bar to bring it up, use the joystick to navigate to a power-up and press fire to activate it. Only one power-up has been implemented for now. New power-up: invincibility, this makes Alex invincible for a short while. Note that falling onto dangerous terrain (water, lava, spikes, etc...) will still kill Alex, but enemies will die instantly upon touching the player. Note: I'm still bringing my pc-based tools for asset creation online, since they've gathered quite a bit of bit rot since 2017, so the visual effect given to Alex in F18A mode (9918 mode looks nice enough, I think) when he's invincible is... headache inducing is probably the best way to describe it. This is going to change in a future release. There's a shop that will show up in between certain levels: here you can spend your hard earned money (so collecting money is now useful) on power-ups, extra lives, etc... Currently only extra lives, the invincibility power-up and a gambling item can be bought. The gambling item will basically increase your amount of money by a somewhat random amount. If you're lucky you might win more than it cost you to buy the thing in the first place. Not sure if this is going to stay in, but I needed at least three different items for the shop, so... I upgraded to @Tursi's libtivgm2 for playing music and sound effects. It seems to run a bit more efficient than the previous version, but I think I'll need to play around with the tools a bit more to get it to sound better. Currently sound effects override the music in the wrong channels at times, which can make it sound a bit weird. alexkidd8.bin
  39. Here you go, a handy dandy guide to the stages of Amico production.
  40. I'm pushing this a bit earlier than I would normally share one of my projects because it's huge and hence getting kind of hard to maintain in a private branch, and because it's finally in a usable state for those dedicated enough to go through all the necessary steps. Ever read the old threads about how awesome Alpine board debugging was compared to everything else? I do. I got a chance to play with an Alpine board recently, and yeah, the tools are pretty cool compared to the skunkCONSOLEWRITE debugging and hand-rolled instrumentation I usually rely on. However, they require the incredibly rare Alpine hardware, and an ancient PC running an ancient OS or some tricks to get the old 1995 WDB or RDBJAG tools to run, so it's not helping that many people these days. I'll post more about my romp through Alpine land later, but the important part here is that I realized the tools weren't doing anything that magical. @Tursi long ago released jserve, a tool that lets you debug m68k Jaguar code at the source level using GDB, as long as you have a binary with appropriate debug information, meaning an ELF-format binary these days. GDB is extensible, and at its core the jserve tool and its corresponding stub code have all the functionality the Alpine tools relied on, which was basically some interrupt handlers and the ability to do raw reads/writes from/to Jaguar memory. My Jaguar SDK already includes the gpu.db script (By way of Belboz's SDK which mine is derived from, which in turn is derived from the Atari official SDK), which is an Atari DB debugger script implementing a crude precursor to the GPU and DSP debugging features built into the latest versions of WDB and RDBJAG. I wondered, could it be ported to GDB+jserve? The answer, it turns out, is yes, it can. However, like most things, it was a lot more work than I thought it would be when I started. The preview-quality (Let's call it an Alpha) release of this work I pushed to my SDK just now contains the following: Script updates to build the last version of GDB that supported m68k a.out binaries (Version 8.1.1) along with some patches applied to support the f**ked up unique implementation of the COFF executable file format ALN produces. This was a serious pain, as what Atari calls COFF is almost nothing like "real" COFF, and on top of that it turns out ALN, MAC, and the old version of GCC that supports a.out m68k output all generate horrible debug symbols, but it works now, so you can take the same files you'd debug on an Alpine and load them up in GDB to get full line-number, local variable, C function names, etc. debugging on the 68k. All the stuff you'd expect when using GDB in a normal environment, so you can step through C code line-by-line, break on function names, etc. Script updates to build the python module that wraps my JRISC disassembler library. Script updates to build a patched version of the jserve Jaguar remote debug stub server. The patches so far just fix the build on Linux and fix reading/writing of GPU memory & registers. A set of python and GDB command file GDB extensions that introduce JRISC (GPU mostly so far, some DSP support is present) debugging on live Jaguar systems, including the following commands: gpustuf - Upload support code for the below commands to an unused portion of the reserved memory area below 0x4000 on the Jaguar. Run this before using any of the below commands as soon as you've connected to jserve in GDB. In the future I'll automate the whole process of launching jserve, connecting to it, and running this command, but as I say, the edges are a bit rough right now. gdisassemble/ddisassemble - Disassemble GPU or DSP code from Jaguar memory. This is used by some of the other commands to disassemble the next GPU instruction to give you some context when you land back in the debugger command line, but you can also use them to disassemble arbitrary regions of memory, or memory at some symbol/line number/etc. setgpc - Set the current GPU program counter. stopgpu - Stop the GPU if it is currently running gogpu - Start the GPU. It will begin executing at the current value of G_PC. gstepi - Step the GPU <N> instructions in single-step mode, pausing in the debugger again afterwards *without* stopping the GPU, and hence without losing state like pending jumps or the current G_PC value. gadvance - Run the GPU at full speed until a breakpoint address is reached. The GPU will be stopped afterwards, currently losing state like pending jumps, but the G_PC value will be restored to allowing further single stepping or advancing to another breakpoint. xg - Dump the values of both banks of GPU registers, decode the G_FLAGS register into a human-readable form, and print G_PC as well. This necessarily clobbers one register (currently hard-coded to be R30) in the current bank, just like in rdbjag/wdb, but if you're clever you can toggle banks or only use this at places where you can otherwise deduce the value of R30 to reduce the impact of that if your code needs all the registers. xgr - Set the value of a GPU register in either bank. Currently this also clobbers the value of R30 because it must read back all the register values first, but you can set the value of R30 with this command, so see above about dumping/setting registers when R30 is in some known state. Built-in documentation for all of the above using GDB's help command. E.g., 'help xgr' will tell you how to use xgr. Trust me: The minimal documentation provided here is *much* better than what you get out of rdbjag's equivalent help commands. The $gpc() and $dpc() convenience functions are introduced, which return the value of G_PC and D_PC respectively when used in GDB expressions. This can be useful when using the other commands. E.g., 'gstepi $gpc() ($gpc() + 16)' will trace from the current GPU instruction to the instruction 16 bytes ahead of it, and 'gdis *$gpc,+32' will disassemble the next GPU instruction and any further instructions in the next 32 bytes. A GDB wrapper script, gdbjag, that runs the 68k-aout GDB variant with the above extensions loaded. This gives anyone with a Skunkboard (And a Linux PC or VM) GPU debugging functionality very close to that available on an Alpine, except it's actually more stable from what I've seen testing it thus far. So, how do you use it? Well, first you'll need to grab the latest version of my SDK and follow the build instructions in the README.md file here: https://github.com/cubanismo/jaguar-sdk If you've set it up before, note the requirements have grown a bit to accommodate GDB with the TUI interface and python plugin support, and some submodules have been added so you might need a 'git fetch --recurse-submodules && git submodules update --init' to pull them all down. Before we get to debugging, you'll need to build your code using MADMAC and ALN, not rmac/rln, and you'll need to include the flags to generate debug information, which rmac/rln ignore at the moment. My plan is to fix that at well at some point, but for now: Edit ${JAGSDK}/tools/build/jagdefs.mk Uncomment the lines indicated to use mac/aln instead of rmac/rln Change the line that sets CFLAGS to '-O2' to set it to '-O0 -g' instead. Change the line that sets ASMFLAGS to '-fb -g -r$(ASMPAD)' to set it to '-fb -g2 -r$(ASMPAD)' Change the line that sets LINKFLAGS to '-e -g -r...' to '-e -l -g2 -r...' (Don't put a literal ellipsis in. It means leave the rest the same) Save and exit And then you should be good to go. I recommend going to ${JAGSDK}/jaguar/examples/jaghello and running "make" to build jaghello.cof with full debugging support to follow along with the below examples, but you can use these flags to build other code in the SDK or your own code as well. Now it's time to debug. Connect a Skunkboard to your development system via USB, turn the jaguar on, change to the ${JAGSDK}/tools/src/jserve directory and, as root, run "jserve," E.g. $ cd "${JAGSDK}/tools/src/jserve" $ sudo ./jserve It has to be run from that directory so jserve can find jdb.cof, its Jaguar-side helper code. jserve will spew a bunch of debug info to your terminal, finally indicating it is connected. Your Jaguar screen should be black at this point. Go to another terminal, source the SDK env.sh script there as well, and go to your source/build directory, then load it up in gdbjag. I like to include the "-tui" command line parameter to gdbjag so I get a nice source window above my GDB command prompt that I can follow along in, but I'll leave that out of the examples below to keep the output readable. Using the jaghello.cof example here: $ cd "${JAGSDK}/jaguar/examples/jaghello" $ gdbjag jaghello.cof GNU gdb (GDB) 8.1.1 Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "--host=aarch64-unknown-linux-gnu --target=m68k-coff". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from jaghello.cof...done. (gdb) Hurray! We're finally at a GDB prompt! Now it's time to connect to the Skunkboard debug stub and load our code. Use the command "target remote localhost:4567" to connect, then the "load" command to load the code: (gdb) target remote localhost:4567 Remote debugging using localhost:4567 ?? () at startup.s:41 41 move.l #$70007,G_END ; big-endian mode (gdb) load Loading section .text, size 0x3e0 lma 0x4000 Loading section .data, size 0x410 lma 0x43e0 Start address 0x4000, load size 2032 Transfer rate: 3 KB/sec, 145 bytes/write. (gdb) jserve is really going to be spewing now! Ignore it unless you need to debug jserve itself. It's just logging everything it does to the console at a very high level of verbosity. What's important is we are now ready to run code on the Jaguar. You'll note you can view your assembly listing using GDB's "list" command, and jump to source lines just like with any other instance of GDB running on a program with appropriate debug info available. For now, let's advance to just before jaghello's startup code starts the GPU to set the object list pointer, which happens to be on line 58 in startup.s: (gdb) advance 58 ?? () at startup.s:58 58 move.l #RISCGO,G_CTRL ; Go! (gdb) At this point, the GPU is all initialized and ready to run some trivial code. Let's step through it line by line for kicks. Note an empty line of input in GDB generally repeats the last command, so we can step through GPU code just by running "gstepi" once and then repeatedly hitting Enter. Before we start using the GPU or DSP debugging features, there's one very important step though: We must run "gpustuf" to load the JRISC helper code onto the Jaguar: (gdb) gpustuf Restoring binary file regdumpset-500.bin into memory (0x500 to 0x6be) (gdb) gstepi 00004086: load (r0), r1 (gdb) 00004088: movei #$f00020, r0 (gdb) 0000408e: store r1, (r0) (gdb) 00004090: moveq #0, r0 (gdb) 00004092: movei #$f02114, r1 (gdb) 00004098: store r0, (r1) (gdb) GPU stopped itself (gdb) Cool! Looking at this code, we can deduce that the GPU registers r0 and r1 should now contain the values 0 and 0xf02114 respectively. Let's verify that: (gdb) xg G_FLAGS: 009e NZ CS NE Current Register Bank: 0 G_PC: 000040a0 R00: 00000000 00f02114 00000eec 00000000 03d0dead 00000008 ffffffff 00000000 R08: 00f03668 00000040 00f03110 00f03114 00f034e6 00000015 00f03628 00f03264 R16: e4009814 00000015 00000000 00f03384 00f03378 00f031dc 000000ff ffffffc0 R24: ffffbf67 00f035d0 00f032a8 00000044 00f0336a 00f03314 TRASHED! 096b5050 A00: 00000014 00f03628 00000000 abf377fc 220a0211 00000000 01c614a1 fffebbee A08: 151c0141 7d6ffeea 00620580 b76b26f7 6d3b1b88 bf6f87bf 2300c351 f97adf27 A16: d0a82591 fa1fedbd 28090000 df6dffd7 02407951 ecf7b3fd 0221864b e5f57aac A24: 000fffe7 feffdfff b0060088 160fb9dc fffffedf 56fbf7f6 fafadead 00000000 (gdb) Looks good. Since the GPU is done for the duration of this simple program, let's fiddle with some register values: We'll set r0 in bank 0 (the current bank) to 0xf00df00d and r31 in bank 1 (The inactive bank) to 0xdeadd00d, then verify it worked: (gdb) xgr 0 0xf00df00d R0 in bank 0 was: 0x00000000 and is now: 0xf00df00d (gdb) xgr 31 0xdeadd00d 1 R31 in bank 1 was: 0x00000000 and is now: 0xdeadd00d (gdb) xg G_FLAGS: 009e NZ CS NE Current Register Bank: 0 G_PC: 000040a0 R00: f00df00d 00f02114 00000eec 00000000 03d0dead 00000008 ffffffff 00000000 R08: 00f03668 00000040 00f03110 00f03114 00f034e6 00000015 00f03628 00f03264 R16: e4009814 00000015 00000000 00f03384 00f03378 00f031dc 000000ff ffffffc0 R24: ffffbf67 00f035d0 00f032a8 00000044 00f0336a 00f03314 TRASHED! 096b5050 A00: 00000014 00f03628 00000000 abf377fc 220a0211 00000000 01c614a1 fffebbee A08: 151c0141 7d6ffeea 00620580 b76b26f7 6d3b1b88 bf6f87bf 2300c351 f97adf27 A16: d0a82591 fa1fedbd 28090000 df6dffd7 02407951 ecf7b3fd 0221864b e5f57aac A24: 000fffe7 feffdfff b0060088 160fb9dc fffffedf 56fbf7f6 fafadead deadd00d Cool, that's enough playing with the GPU. Let's continue on to our main program. The C code implementing the actual functionality in jaghello starts in the function "__main." Let's set a breakpoint there and continue until we reach it, taking care to skip over the code that would launch the GPU work we just stepped through above: (gdb) b __main Breakpoint 1 at 0x4390: file jag.c, line 51. (gdb) jump +1 Continuing at 0x4062. Breakpoint 1, __main () at jag.c:51 51 jagscreen = (unsigned char *)&vidmem; (gdb) OK, now we're in C code. You can run "next" to step through it line-by-line, but to finish up this example, I'd like to instead set a breakpoint on the function DrawChar, and continue on to it. This function is called multiple times to draw each individual character of the string "Hello Jag Users." (gdb) b DrawChar Breakpoint 2 at 0x42e6: file jag.c, line 24. (gdb) c Continuing. Breakpoint 2, DrawChar (x=1, y=1, ch=72 'H') at jag.c:24 24 charloc = ch * F_CHARSIZE; (gdb) Note the values of all the local parameter variables are displayed. At this point, you can keep hitting enter to continue past each instance of this breakpoint, and watch the characters of the string appear on-screen one at a time. I'll leave that as an exercise for the reader, since it doesn't translate well to text. Happy debugging! I should note you probably can't expect the GPU debugging to be completely stable at this point. Even running through the relatively simple sequence above only a handful of times while writing this, something went wrong a couple of those times. However, if you're stuck, it's worth checking this out to see if it can get you un-stuck. Just don't trust it too much if it seems to be reporting some impossible register values or something. It could very well be wrong. However, again, it's still more stable than the equivalent Alpine board functionality in my limited testing thus far. Also, since everyone reading the developer forum is a developer (right?), take a look at the JRISC helper code in ${JAGSDK}/tools/src/gpudb, and the plugins/scripts in ${JAGSDK}/jaguar/bin/jag.gdb and ${JAGSDK}/jaguar/bin/gdbjag.py and see if you can spot any errors or suggest any improvements. This is all a work in progress, and I'm going to be looking at rmac+rln debug info support next, so this stuff could use a little outside love in the meantime.
  41. Happy 40th birthday ColecoVision! To celebrate, we are bringing back the ColecoVision Experience Magazine! In both physical and digital format. All Experience Club members are going to get a free copy (included with every subscription) Stay tuned, I will post an update as soon as they are ready to ship! "Your vision is our vision!" #colecovisionday
  42. That's pretty much it. It looks like intv failed their first emissions test, and maybe did some fixes on the pcb, but never retested it. It is far from a foregone conclusion that they would pass the second time. The only way to know is to actually test it. Anything else is just stalling and attempting to baffle people with bullshit. The only reasons they wouldn't retest right away are that a) their engineers already left, or b) they ran out of money. Typically retesting is a lot cheaper than the initial test, and sometimes is included in the price, because this happens all the time. One of the bigger lols was their "we don't need FCC certification to manufacture, just sell". well, yeah, but if you make a few thousand unsellable amicos, what are you going to do with them? dump the cargo container of them off shore to make fish habitat? use them as impromptu foot baths? That was one of the dumber things tommy and friends said. The current systems they have built are just a prototype run, and are far from production ready/quality. They would most likely need another PCB spin, especially now that it's been a few years since it was designed. A bunch of those parts they specified are probably EOL or flat out unavailable, so they will have to redesign parts of it for the things they CAN get. And that means recertification anyways.
  43. Ok I think this thread has run its course. Locking this for the sanity of everyone.
  44. Representing at Vintage Computer Fest South East (VCF-SE.)
  45. I suspect Allard was just paid to use his name to market the amico. You notice the only thing mentioned was his name. The picture of him they used was from wikipedia! I don't think he ever visited intellivision once- we all know how tommy LOVES to take pictures of anyone even slightly famous so he can trot it out when anything they were involved in was mentioned. "Oh yeah, I know xyz! see? here's a picture where we're doing pdq!" Allard had no actual role in the company, and the SEC investigation proved it when INTV said he had no material role. He was just being used as investor bait and little else. INTV used his name to entice investors on republic.co long after he was gone, too. We know the hardware design was mostly complete at the end of 2019, going by the video where they are working in what seems to be nick's back storage room. The PCB is complete and there's two versions of it hanging on a cube wall along with the other auxiliary PCBs next to it. The PCB guy has the design for the controller up on the screen and it appears to be the final one or close to it. So allard didn't do anything hardware wise. He didn't do anything software wise, and he definitely didn't do anything marketing wise. So his job was simply to be bait for investors- specifically his name. His title should've been "master of keepin' it real". If he was an actual valuable employee, there would've been a non-wikipedia picture of him on their website, and tommy DEFINITELY would've posted several pics of the two of them playing amico or petting giraffes or something like that.
  46. Hundreds of people were not banned from that thread, that's just ridiculous. You've obviously come here with quite the bias against AtariAge and the community here, wasting no time at all going on the attack with your very first posts. Why are you here? If you want to discuss the Amico, fine, but please do so without making blanket statements about the members and the site that are simply not true. ..Al
  47. I've been meaning to post about HOKEY. HOKEY is basically ready to go, but before I release, it is important for me to get the next version of the Concerto firmware ready for the best possible HOKEY support. I have been working on that this month and will almost certainly have something ready in a few weeks.
  • Create New...