Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

1,463 Excellent

1 Follower

About Wrathchild

  • Rank
    River Patroller

Contact / Social Media

Profile Information

  • Gender
  • Location
    Reading, UK.
  • Interests
    Porting games the A8 never had

Recent Profile Visitors

23,894 profile views
  1. Milk Race disappointed too, there seemed to be little correlation between what you did and what went on.
  2. Also we don't know where you are? e.g. if you were in the UK i could send you a flashed am29f010
  3. Each time I go back to Zone-X I don't seem to be as good as I was when I was under half the age I am now 😄
  4. Actually, we'll occasionally see requests to do it but I'm not aware of any devs actively working on satisfying that. One of the wonderful things about free will though is people could if they wanted to regardless of how that makes you feel.
  5. How are you actually loading them as that's critical to where any binary loader bootstrap is being loaded, for example Ultimate Cart, AVG Cart, SIO2SD etc? As @vitoco mentioned, one of the easiest ways to get around it is to pump it through a packer to load at a higher address, e.g. exomizer sfx bin -n -t 168 -Di_table_addr=$500 -Di_load_addr=$5000 -o new.xex old.xex
  6. I could only get as far as this: mads 2.1.1 build 17 (18 Nov 20) Source: test.asm 1 org $2000, $600 2 3 .macro splitwords 4 5 :1_LO: 6 :(:0-1) .byte <(%%(# + 2)) 7 :1_HI: 8 .rept :0-1 9 .byte >(%%(# + 2)) 10 .endr 11 12 .endm 13 14 org * 15 16 .proc main 17 endless 18 FFFF> 2000-200E> 4C 00 + jmp endless 19 2003 splitwords table $dead, $beef, $0123, $4567, $89ab, $cdef Macro: SPLITWORDS [Source: test.asm] 2 2003 TABLE_LO: 3 2003 02 03 04 05 06 07 :(7-1) .byte <(%%(# + 2)) 4 2009 TABLE_HI: 6 2009 00 .BYTE >(%%(# + 2)) 6 200A 00 .BYTE >(%%(# + 2)) 6 200B 00 .BYTE >(%%(# + 2)) 6 200C 00 .BYTE >(%%(# + 2)) 6 200D 00 .BYTE >(%%(# + 2)) 6 200E 00 .BYTE >(%%(# + 2)) Source: test.asm 20 .endp 21 22 02E0-02E1> 00 20 run main So it seems that the %% can't handle resolution of the brackets to give it the index. Using ':' instead makes this worse: splitwords table $dead, $beef, $0123, $4567, $89ab, $cdef .BYTE >(:(# + 2)) test.asm (9) ERROR: Extra characters on line The other thing I could think of that would be useful would be if the repeat could be passed all the arguments from the macro as ':*' with an option to start from a given position, e.g. something like this to start from the second parameter: .macro splitwords :1_LO: .rept :0-1 :*+2 .byte <(:.R) .endr :1_HI: .rept :0-1 :*+2 .byte >(:.R) .endr .endm But this still needs ":.R" or ":#" or "%%#" to be understood... one for @tebe
  7. More than that, it needs Init and Run addresses in the last 6 bytes People sometimes refer to ROMs when actually an executable is meant? On the A8 there are cassette files (.cas), basic files (.bas), executable files (xex, exe, com & sometimes bin), disk images (atr, dcm) and cartridge images (rom, bin and car). @Jimbob89 If you are toying with WUDSN then the executable is probably what is being built or are you specifically targeting a cartridge format? e.g. can you run the basic DLI example from the WUDSN tutorial?
  8. What is the size in bytes of your binary file?
  9. It's not such the disk 1 copy protection you need to he concerned with as the images people run under emulation with have that sorted. The whole game uses a replacement SIO routine and pattern based decoding. On top of this the copy protection routines are implemented multiple times, e.g. the game uses overlays of code (handling being a bar for example) and these have their own routines. Read the threads/posts I have done on this already or if you want to collaborate then PM me.
  10. More chance of snow in Texas... oh, curses...wait... Something shiny over there
  11. Just a peek at the sources shows conditional stuff, e.g. !ifdef Z5PLUS { z_opcode_extended = 190 z_opcode_call_vn2 = 250 } !ifdef Z4PLUS { So a resulting runtime image is the combination of the Z-code and the appropriate interpreter, rather than a single interpreter that can act differently based on the Z-header?
  12. (at least a) couple of topics on here already: https://atariage.com/forums/topic/316944-the-best-video-to-hdmi-converter/ https://atariage.com/forums/topic/305213-retrotink-2x-pro-fantastic/ Without any uploaded photos of what you are seeing people could only speculate, but vertical banding isn't uncommon.
  13. General principles can be found on github, my fork of Robin's original work broke the code out into more discrete areas and so easier to peruse https://github.com/Wrathchild70/UnoCart/tree/firmware-split/source/STM32firmware/AtariCart/src
  14. Does look nice, getting my brain to think that way is akin to the effects of drinking a Pan Galactic Gargle Blaster though Also a side effect utilised by the bus-sniffing is that it doesn't respond when the ARM is busy off doing other things and so generally the bus reads high as the A8 needs its answer the cycle's window. So having a FIFO approach could confuse things. But if someone can pull that off then we could have a cheap solution.
  15. Yes, normally it 48MHz but clockable to 133Mhz
  • Create New...