Jump to content

Wrathchild

Members
  • Content Count

    2,924
  • Joined

  • Last visited

Posts posted by Wrathchild


  1. 2 hours ago, rensoup said:

    But that means a slightly different driver for each cart...🤔

     

    No, that's not really correct.

    Many of the popular carts are able to run many different formats of cartridge binary images.

    So whilst you can blow the image to an AtariMax cartridge, you can play the binary from an Ultimate Cart, The!Cart, AVG Cart etc

     

    So just continue on as you were and it looks like others with prep the cart version for you :D

    • Like 2

  2. You're welcome.

     

    For the majority of keys, the A8 is interrupted to say 'this key is pressed'.

    So if keys are held simultaneously or another is subsequently pressed whilst another is down then the A8 cannot know this.

    So the obvious exceptions for that are the Shift and Control keys whose statuses are additional bits supplied with the key-code, plus the Console keys.

    The break key also can be configured to generate an interrupt.

     

    So in Elite where you would want to use diagonal directions in flight then this wouldn't be possible, you would toggle quickly between the X and Y direction keys to do this but not ideal.

    Similarly if you wanted to fire you'd need to release the direction key (although this could be moved to Shift from 'A' for example). None of this is ideal in a fire fight!

     

    So the default setup will be to use the joystick as that is what most people would be doing anyway I think.

    • Like 4

  3. One for @phaeron but with the options 'Display' and 'Debugger' I'd summize their use would depend on which window had focus (display / non-display) and so 'Global' meaning both.

    If you're using the debugger or not then Global seems a sensible choice either way based on your use-case.

    • Like 1

  4. I'm not sure the 2600+H is a necessary dependency, certainly with the STM32F ARM micro in the UNO cart you could easily have a board with no SD socket and provide a title self contained within the firmware and so house in a normal case looking like a normal game. I should think the same applies with an AVG cart and so would imagine that board, components and case cost is not prohibitive (€20-25 ?).


  5. 6 hours ago, solo/ng said:

    Technically you cuold have a cartridge for a8/xl/xe with snapdragon 965, 8 cores, 2.4Ghz

    Compute all you need/want on it (for example in C) and just stream results to screen/machine (via various methods).

     

    The A8 series already has this in the form of the UNO Cart.

     

     

    • Like 3

  6. 30 minutes ago, Yaron Nir said:

    you can just copy and paste . this is the default publishd with CC65 library. 

     

    33 minutes ago, Yaron Nir said:

    -C atari.cfg

    You shouldn't need to do this as the linker should find the config file within the CC65 installation's "cfg" folder.

    You can override the default by specifying any of the below, e.g. "-C atari-xex.cfg" depending on your requirements.

     

    image.png.262d4940881c3b5416a03d3db143094d.png

     

    Or, of course, to specify your own rolled config file, e.g. when making a cartridge.

     

    But for a newbie I would recommend they don't need to get involved with config's right away and so adding "-C atari.cfg" is not necessary


  7. Also, I can attest to using multi-dimensional arrays in C using CC65 and whilst it is good while developing you get to a point where the overheads needed to calc the data access are too much and so you end up refactoring to using a single-dimension array instead, so the grass isn't always greener.


  8. From what I recall, as PotGo is used to discharge the capacitors its basically the time needed for these to settle again.

    That could be established by using a few fixed value from the paddles, set the Critical flag so that stage 2 routines aren't used and use a Pokey timer routine to set the shadow values and then write to PotGo.

    Start short and if the values in the shadow registers don't match the expected values then lengthen the timer.

    Equally you could probably achieve this equally as well with a loop to monitor VCount or use DLIs.


  9.  

    27 minutes ago, CharlieChaplin said:

    Why does the single ATR image use a non-standard 384k size instead of standard 360k

    It's just padded to a nice round $60000 bytes and doesn't utilise compression. It was merely a quick throw-together as I'd done a fair amount of investigation toward making an Atarimax cart version.


  10. The issue would appear to be down to this section:

     

    image.thumb.png.93f52fb1efeaac01791cf70151771d12.png

     

    So the VCOUNT check determines which code path is taken etc.

     

    In Altirra I used the trace: bt $b49f "$%02x $%02X" db($14) db($d40b)

     

    With PAL accurate timing this gives outputs of:

    $0b $2C
    $0b $26
    $0b $21
    $0b $1C
    $0b $17
    $0b $11
    $0b $0C
    $0b $07
    $0b $02
    $0b $99
    $0b $93
    $0b $8E
    $0b $89
    $0b $84
    $0b $7F
    $0a $79
    $0a $74

     

    and this stops there and the load continues.

     

    Whereas with accurate timing off it returns:

    $04 $25
    $04 $32
    $04 $3A
    $04 $24
    $04 $1A
    $04 $26
    $04 $23
    $04 $17
    $04 $1B
    $04 $01
    $04 $26
    $04 $44
    $04 $70
    $04 $90
    $04 $13
    $04 $2F
    $04 $44
    $04 $5A
    $04 $5E

    ...

    and so the load is screwing up

     

×
×
  • Create New...