Jump to content

Eagle

+AtariAge Subscriber
  • Content Count

    210
  • Joined

  • Last visited

  • Days Won

    1

Eagle last won the day on December 9 2011

Eagle had the most liked content!

Community Reputation

196 Excellent

About Eagle

  • Rank
    Chopper Commander

Profile Information

  • Gender
    Male

Recent Profile Visitors

6,549 profile views
  1. My version in Mads Hello, World! - JS7800 emulator link https://github.com/tebe6502/Mad-Assembler http://mads.atari8.info/mads_eng.html https://www.wudsn.com/index.php/ide icl 'maria.h' opt f+h- org $40 dest .ds 2 ;2 bytes ORG $8000-128 HEADER .byte 1 ; 0 Header version - 1 byte .by "ATARI7800 " ; 1..16 "ATARI7800 " - 16 bytes .by "Project name " ; 17..48 Cart title - 32 bytes .by "Author " ; 2 line DTA r ($8000) ; 49..52 data length - 4 bytes (Big-endian format) .byte $00,$00 ; 53..54 cart type - 2 bytes .byte 1 ; 55 controller 1 type - 1 byte .byte 0 ; 56 controller 2 type - 1 byte .byte 0 ; 57 0 = NTSC 1 = PAL .byte 0 ; 58 Save data peripheral - 1 byte (version 2) .byte 0,0,0,0 ;ORG HEADER+63 .byte 0 ; 63 Expansion module .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 .by "ACTUAL CART DATA STARTS HERE" .macro clear_ram ldy #$00 mwa #:1 dest lda #$00 @ sta (dest),y inw dest lda dest+1 cmp #>[:2+1] bne @- .endm org $8000 fnt ins 'cmc.fnt' ; START sei ;Disable interrupts cld ;Clear decimal mode mva #$07 INPTCTRL mva #$7F CTRL mva #$00 OFFSET mva #$00 INPTCTRL ldx #$FF ;Reset stack pointer txs ;Clear zeropage,stack,RAM clear_ram $42,$FF ;skip $40&$41 (dest) clear_ram $140,$1FF clear_ram $1800,$1FFF clear_ram $2200,$27FF ; copy Display List List To RAM ldy #0 copy mva .adr(DLLs),y DLLs,y+ cpy #.len DLLs bne copy ; mva #<DLLs DPPL\ mva #>DLLs DPPH ;set display list list address jsr WaitVBLANK ;wait until no DMA would happen mva #>fnt CHBASE mva #$40 CTRL ;set colors mva #$00 BACKGRND\ mva #$02 P0C1\ mva #$04 P0C2\ mva #$0c P0C3 jm jmp jm NMI RTI IRQ RTI WaitVBLANK: WaitVBoff: bit MSTAT bmi WaitVBoff WaitVBon: bit MSTAT bpl WaitVBon rts ; RAM ORG $1800,* .local DLLs :2 .byte $0F,>emptyline,<emptyline .byte $07,>line,<line :24 .byte $0F,>emptyline,<emptyline .byte 0 line .byte <text,$60,>text,0,20 emptyline .byte $00,$00 text .sb 'Hello, World! ' .endl ;************** Cart reset vector ************************** ORG $fff8 .byte $FF ;Region verification .byte $87 ;ROM start $8000 .word NMI .word START .word IRQ maria.h helloworld.asm CMC.FNT helloworld.a78
  2. @-^CrossBow^- try to change byte 57 in file header from 1 (pal) to 0 (ntsc) and theoretically should work All files have signature. Sorry but I'm not testing on my NTSC A7800 because have black and white and no sound on my tv. But I'm working on it. edit: try this ones no chance for bloodfighter covoxjester.a78 covox16khz.a78 covox94khz.a78
  3. I've tried play Covox with DLI (7720Hz). For some reason wasn't play well. I changed program to normal loop with 2xWsync and is playing ok. 🤔 Jester - Elysium covoxjester.a78
  4. This is just proof of concept. This same song in 94320Hz 1MB last only for 12 second, it's taking 24 second for Dragonfly to load this file 😁 covox94khz.a78
  5. Another Covox demo for @rj1307Dragonfly. Similar to @playsoft but mine is 31440 Hz Interesting is how easily you can load file into 63 cart banks using Mads assembler. .macro load_sample org $8000 opt f+ ins 'beemoved2.raw',16384*:1,16384 opt f- .endm ; loading file into 63 banks!!! :63 load_sample # Timing it's not bad. But when I was counting the cycles was a little bit too slow. Probably I should switch off Maria playsample lda $8000 ;4 sta Covox ;3 sta Covox+1 ;3 inw playsample+1 ;6+3 and 6+2+6 every 256 bytes bit playsample+2 ;4cyc bvc no_change_bank ;2 or 3 lda #$80 ;2 sta playsample+2 ;4 inc bank_counter ;5 lda bank_counter ;3 cmp #63 ;2 beq end_demo ;2 or 3 sta $8000 ;4 jmp playsample ;3 no_change_bank ;The directive #CYCLE generates code to take a given number of cycles. ;The generated code does not modify any memory or any general purpose register. #cycle #19 ;19 cycles sta BACKGRND ;3 jmp playsample ;3 end_demo lda #$00 sta bank_counter jmp playsample Must say that I start liking Mads much more. For anyone interested whole source code: icl 'c:\jac\maria.h' opt f+h- bank_counter equ $82 Covox equ $430 ORG $8000-128 HEADER .byte 1 ; 0 Header version - 1 byte .by "ATARI7800 " ; 1..16 "ATARI7800 " - 16 bytes .by "Covox 31440 Hz "; 17..48 Cart title - 32 bytes .by "2021 Eagle Soft " ; 2 line .byte $00,$10,$00,$00; 49..52 data length - 4 bytes .byte $00,$02 ;01= pokey4000 40=pokey450 ; 53..54 cart type - 2 bytes ; bit 0 - pokey at $4000 ; bit 1 - supergame bank switched ; bit 2 - supergame ram at $4000 ; bit 3 - rom at $4000 ; bit 4 - bank 6 at $4000 ; bit 5 - supergame banked ram ; bit 6 - pokey at $450 ; bit 7 - mirror ram at $4000 ; bit 8-15 - Special ; 0 = Normal cart .byte 1 ; 55 controller 1 type - 1 byte .byte 0 ; 56 controller 2 type - 1 byte ; 0 = None ; 1 = Joystick ; 2 = Light Gun .byte 1 ; 57 0 = NTSC 1 = PAL .byte 0 ; 58 Save data peripheral - 1 byte (version 2) ; 0 = None / unknown (default) ; 1 = High Score Cart (HSC) ; 2 = SaveKey .byte 0,0,0,0 ;ORG HEADER+63 .byte 0 ; 63 Expansion module ; 0 = No expansion module (default on all currently released games) ; 1 = Expansion module required .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; ORG HEADER+100 ; 100..127 "ACTUAL CART DATA STARTS HERE" - 28 bytes .by "ACTUAL CART DATA STARTS HERE" .macro load_sample org $8000 opt f+ ins 'beemoved2.raw',16384*:1,16384 opt f- .endm ; loading file into 63 banks!!! :63 load_sample # opt f+h- org $c000 ; START sei cld lda #$07 sta INPTCTRL lda #$7F sta CTRL sta BACKGRND lda #$00 sta OFFSET sta INPTCTRL sta bank_counter ldx #$FF txs ldx #$00 CopyLoop: lda .adr DLLs,x sta $1800,x inx bne CopyLoop lda <DLLogo ; sta DPPL ; setup the pointers for the output lda >DLLogo ; description (DLL) according to sta DPPH ; the PAL/NTSC test to $1840/$184C jsr WaitVBoff ;WaitVBLANK ; wait until no DMA would happen mva #$40 CTRL mva #$00 BACKGRND jmp playsample NMI RTI IRQ RTI DLI RTI WaitVBLANK: WaitVBoff: bit MSTAT bmi WaitVBoff WaitVBon: bit MSTAT bpl WaitVBon rts ORG $1800,* DLLs DLLogo :32 .byte $0F,>emptyline,<emptyline emptyline .byte $00,$00 playsample lda $8000 ;4 sta Covox ;3 sta Covox+1 ;3 inw playsample+1 ;6+3 and 6+2+6 every 256 bytes bit playsample+2 ;4cyc bvc no_change_bank ;2 or 3 lda #$80 ;2 sta playsample+2 ;4 inc bank_counter ;5 lda bank_counter ;3 cmp #63 ;2 beq end_demo ;2 or 3 sta $8000 ;4 jmp playsample ;3 no_change_bank ;The directive #CYCLE generates code to take a given number of cycles. ;The generated code does not modify any memory or any general purpose register. #cycle #19 ;19 cycles sta BACKGRND ;3 jmp playsample ;3 end_demo lda #$00 sta bank_counter jmp playsample ;************** Cart reset vector ************************** ORG $fff8 .byte $FF .byte $87 .word NMI .word START .word IRQ Tested on PAL (signature added) Still waiting for an AV mod for my NTSC A7800 I'm also adding audio raw file. Music from Bee Moved https://helpguide.sony.net/high-res/sample1/v1/en/index.html covox32khz.a78 beemoved2.raw
  6. https://github.com/tebe6502/Mad-Assembler/tree/master/examples/ATARI7800
  7. Covox version of Bloodfighter music by Tomasz Liebich from xl/xe http://asma.atari.org/asmadb/search.php?play=280 So far is missing one covox channel. I've no idea why (just switch off for now) I don't have much time this week so I'm attaching the latest version of the file. BTW I'm using 135 DLI to emulate XL/XE VCount and VBLKI Sorry only PAL version bloodfighter7800PAL.a78
  8. Below is an example of how it will look like in 160B or 160b + Mode 160b (13color) I also tried in 160b+ but not much better (46 color) edit: I think it would be best to ask someone from Agenda to draw a nice pixelated drawing.
  9. I don't know how I missed that 🤔 There's a hope then 😀
  10. Unlikely. No IRQ, Vcount, Vblank ;( The only hope is in DLI interrupts. I did something similar once for 8 bit Atari.
  11. I had the same idea. I even did Rick Astley conversion - Never gonna give up I have to go back to converting Neo Tracker player from 8bit Atari. The problem is that the player takes the entire zero page. The A7800 uses registers from $00- $3F. But I Never give up.
  12. I have a fully working game engine from xl / xe for this game. Will try to merge it with the sprite engine. Anyway still no chance for WIP
  13. test with some game graphics and animation engine16_2.a78 link to JS7800
  14. First attempt to my sprite engine. Up to 32 on screen with background , maximum 16 per line. Flexible width, height, color and collisions for every sprite. JS7800: Sprite engine test - link enginetest.a78
×
×
  • Create New...