Eagle Posted February 22, 2023 Author Share Posted February 22, 2023 Maria 160B mode for background and sprites GFX from A8 version by @Tezz Vega and @tebe Sprites version by @TIX colored by me to 160B Also I did conversion test of G2F picture by Odyn1ec A7800_ Atari 7800 (PAL) Cool [a7800p] 2023-02-22 20-47-37.mp4 A7800_ Atari 7800 (PAL) Cool [a7800p] 2023-02-22 18-00-21.mp4 12 Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5214059 Share on other sites More sharing options...
Defender_2600 Posted February 23, 2023 Share Posted February 23, 2023 (edited) Great demo! And on the 7800, the background of Bomb Jack can be very close to the arcade version. Here is an example from my old 160B archive. I also added a third green color to enhance the trees. Edited February 23, 2023 by Defender_2600 7 1 Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5214290 Share on other sites More sharing options...
TIX Posted February 23, 2023 Share Posted February 23, 2023 Hey @Eagle, That's a very promising demo !! The set of Bomb Jack sprites are from an old attempt to hack/replace the ugly C64 sprites for the A8 port. I'm sure we can do MUCH better for the 7800 when time comes 😉 4 1 Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5214331 Share on other sites More sharing options...
Eagle Posted February 23, 2023 Author Share Posted February 23, 2023 (edited) @Defender_2600 unfortunately I can use only 128px for background. @TIX BJ is 3rd or 4th on my list TODO, so plenty of time left. Today next test, Polish classic game FRED ps. sorry for background, I was to lazy today A7800_ Atari 7800 (PAL) Cool [a7800p] 2023-02-23 20-14-10.mp4 A7800_ Atari 7800 (PAL) Cool [a7800p] 2023-02-23 22-24-27.mp4 edit: wider background A7800_ Atari 7800 (PAL) Cool [a7800p] 2023-02-23 23-06-52.mp4 Edited February 23, 2023 by Eagle 10 Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5214727 Share on other sites More sharing options...
Defender_2600 Posted February 23, 2023 Share Posted February 23, 2023 46 minutes ago, Eagle said: @Defender_2600 unfortunately I can use only 128px for background. When you're ready to work on Bomb Jack, let me know. I'll get you the background graphics of all levels in 128 pixels. 3 Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5214755 Share on other sites More sharing options...
Defender_2600 Posted February 24, 2023 Share Posted February 24, 2023 2 hours ago, Eagle said: Today next test, Polish classic game FRED I love the original black background, it brings out the detail of the graphics and makes them more solid. The new colors are beautiful. 1 Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5214836 Share on other sites More sharing options...
Revontuli Posted February 24, 2023 Share Posted February 24, 2023 9 hours ago, Eagle said: Today next test, Polish classic game FRED Impressive scrolling! While I have a few ideas on how to have different elements of a scrolling background have different palettes, my own scrolling engine assumes a single palette for the whole thing (or at least per zone). I'm curious as to the approach/limitations you have for system, and how many cycles you have left! Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5214961 Share on other sites More sharing options...
Eagle Posted February 24, 2023 Author Share Posted February 24, 2023 Thanks @Revontuli Scroll is using 126 cycles per each line. This is direct mode 160A (21 tiles 8px wide per line) So around 1000 for full screen plus few hundreds every 8 frame for updating the right side of the screen. DMA usage is not bad for a screen with no background. I would say 200 Maria cycles on average per line (empty tiles are pointing DMA holes saving cycles) With background layer DMA usage is very close to Maria limits. (this was just done as prof of concept) But in Fred, all the animations and movements of the enemies were done on the chars, so I'm sure it could work well. I'll give some code example later. 1 Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5215064 Share on other sites More sharing options...
+karri Posted February 24, 2023 Share Posted February 24, 2023 1 hour ago, Eagle said: This is direct mode 160A (21 tiles 8px wide per line) With just one 8px tile that is not on screen I assume that you draw the new content on this column when it is hidden to avoid the flicker. Correct? Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5215125 Share on other sites More sharing options...
Eagle Posted February 24, 2023 Author Share Posted February 24, 2023 (edited) @karri yes There is so many variants, so let me explain easiest one. Scrolling screen to the left (like Fred, Mario Bros, etc.) Mode 160A, tiles 16x16, each tile can have pallet 0-7 For one line Display list example in MADS (# is counter in mads, :21 repeat line 21 times and increase counter) line0 :21 .byte <TileFred,$1e,>TileFred,#*8 Mads will generate 21 headers 4 bytes each It will look like this line0 .byte <TileFred,$1e,>TileFred,0 .byte <TileFred,$1e,>TileFred,8 .byte <TileFred,$1e,>TileFred,16 .byte <TileFred,$1e,>TileFred,24 .......... .byte <TileFred,$1e,>TileFred,160 ;tile 21 outside visible screen - X position = 160 to scroll left you need decrease Xpos for every tile (4th byte of every header) Again in MADS will look like this :21 dec line0+3+[#*4] this will generate 21 lines dec line0+3+0 dec line0+3+4 dec line0+3+8 dec line0+3+12 dec line0+3+16 ............... dec line0+3+80 then you check all xpos in line0 and update them chceck_for_update_column ldx #$00 loop lda line0+3,x cmp #$F8 ;or $f9 depends when you'r checking beq update_column inx inx inx inx cpx #21*4 ;21 headers bne loop ; no time for update tiles rts update_column ;in X you have column for every line ;store on zeropage or somwhere lda #160 ;change full column xpos to outside screen on the right side sta line0+3,x sta line1+3,x sta line2+3,x ........... sta line12+3,x ; ;update lsb,msb and colour for new tiles on the right side ; if tiles is empty/background set msb=$F0 to holey DMA ; for saving cycles you don't need update colour and lsb then as well lda #<lsb_new_tile sta line0+0,x lda #>msb_new_tile sta line0+2,x lda #colour_and_width_new_tile sta line0+1,x ; lda #<lsb_new_tile sta line1+0,x lda #>msb_new_tile sta line1+2,x lda #colour_and_width_new_tile sta line1+1,x ; repeat this again for next lines ; ; I hope it helps. edit: changed rows to columns (sorry for confusion) Edited February 24, 2023 by Eagle 2 1 Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5215230 Share on other sites More sharing options...
+karri Posted February 24, 2023 Share Posted February 24, 2023 Yes, I got it. Obviously I made one mistake in Wizzy. I update the tiles too late when they are in the viewport. But I might do this fine tuning later when I know how much resources are left. Currently I do my displaylist modifications during the screen blank time. So I scroll just 7 zones during the first irq, and the remaining 7 during the next irq. This housekeeping with irq's allow me to run sfx sound effects and vgm player using irq's as well. ; The horizontal scrolls need a number of lines to scroll ; It will scroll scrri lines per irq and change the _scrptr ; and decrement the _scrri .macro addoff off ldy #4*off lda (_scrptr),y clc adc #8 sta (_scrptr),y .endmacro scrollright: lda _scrri bne @L1 clc ; Slot not used rts @L1: addoff 0 addoff 1 addoff 2 addoff 3 addoff 4 addoff 5 addoff 6 addoff 7 addoff 8 addoff 9 addoff 10 lda _scrptr clc adc _rowoff sta _scrptr bcc @L2 inc _scrptr+1 @L2: dec _scrri lda _scrri bne @L1 sec rts The vertical scroll was easier to do. .macro movdll from, to lda _dll+1+3*from sta _dll+1+3*to lda _dll+2+3*from sta _dll+2+3*to .endmacro scrolldll: ; Push first pointer on stack lda _dll+3*3+1 pha lda _dll+3*3+2 pha movdll 4, 3 movdll 5, 4 movdll 6, 5 movdll 7, 6 movdll 8, 7 movdll 9, 8 movdll 10, 9 movdll 11, 10 movdll 12, 11 movdll 13, 12 movdll 14, 13 movdll 15, 14 movdll 16, 15 pla sta _dll+3*16+2 pla sta _dll+3*16+1 lda #$00 sta _scrup sec rts ; Slot used already endscr: clc ; Slot not used rts I realized that this does not make much sense without the main program that uses the irq. rowoff = sizeof(Zone); if (left) { // Move scenery right in two parts // to reduce load during flyback scrptr = &bgzones[0].extra[0].hpos; scrri = 7; while (scrri) ; scrptr = &bgzones[7].extra[0].hpos; scrri = SCREEN_HEIGHT - 7; while (scrri) ; PS. I am dreaming on visiting Silly Ventures in August. With a playable version of Wizzy. 3 Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5215246 Share on other sites More sharing options...
Eagle Posted February 25, 2023 Author Share Posted February 25, 2023 (edited) LZSS16 player v0.1 for Pokey NTSC friendly LZSS16 player - emulator link LZSS16player.a78 Edited February 25, 2023 by Eagle 4 Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5215809 Share on other sites More sharing options...
+karri Posted February 25, 2023 Share Posted February 25, 2023 I like the bass instrument at the end of the tune. Is this a VGM player for Pokey using LZSS compression? Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5215817 Share on other sites More sharing options...
Eagle Posted February 25, 2023 Author Share Posted February 25, 2023 (edited) No is LZSS player, it's little bit different. I published source code on AArea discord and we working on it. I will publish here later when is don, so everyone can make cart with any Pokey music he want. Below few old ones (pal only) BombJack by Miker BubbleBobble Easter by Miker Flimbo by Miker Arabic Bubble Shooter Edited February 27, 2023 by Eagle 5 1 Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5215822 Share on other sites More sharing options...
SlidellMan Posted March 4, 2023 Share Posted March 4, 2023 That Bomb Jack demo makes it look like he ended up in System Shock, and excellent job on the FRED demo. Eagle, Karri, excellent job on the assembly code. 1 Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5219654 Share on other sites More sharing options...
Eagle Posted March 13, 2023 Author Share Posted March 13, 2023 Stress test of my latest sprite engine Theoretically I can use up to 100 sprites on screen. 857038699_A7800_Atari7800(PAL)Coola7800p2023-03-1323-45-29.mp4 15 Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5225083 Share on other sites More sharing options...
+mksmith Posted March 14, 2023 Share Posted March 14, 2023 Brilliant as usual mate!! A fun game too! 3 Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5225109 Share on other sites More sharing options...
+Stephen Posted March 14, 2023 Share Posted March 14, 2023 3 hours ago, Eagle said: Stress test of my latest sprite engine Theoretically I can use up to 100 sprites on screen. 857038699_A7800_Atari7800(PAL)Coola7800p2023-03-1323-45-29.mp4 Fantastic! That's quite impressive. 2 Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5225173 Share on other sites More sharing options...
Eagle Posted March 14, 2023 Author Share Posted March 14, 2023 12 hours ago, Stephen said: Fantastic! That's quite impressive. Not really, this is just my old code from A800. Title is made in G2F by Vidol, and have only 7 colours when I'm using 13 (160B) Game graphics is from C64, background will be in 4 colours, but bottom it's 25 in 160B (I'm hardly using few for now) Will se how full gameplay will work then I may decide to put extra background layer to make parallax effect. I'm attaching one of the latest version for A8. For Altira you have to go to System>Configure system>Memory>Power-up-pattern>Cleared (I didn't clear memory under OS) Spoiler Please do not put this on A8 forum SWruchome.xex 3 1 Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5225385 Share on other sites More sharing options...
+Stephen Posted March 14, 2023 Share Posted March 14, 2023 Very cool - I like the debug output being displayed. Can I ask - how do you calculate the framerate (determine if object processing takes > 1 frame)? Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5225406 Share on other sites More sharing options...
Eagle Posted March 14, 2023 Author Share Posted March 14, 2023 I do not…. This is just text 1 Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5225410 Share on other sites More sharing options...
SlidellMan Posted March 15, 2023 Share Posted March 15, 2023 That Silk Worm demo is most impressive, Eagle. 3 Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5225567 Share on other sites More sharing options...
+saxmeister Posted March 15, 2023 Share Posted March 15, 2023 Such great and inspiring work. I love to see this old system in the hands of a talented programmer just to see what she can do! 1 Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5225645 Share on other sites More sharing options...
Eagle Posted March 16, 2023 Author Share Posted March 16, 2023 Small update Collisions, hitting, explosions, enemies patterns... 948825052_A7800_Atari7800(PAL)Coola7800p2023-03-1617-16-13.mp4 11 Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5226374 Share on other sites More sharing options...
Eagle Posted March 17, 2023 Author Share Posted March 17, 2023 Just few enemies left to add. Weapon up, bottom scroll slow down. Every object in code has his own colour/trajectory/energy level et. Need to redraw some gfx, will try new level tomorrow and add jeep logic (it's done just need copy/paste from my old code) Spoiler most of the code should be done by the next week 623517631_A7800_Atari7800(PAL)Coola7800p2023-03-1723-00-26.mp4 10 Quote Link to comment https://forums.atariage.com/topic/315966-my-experiments-with-atari-7800/page/13/#findComment-5227001 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.