Asmusr Posted April 3, 2022 Author Share Posted April 3, 2022 9 minutes ago, Sergioz82 said: For curiosity, how does it work? Is it made with charsets or is the matrix calculated real time (color table maybe)? It's really simple (for now at least): Each big character is made of 4x5 characters from a set of 16 patterns defining the big 'pixels'. Ultimately there should have been 3 colors per character, but I find that using inverted colors for the illuminated pixels works quite well. I would like to add scrolling and other effects. That reminds me, if you run the demo of a machine with F18A that allows 32 sprites per line, the masking of the dot matrix panel doesn't work, so you will see sprites moving into the area. There are ways around that using the F18A GPU, but it will take a bit of work. 4 Quote Link to comment Share on other sites More sharing options...
whoami999ster Posted April 9, 2022 Share Posted April 9, 2022 On 3/22/2022 at 6:31 AM, Asmusr said: It will be scrolling or nothing at all. alea iacta est .. Rasmus: it is an amazing result as you have always accustomed us to Thanks Quote Link to comment Share on other sites More sharing options...
whoami999ster Posted April 9, 2022 Share Posted April 9, 2022 On 10/24/2018 at 10:04 PM, Asmusr said: I finally made a proof of concept for the TI, very similar to the Java demo that sometimes99 posted a video of a while back, but with scrolling. You can just view the ball bouncing around, or press joystick left and right to steer the ball a little. The collision map is stored uncompressed, so it takes up 40K of the 64K ROM image. From the collision map I get a byte value that can be used to check if there is a wall at the given point and to look up a normal vector for the wall. The normal vector can then be used to calculate the reflection vector for the ball when it hits the wall. Calculations are done using fixed point arithmetic. pinball-demo-8.bin 64 kB · 56 downloads source.zip 15.66 kB · 77 downloads any chance for a source code available for WIN ASM994A ? Quote Link to comment Share on other sites More sharing options...
Asmusr Posted April 9, 2022 Author Share Posted April 9, 2022 1 hour ago, whoami999ster said: any chance for a source code available for WIN ASM994A ? Not right now, but later I will probably put the code on GitHub. I'm using the xas99 assembler, so some changes would be required for asm994a. 1 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted April 12, 2022 Author Share Posted April 12, 2022 This is my first attempt at a level for an actual game, which is heavily inspired by Ignition from Pinball Dreams, but the theme is TI-99/4A as you can see. I still have some patterns left, so let me know if you have ideas for something that could improve how it looks. This is graphics mode, and all characters next to each other must have the same colors. Everything else is sprites. 18 5 Quote Link to comment Share on other sites More sharing options...
ti99iuc Posted April 12, 2022 Share Posted April 12, 2022 Oh my gosh! ? It is very nice Rasmus ! 5 Quote Link to comment Share on other sites More sharing options...
Serafini Lapo Posted April 13, 2022 Share Posted April 13, 2022 (edited) Caro Rasmus, Non sono da molto qualità nella "mondo Ti99" ma subito ho capito che hai delle ENORMI qualita di programmazione?. Anche oggi, in ogni sessione di gioco che faccio con il mio TI99, non manca mai una partita ad uno dei tuoi giochi?. Fatti i MERITATI complimenti a te, ti dico che su Amiga500 Pimball dreams e seguiti, erano tra i miei giochi preferiti su questo computer. Immagina quanto aspetto con trepidazione questo! (Come quando leggevo i diari dei vari giochi su Zzap tipo TURRICAN o CREATURES, sapendo già che questi giochi sarebbero diventati dei capolavori. Detto questo, buona programmazione e grazie di tutto! Edited April 13, 2022 by Serafini Lapo Correzioni 3 Quote Link to comment Share on other sites More sharing options...
Kurt_Woloch Posted April 16, 2022 Share Posted April 16, 2022 Just for the record... I just saw this thread, and actually back in 2018 when the thread was started, I programmed the pinball portion of Baby Pac-Man for the Atari 7800 because the main programmer, Bob, couldn't wrap his head around the physics. I basically did sort of a collision map as shown earlier in this thread, but with some twists to save space. I'll try to explain how my version works... First there is a main map which consists of 8 numbers per column. I did it per column because the pinball part of Baby Pac-Man is symmetric, so the same map gets used for the left and right half of the screen, and also, the number of objects per column is more consistent than the number of objects per row. The first (I think) of the 8 numbers gives the zone definition map to be used for this column (more on this below), the remaining numbers (which are always in ascending order) give up to 7 rows where the column definition changes. Typically, this means that the first of these numbers is one less than the top row the ball is able to reach when it's on this column. The next is the bottom row it can reach while not bouncing into the next obstacle, the next one after that is maybe in the middle of the obstacle, or it's the next row where the ball can roll freely again, depending on if the same handler is being used for the top and bottom of the obstacle or two different ones. In each frame, depending on the column the ball is on, a hardcoded binary search gives the running number of the zone the ball is on. The zone number in this table is there to group the playfield into columns which contain the same obstacle, so the next table only needs to contain one entry for each of those groups. So with the zone number found and the zone definition number of that column, a second table is accessed which, for each zone, contains 8 more numbers which encode the handler to be used for this row and column. The handler now controls the behavior of the ball... some of the obstacles are only walls, so there are tables which typically give the angle of each column. Others are active in that they reflect the ball with more force, or they are the flippers at the bottom which are again divided in multiple zones reacting depending on the flipper position. Here's an example (made up here)... Let's say we're in row 53, column 32, and the table for column 32 contains the entries 25, 32, 33, 37, 54, 58, 142 and 147. Number 25 is the zone number in the next table, and the binary search shows the ball row being greater than the 4th number, so the position number as a result is 4. Now we access row 25 of the zone table (according to the number 25 at the start of the row of the first table). Row 25 is 3, 0, 4, 7, 0, 13, 15, 2, so according to the number 4, we access the 4th element in this row, which is 7. So now we run handler number 7 which makes the ball react to the object it is touching. This way, the tables are pretty small although the code for each handler is a bit bigger. The first table is the biggest at 512 bytes, then, if I remember right, there are 37 zones in Baby Pac-Man, so the second table contains 296 bytes. Then there are a few more angle tables for the objects which aren't a single line, but they are only 30-50 bytes at most per object. All in all, the physics part of Baby Pac-Man, including the tables, but not including sound and graphics, only takes up about 4K of ROM. The way the collision map is done was inspired by the way it's done in "Pinball Magic" on the Atari 2600 which was once ported to the Atari 8-bits with commented and released source code. 5 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted April 16, 2022 Share Posted April 16, 2022 I serviced a BABY PAC-MAN PINBALL machine once... Almost lost my mind trying to breathe life into it again. All those lights, and I seem to remember a bell! The times I got it to power-up, it scared the bejesus out of me!!! P.S. whosoever heard of a pinball machine with a CRT game screen. P.P.S. I liked neither the video game, nor the playfield. Some things just don't work together... Spoiler ...Killed two songs with one shot! 2 Quote Link to comment Share on other sites More sharing options...
kl99 Posted April 22, 2022 Share Posted April 22, 2022 On 4/12/2022 at 9:17 PM, Asmusr said: This is my first attempt at a level for an actual game, which is heavily inspired by Ignition from Pinball Dreams, but the theme is TI-99/4A as you can see. I still have some patterns left, so let me know if you have ideas for something that could improve how it looks. This is graphics mode, and all characters next to each other must have the same colors. Everything else is sprites. Congrats Rasmus. Saw the videos already. You really impress us. Regarding ideas on the pic: The big blue background area above the two paddles could be turned into a blue TI logo. 3 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted April 22, 2022 Author Share Posted April 22, 2022 6 hours ago, kl99 said: Regarding ideas on the pic: The big blue background area above the two paddles could be turned into a blue TI logo. Thanks. Well the starting point for that blue blop was actually a TI logo. It's difficult to do any discreet background graphics because all the colors are so bright, so that's why I came up with the idea of using something dithered (also because the smooth scrolling means coloring is very restrictive). 5 Quote Link to comment Share on other sites More sharing options...
CrazyChris Posted April 24, 2022 Share Posted April 24, 2022 (edited) Wow! It even has music in it. Edited April 24, 2022 by CrazyChris Quote Link to comment Share on other sites More sharing options...
+pixelpedant Posted May 4, 2022 Share Posted May 4, 2022 I suppose the idea of dithered blue as a great choice for subtler backgrounds on the TI-99 is one with some original era precedent. Because I think it works really well in Slymoids: Slymoids doesn't get a tonne of credit, since it came out so late in the TI-99's life and is a rather simple game. But I really think that, artistically, it was the best in-house TI-99 game there was. 7 Quote Link to comment Share on other sites More sharing options...
jrhodes Posted May 4, 2022 Share Posted May 4, 2022 Slymoids is a blast, I just happen to suck at it lol. 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted May 4, 2022 Share Posted May 4, 2022 29 minutes ago, jrhodes said: Slymoids is a blast, I just happen to suck at it lol. Hmm I thought it was just me..oh.. it is.. 1 Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted May 5, 2022 Share Posted May 5, 2022 Slymoids was one of a very few of the old-school TI games I played a lot of, but like my skill set with games in general, I never really got good at it. On the dithered blue, that is one of those color combinations that really pops on CRTs. 2 Quote Link to comment Share on other sites More sharing options...
GDMike Posted May 5, 2022 Share Posted May 5, 2022 3 minutes ago, Ksarul said: Slymoids was one of a very few of the old-school TI games I played a lot of, but like my skill set with games in general, I never really got good at it. On the dithered blue, that is one of those color combinations that really pops on CRTs. Right, same here. I loved trying.. but, nahh... but I love watching 1 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted May 6, 2022 Author Share Posted May 6, 2022 Here's a preview of how things are going with the project. The working title is the not very inspired "Pinball 99". The sound and music is still borrowed from other projects. The speech is converted from the voice of a modern speech synth. I have given up thinking about making it work without 32K, although in theory that could have worked. 8 4 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted May 6, 2022 Author Share Posted May 6, 2022 I noticed a bug at 2:30 in the video: I'm getting the 2x bonus even though the 'I' is still not lit. BTW, I have implemented the same system as in Pinball Dreams where you can shift which of the T I 9 9 letters are lit using the flipper keys in order to make it easier to get a bonus. 4 1 Quote Link to comment Share on other sites More sharing options...
Nick99 Posted May 6, 2022 Share Posted May 6, 2022 It's amazing! ? 2 Quote Link to comment Share on other sites More sharing options...
tmop69 Posted May 6, 2022 Share Posted May 6, 2022 34 minutes ago, Asmusr said: Here's a preview of how things are going with the project. The working title is the not very inspired "Pinball 99". The sound and music is still borrowed from other projects. The speech is converted from the voice of a modern speech synth. I have given up thinking about making it work without 32K, although in theory that could have worked. It looks spectacular! ? Please, add also the joystick support (left/right for buttons, up to throw the ball, up/fire for tilt), so we can play it on bit TVs in lounge. 5 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted May 6, 2022 Author Share Posted May 6, 2022 (edited) 44 minutes ago, tmop69 said: Please, add also the joystick support (left/right for buttons, up to throw the ball, up/fire for tilt), so we can play it on bit TVs in lounge. The problem with joystick support is, of course, that you can't engage both flippers at the same time, but maybe it's not such a big problem if you're not aiming to break the world record? Edited May 6, 2022 by Asmusr 3 Quote Link to comment Share on other sites More sharing options...
ti99iuc Posted May 6, 2022 Share Posted May 6, 2022 It is really a fantastic result! I can't believe it is playing on a ti99, thanks Rasmus! 2 Quote Link to comment Share on other sites More sharing options...
PeteE Posted May 6, 2022 Share Posted May 6, 2022 The joystick control scheme I've seen for pinball is left/right - flippers, up - both flippers, down - pull plunger to shoot, button - bump/tilt. 5 1 Quote Link to comment Share on other sites More sharing options...
Serafini Lapo Posted May 6, 2022 Share Posted May 6, 2022 Non ho parole.. in passato il gioco che aspettai con maggior passione e trepidazione fu' Turrican per C64.. ma questo lo batte alla grande!! Grazie Rasmus.. grazie davvero!! 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.