shanti77 Posted May 9, 2021 Share Posted May 9, 2021 Simple sprites spliter: - 8 sprites - every sprite have 3 colors - 16px height - no background vertical scroll Demo.zip 16 3 Quote Link to comment Share on other sites More sharing options...
Cyprian Posted May 10, 2021 Share Posted May 10, 2021 looks cool Quote Link to comment Share on other sites More sharing options...
+MrFish Posted May 10, 2021 Share Posted May 10, 2021 (edited) On 5/9/2021 at 2:41 PM, shanti77 said: Simple sprites spliter Clicking on "Bomb Jack" in your sig, I see you're putting it to some good use. Looks like good performance, and the flicker is minimal. In this case, I'm guessing Bomb Jack will run on a lot less than 320K -- probably 64K, eh? Edited May 10, 2021 by MrFish Quote Link to comment Share on other sites More sharing options...
+Philsan Posted May 10, 2021 Share Posted May 10, 2021 It would be nice to add your code to FastBasic to have 6-8 sprites.. 1 Quote Link to comment Share on other sites More sharing options...
shanti77 Posted May 11, 2021 Author Share Posted May 11, 2021 (edited) @MrFishI also think that 64K is enough. @Philsan Of course you can add. In assembler, this is easier to use, because you can always make a few modifications quickly. Eg missiles can be used as missiles, or you can add an additional color to the main character. Sprites can have 1 solid color ($04), but we will be changing its width. The sprites can be taller. This is just a simple example. -------- In the example I also included a short application written in DevC ++. It is used to convert shapes saved with the AtariPlayerEditor ("LIST" option). We copy the fragment with sprite data : const unsigned char P0DATA[FRAMES][HEIGHT] = { ... }; const unsigned char P1DATA[FRAMES][HEIGHT] = { ... }; and paste them into the main.cpp file in the same place. Enter the number of frames, height and shape name. Then, after compiling (F9) and running (F10), the data.asm file is created with the ready data. Edited May 11, 2021 by shanti77 Quote Link to comment Share on other sites More sharing options...
+Philsan Posted May 11, 2021 Share Posted May 11, 2021 @shanti77 I mean a language extension, a machine language call or something like that, to let people who only know Basic to have 6-8 sprites. For example, I remember there was a Page6 magazine routine: X=USR(1536,PLAYER_NUMBER,X_POSITION,Y_POSITION,FRAME_NUMBER) @dmsc FastBasic is very fast but limited hardware sprites are a problem for not skilled people (like me) or people that want to convert games from other platforms. Skilled people can use DLI new command, assembly or other tricks. Quote Link to comment Share on other sites More sharing options...
shanti77 Posted May 11, 2021 Author Share Posted May 11, 2021 In my opinion, it will take longer to get all these libraries covered afterwards than learning assembly language. You just have to get to know the hardware a little, but it just comes after writing a few programs. 1 Quote Link to comment Share on other sites More sharing options...
popmilo Posted May 11, 2021 Share Posted May 11, 2021 On 5/9/2021 at 8:41 PM, shanti77 said: - no background vertical scroll Nice example. What do you mean by no back. vertical scroll ? Quote Link to comment Share on other sites More sharing options...
shanti77 Posted May 11, 2021 Author Share Posted May 11, 2021 @popmilo After adding a vertical scroll, the current offset must be used to calculate the sprite's position in the lines of characters. Additionally, you need to fix the DLI interrupt, the problem may occur in the first and last interrupt depending on the shape of the screen. The interrupts can overlap, this is the situation I had in The Last Squadron, you have to catch such situations and, for example, omit one of the interrupts. It was supposed to be a simple example so I deleted this part. There is also no support for shells and sprites of various heights, but you can see the method and upgrade the engine if necessary. Quote Link to comment Share on other sites More sharing options...
popmilo Posted May 11, 2021 Share Posted May 11, 2021 1 minute ago, shanti77 said: @popmilo After adding a vertical scroll, the current offset must be used to calculate the sprite's position in the lines of characters. Additionally, you need to fix the DLI interrupt, the problem may occur in the first and last interrupt depending on the shape of the screen. The interrupts can overlap, this is the situation I had in The Last Squadron, you have to catch such situations and, for example, omit one of the interrupts. It was supposed to be a simple example so I deleted this part. There is also no support for shells and sprites of various heights, but you can see the method and upgrade the engine if necessary. Ah, yeah, famous Atari dli's once per mode line I do miss c64 style irqs on any raster line... One more advantage of bitmap mode on A8, irq can be in any scanline. Still, good enough for horizontal shooter Quote Link to comment Share on other sites More sharing options...
shanti77 Posted May 11, 2021 Author Share Posted May 11, 2021 @popmilo You can use irq, but then how you change character set, and colors exactly with the line? Additionally, you lose one audio channel and the interrupts will run at different speeds depending on which character line they are triggered on. Quote Link to comment Share on other sites More sharing options...
popmilo Posted May 11, 2021 Share Posted May 11, 2021 Didn't even think about using timer irqs. Imho it's good for playing sound samples or some ultra special case in intros and demo like effects that have stable patterns. In bitmap mode where you can set DLI flag in any scanline it's "easy" to move splits vertically, even if you use vscroll. Only problem that was mentioned in this forum a thousand times is that you loose 5th color and fast char-effects become harder. It's like a long lasting game, trying to figure out the best way to do stuff on atari I hate it and love it at the same time 3 Quote Link to comment Share on other sites More sharing options...
Tezz Posted May 11, 2021 Share Posted May 11, 2021 (edited) Hi, it looks like two people are working on the same thing again I've not been around for a year or so with family commitments. After TIX was discussing the Bomb Jack sprites last year (see link)... I started working on Bomb Jack arcade following my original intention for the conversion. I was working on the concept for the kernel procedure encompassing the sprite multiplex and backgrounds. I dug out my original arcade sprites from all those years ago and reworked or redrew them ready for the new project. I also reworked the backgrounds to improve them and bring them closer to the arcade original as compromises were nessasary for the soft sprites in the joint project back in 2008. I began planning a direct conversion of the arcade AY-3-8910 music which is quite well documented online. It goes without saying however that 2020 wasn't a good year. I'm hoping to get some more free time again this year to continue on with all the projects again. Edited May 11, 2021 by Tezz 3 Quote Link to comment Share on other sites More sharing options...
+CharlieChaplin Posted May 11, 2021 Share Posted May 11, 2021 We do not have enough Bomb Jack versions yet And if there is another one that works with 64k, then all is fine. (But I personally think that we already have enough Boulder Dash and Robbo versions.) 1 1 1 Quote Link to comment Share on other sites More sharing options...
+MrFish Posted May 11, 2021 Share Posted May 11, 2021 (edited) 10 hours ago, shanti77 said: @MrFish I also think that 64K is enough. I didn't even notice (until now), it says "64 KB" right on the video title. Duh! I was assuming 64 KB, though, since all the memory needed for the existing version (320 KB) was due to using charmode for sprites. So, yeah, that's the great benefit of using PM's, if you've got a good enough multiplexer to cover all the sprites and colors needed. Edited May 11, 2021 by MrFish Quote Link to comment Share on other sites More sharing options...
emkay Posted May 11, 2021 Share Posted May 11, 2021 2 hours ago, CharlieChaplin said: We do not have enough Bomb Jack versions yet And if there is another one that works with 64k, then all is fine. (But I personally think that we already have enough Boulder Dash and Robbo versions.) I second that. But I hate videos with fake sound. Quote Link to comment Share on other sites More sharing options...
+CharlieChaplin Posted May 11, 2021 Share Posted May 11, 2021 Some Bomb Jack alike versions for the A8: - Gun Powder Charlie by Atari User mag. - Bomb Squad by Antic mag. - Little Devil by Red Rat, later Byte Back - Bomb Fusion by Mastertronic They all work on 48k / 64k machines, but errmmm, they are... let's say "not so good". And there is Bomb Jack by TeBe, Vega, Tezz and Miker from 2008 which is very good, but requires a minimum of 320k RAM for the disk/fileversion (the rare and expensive cart. version Bomb Jake comes with its own RAM and therefore works on 64k machines). I would happily welcome a 64k Bomb Jack version... Quote Link to comment Share on other sites More sharing options...
emkay Posted May 11, 2021 Share Posted May 11, 2021 1 minute ago, CharlieChaplin said: Some Bomb Jack alike versions for the A8: - Gun Powder Charlie by Atari User mag. - Bomb Squad by Antic mag. - Little Devil by Red Rat, later Byte Back - Bomb Fusion by Mastertronic They all work on 48k / 64k machines, but errmmm, they are... let's say "not so good". And there is Bomb Jack by TeBe, Vega, Tezz and Miker from 2008 which is very good, but requires a minimum of 320k RAM for the disk/fileversion (the rare and expensive cart. version Bomb Jake comes with its own RAM and therefore works on 64k machines). I would happily welcome a 64k Bomb Jack version... Little Devil is the best of those. Particular the "ambience" is something special. Quote Link to comment Share on other sites More sharing options...
Tezz Posted May 11, 2021 Share Posted May 11, 2021 10 hours ago, shanti77 said: @popmilo You can use irq, but then how you change character set, and colors exactly with the line? Additionally, you lose one audio channel and the interrupts will run at different speeds depending on which character line they are triggered on. With regard to the irq you create a command jump list which is dispatched in sequence in your irq procedure at the precise time set by the timer. I'm using variations of this technique in Barbarian and planned for Bomb Jack arcade... well with any future project where NMI won't cut it really. Quote Link to comment Share on other sites More sharing options...
shanti77 Posted May 11, 2021 Author Share Posted May 11, 2021 @TezzBut you always lose one channel of sound that can be used for FX, and you have 3 channels for music. I thought your project was already dead, and I wanted to test the engine on a different type of game. @emkay There is often a different sound in movie trailers, there is nothing strange about it. Quote Link to comment Share on other sites More sharing options...
Tezz Posted May 11, 2021 Share Posted May 11, 2021 57 minutes ago, shanti77 said: @TezzBut you always lose one channel of sound that can be used for FX, and you have 3 channels for music. I thought your project was already dead, and I wanted to test the engine on a different type of game. True although technically the channel could be used for samples Quote Link to comment Share on other sites More sharing options...
tebe Posted May 11, 2021 Share Posted May 11, 2021 precision IRQ splits (PAL version) irqsplits.7z 2 1 Quote Link to comment Share on other sites More sharing options...
shanti77 Posted May 12, 2021 Author Share Posted May 12, 2021 I still think DLI is the better solution. I used the IRQ in Bosconian but in 64Khz, the first version of the TLS engine was also made on IRQ. In the case of sprite multiplexing, IRQ gives no advantage and spoils the sounds (15Khz and only 3 channels). Quote Link to comment Share on other sites More sharing options...
popmilo Posted May 12, 2021 Share Posted May 12, 2021 @tebe thanks for great example ! It sure is simpler than messing with char mode dli's. Imho if you don't care about sound that much, have a scrolling screen and you mostly have some distance between sprites, irq is an option. ps. Me still like soft sprites more Quote Link to comment Share on other sites More sharing options...
shanti77 Posted May 14, 2021 Author Share Posted May 14, 2021 All backgrounds + Emkay music. 11 2 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.