Jump to content

tane

Banned
  • Posts

    477
  • Joined

Everything posted by tane

  1. There are 2 types of hacks with the same effect (usually): Only in memory: This works only for emulator. It must be executed every time, likely with .a8t files. It could attack temporary variables or "hard drive" data. In "hard drive": embedded forever in the xex. This works for real HW and emulator, see the following: If you're willing to contribute to the society: Open an hex editor (ex: HxD), then search and replace according to this post:
  2. An answer from the developer of Exomizer: The configuration is saved in: C:\Users\User\Application Data\SuperPacker\sp.ini Also clean this: C:\Users\User\Application Data\SuperPacker The Super Packer doesn't auto-clean the cache and heavily reduces the hard drive space. exo20info.txt
  3. I'd like to warn that with Exomizer (Super Packer 6.7), when depacking it overwrites previous 2 bytes: For example making a: jsr $7000 It will overwrite the following without a warning: $6ffe $6fff
  4. Disabling the "Disable Screen" works for Deflate, however not for LZ4. Anyway, I found this pot of gold with useful information: Mads.7z
  5. Very nice this "Photoshop" as a retouching program. Several good features included. I think, however, that the most crucial and the very first step, which is to convert any high-res jpg to a good pixelated image suitable for 8-bits, from a squared pixel to a rectangular-horizontal pixel for Atari, with a good contrast, and likely by a Windows program due to hardware requirements, it's still missing in some way. It's very difficult and also an "entry barrier" to generate a starting point for Atari with rectangular pixels, for then do the retouching.
  6. In this version there is a Bat after a while (Kill The Timer).
  7. https://atarionline.pl/v01/index.php?ct=katalog&sub=S&tg=Spelunker#Spelunker
  8. Making a test, packing a segment with Exomizer works good as expected, however I can't get it packed properly with Deflater or LZ4. What should be the parameters for Deflater and LZ4? For Deflater the parameters are the same of Exomizer, but it doesn't work. But it doesn't work with Deflater or LZ4:
  9. https://atariage.com/forums/topic/310341-is-it-me-or-is-hobgoblin-hard/?do=findComment&comment=4618074
  10. @Bobo Cujo What about Blue Max?
  11. Thanks, I added: S PMF FAD extensions, however for LST and LAB it would need to be edited.
  12. I found the below file to highlight syntax in Assembler, is there any better? asm6502.uew
  13. Let you know that a new fork/update of River Raid has been published: XEX at Fandal Among changes: New intro title. New sprites. NTSC & PAL friendly. Being NTSC the main version and PAL its closest approximation. Final ending [only for top players]. Many thanks to A.A. users who helped with programming tips and details, and answering noob questions, and tools developed some from MadTeam, PlayerMissile. Special thanks in this version to: playsoft, fantômas, rensoup and educational videos from Wilheim.
  14. Is there a description somewhere how to create a container?
  15. Thank you, but it didn't work after adding the previous code: - Here is a saved state, it only shows the image after a "r a 0": Game with image.atstate2 - The xex, when you get to the "Bridge 2", you get to the same position: Game with image.xex - A description of the purpose is in this forum. - The code where the changes were made: code.asm Code.asm: before launching the image with jsr $2c00 is the suggested code to replace the "r a 0". Beyond my knowledge of hardware, the idea is to break out the loop waiting for the VBI. I'm guessing is not in the right position. php lda #$0 plp However such changes made no effect, still is required a "r a 0". At the end, the idea is that it must show the image after exit the game, but the game is still making processes. icl "sys_equates.m65" icl "sys_macros.m65" org $8000 lda $62 ;original code sed ;original code adc #$00 ;original code sta $62 ;original code lda $61 ;original code adc #$00 ;original code cld ;original code sta $61 ;original code inc $2e ;original code lda $62 cmp #$02 beq newchange jmp $a500 ;Else: Back to normal code newchange lda #$00 ; disable the display sta DMACTL sta SDMCTL lda PORTB ; disable BASIC on XL/XE ora #$02 sta PORTB ClearSystem ;sys_macros.m65 CopyMemory $82B6,$2000, ($908C-$82B6+1) ;sys_macros.m65: move image from $82B6-$908C to $2000-$2DD6 php lda #$0 ;(not working), it breaks out of the loop waiting for the VBI plp lda #$38 ;puts PORTB into data direction mode sta $D303 lda #$FF ;configures all PORTB bits as outputs sta $D301 lda #$3C ;puts PORTB back into i/o mode sta $D303 jsr $2c00 ;INI image jmp $9ff6 ;JMP $9ff6 launch game again
  16. What is the equivalent in assembly code for?: Altirra> r a 0 The following by itself doesn't do the trick: lda #$00
  17. Thanks, but that's not the idea, it's an example of an ending screen, not in the beginning. Go to Bridge 2 (Level 2) and you'll realize. Now when reaching bridge 2, it jumps to $8000, here the image must be loaded (jsr $2c00), and then restart the game with jmp $9ff6. But for some reason (likely some process of the game are still running), when executing jsr $2c00, it crashes.
  18. Thanks, but can anyone edit the code? I'm just playing with attempts. I'm trying to get it from the attached PDF, but I'll need to do a "certification" to get that... There could be a macro for this procedure already done... Atari+System Reference manual.pdf
  19. Thank you guys, but still not launching the image. The segment of the image is copied to $2000, and yep, then at the moment of launching the image with jsr $2c00, it crashes. I tested adding the code suggested by Rybags, as the following, but nothing. Still I don't get why to add a wait in that moment, before all of the other stuff, being that nothing has been disabled yet. Also, the part with NMI and ClearSystem was commented, in order to not to disable NMI, but the same. What should be changed in code.asm ? icl "sys_equates.m65" icl "sys_macros.m65" org $8000 lda $62 ;original code sed ;original code adc #$00 ;original code sta $62 ;original code lda $61 ;original code adc #$00 ;original code cld ;original code sta $61 ;original code inc $2e ;original code lda $62 cmp #$02 beq newchange jmp $a500 ;Else: Back to normal code newchange wait_offscr lda vcount cmp #$10 bcs wait_offscr sei lda pactl and #$fe sta pactl lda pbctl and #$fe sta pbctl lda porta lda portb ; clear any pending PIA IRQs ; lda #0 ; sta nmien ; sta irqen ; sta sdmctl ; sta dmactl lda #$00 ; disable the display sta DMACTL sta SDMCTL lda PORTB ; disable BASIC on XL/XE ora #$02 sta PORTB ; ClearSystem ;sys_macros.m65 CopyMemory $82B6,$2000, ($908C-$82B6+1) ;sys_macros.m65: move image from $82B6-$908C to $2000-$2DD6 jsr $2c00 ;INI image jmp $9ff6 ;JMP $9ff6 launch game again
  20. Thanks, but it didn't work. Here is a simple example: Original game: Game.xex An image: Image.xex The game with the image: Game with Image.xex. The image should be launched when reaching Bridge 2, it's done, but changing the interrupts don't stop the game, and the image is not shown. The code to be fixed at $8000: code.asm. Here is where the game must be stopped before launching the image, in label "newchange". Macros required for ClearSystem, CopyMemory: sys_macros.m65 sys_equates.m65 Description of segments for "Game with Image.xex": code.asm, label "new change": newchange sei lda pactl and #$fe sta pactl lda pbctl and #$fe sta pbctl lda porta lda portb ; clear any pending PIA IRQs ; lda #0 ; sta nmien ; sta irqen ; sta sdmctl ; sta dmactl lda #$00 ; disable the display sta DMACTL sta SDMCTL lda PORTB ; disable BASIC on XL/XE ora #$02 sta PORTB ClearSystem ;sys_macros.m65 CopyMemory $82B6,$2000, ($908C-$82B6+1) ;sys_macros.m65 (it says it uses page zero memory): move image from $82B6-$908C to $2000-$2DD6 jsr $2c00 ;INI image jmp $9ff6 ;JMP $9ff6 launch the game again
  21. In this situation, I need to stop the current game and launch ($2000, then $4000). And then restart the game with JMP $aa00. What should be after org $600 in the following example?: org $600 ;HERE SHOULD BE ALL INTERRUPTS OFF: lda #0 sta DMACTL sta SDMCTL ... ;THEN CONTINUE: jsr $2000 ;start something jsr $4000 ;start something jmp $aa00 ;JMP It was tested inserting the following, but the example does not work as desired: Macro ClearSystem: ;-------------------------------------------------------------------------------- ; ClearSystem ;-------------------------------------------------------------------------------- .macro ClearSystem .if :0 <> 0 .error "ClearSystem error" .else clc cld sei lda #0 sta IRQEN ; clear interrupts and screen sta NMIEN sta DMACTL sta COLBK sta GRAFP0 ; clear P/M sta GRAFP1 sta GRAFP2 sta GRAFP3 sta GRAFM sta HPOSP0 sta HPOSP0+1 sta HPOSP0+2 sta HPOSP0+3 sta HPOSM0 sta HPOSM0+1 sta HPOSM0+2 sta HPOSM0+3 sta PRIOR ; clear GTIA also sta AUDCTL ; clear sound sta AUDC1 sta AUDC2 sta AUDC3 sta AUDC4 lda #3 sta SKCTL .endif .endm
  22. Good to know. Such sendero luminoso department makes my hair stand on end. I think I gonna visit correctly referred sites now.
  23. Just enough when you're referring to third party people without knowledge.
  24. Good site, but it should have proper citation for their source of information. Rambles here and there. https://en.wikipedia.org/wiki/Template:Unreferenced https://en.wikipedia.org/wiki/Wikipedia:Citation_needed
  25. rmt_feat.a65 rmtinclude.asm rmtplayr.a65
×
×
  • Create New...