Jump to content

Andrew Davie

+AtariAge Subscriber
  • Posts

    5,982
  • Joined

  • Last visited

  • Days Won

    8

Posts posted by Andrew Davie

  1.  

    I do have a preference for the speed... I wonder which is yours...

     

    #1:  animates every frame (60 Hz)

    WenHop_20230531@23_55_27.bin

     

    #2: every 2 frames (30 Hz)

    WenHop_20230531@23_56_36.bin

     

    #3: every 3 frames (20 Hz)

    WenHop_20230531@23_57_19.bin

     

    #4 every 4 frames (15 Hz)

    WenHop_20230531@23_58_03.bin

     

    #5 every 5 frames (12 Hz)

    WenHop_20230531@23_58_57.bin

     

    #6 every 6 frames (10 Hz)

    WenHop_20230601@00_01_43.bin

     

     

     

     

    #7 for those interested in slow-motion of the animation...  every 20 frames (3 Hz)

     

     

    WenHop_20230601@00_02_54.bin

    • Like 1
  2. 4 minutes ago, Propane13 said:

    The water shape isn't too bad. Is there a way to run it at 2x speed?

     

    Not using the current method, no.  But in principle, yes.  There are two independent animation systems - one runs at the game frame rate (about 15 Hz) and the other runs at TV frame rate (60Hz).  They have different limitations, but yes in principle I could do this.

  3. Looks like @ZeroPage Homebrew has a look-see at WenHop scheduled soon.

     

    Recently I've been continuing work on the conversion to CDFJ+, but this time I'm doing it professionally in that I created a GIT branch for that work, so now I can switch branches at the press of a button, basically, and continue work on the "regular" version and then another press back to CDFJ+ version. It's very clean, and doesn't mean I need to disable/enable things. Just two completely different codebases that I can manage independently. I really should be using branches for experimental stuff from now on. Just didn't know how useful this would be.

     

    1666552373_Screenshot2023-05-28at11_26_36pm.thumb.png.0895c83d30fabb56a629595fb200d977.png

     

    The screenshot shows @JetSetIlly's Gopher emulator in the debugger window.  I have been working on the performance of the "conglomerate" function.  This is the code that converts individual geodoges into the combined mass with the bars connecting them.  Originally it was taking about 16% of total processing time - quite expensive - and occasionally I like to go through and optimise things using Gopher's realtime stats as a guide.  It's amazing, if you're not using it you're missing out on a LOT.  Anyway, as you can see in the image now the 'conglomerate' function is taking about 1.21% (average) of the time, so I've saved about (roughly) 15% of my processing time by optimising this function alone. Amazing.  The inspirational moment was when I realised that I don't need to "conglomerate" any non-visible geodoges.  Can't see 'em, don't care what they look like, basically.  So that was done with a very simple two-liner comparing position.

     

    Attached version has nothing particularly new - just some water instead of lava, for a change, and speed improvements.

     

    Gonna have to think about how to present things for the show version, if that goes ahead.

     

     

     

     

    WenHop_20230528@23_25_55.bin

    • Like 2
  4. Me, being lazy.... I went to chatGPT and asked where I could get an online OCR to convert to text. Then I did that and took the output text and asked chatCPT to convert the hex to ascii for me. Wasn't perfect, but good enough to get the whole message. Took around 2 minutes all-up. Thank you AI.

    • Like 2
    • Haha 1
  5. First for-posterity "prototype" binary is heading off for manufacture.  This will likely be the only CDFJ prototype; I'm busy (very) trying to wrangle the code into CDFJ+ format. This will completely remove any size limitations I have on adding stuff like extra tools, lots of planets, the spinning globe and who knows what else.  Thanks to @SpiceWare I have an excellent template from which I can commence the code conversion - but due to my mangling of the original collect3 code and significant boilerplate required for CDFJ+... I'm having a bit of trouble finding an efficient way to get the conversion done.  So it's gonna take a while.

    crt_long_WenHop_20230524_230816.thumb.jpg.ee717126a61c97bfe0aa5c633543bed0.jpg

    • Like 7
  6. 7 hours ago, Gemintronic said:

    Made a conversion for batari BASIC users here:

    https://forums.atariage.com/topic/351516-wen-hop-font-for-bb/

     

    wenhopbbfont.thumb.png.1c75794a9ed3b52827cc285c663ff6ca.png

     

    This is missing one of the important/major design elements of the font.  There is a thick side and a thin side.  For example, "A" does not have equal-sized left and right verticals in Wen Hop font. This is critically important for the look/feel.  What you have here is a different font altogether that IMHO has lost the beauty.  I appreciate your intent/effort. But it's not the WenHop font!

     

    • Like 1
  7. 4 hours ago, Gemintronic said:

    It was handy to get back to the start menu without getting up and resetting the console.  What's the new equivalent method?

     

    I'll think about it.  The "couch compliant" is a concept I like, so I expect there will be some mechanism there.

     

    • Like 1
  8. 10 hours ago, Bomberman94 said:

    Probably not important at this stage but I mention it anyway:

     

    When man moves or interacts (digging for dodge coins) there is slight flicker/incorrect colors.

    I made a video and hope you can see what I mean…

     

     

     

     

    Maybe it's just my feeling -- but it looks to be running a lot slower, too.  I'll have to look-see in the code what's happening. For example, the chain reaction converting geodoge to dogecoin appears to be quite slow compared to what I'd expect.

     

  9. 10 hours ago, Bomberman94 said:

    Probably not important at this stage but I mention it anyway:

     

    When man moves or interacts (digging for dodge coins) there is slight flicker/incorrect colors.

    I made a video and hope you can see what I mean…

     

     

     

     

    TY; I will review. I must say, it looks gorgeous watching it play on an actual TV.  TY!

     

  10. Here are a couple of fonts from Wen Hop.

     

    Use in '2600 games you develop is perfectly OK. Other use please contact me for approval.

     

    Both fonts contain 0-9, A-Z

     

    * fontPF.asm - playfield font in asm format.
       - this is a 3 x 20 pixel font

       - letters are defined side-by-side in a byte for space savings

     

    129099465_Screenshot2023-05-21at5_01_16pm.thumb.png.36dd4f52b67037006ee64a55b8926318.png

     

     

    * font8x10.c - sprite font in C format

       - this is an 8 x 10 pixel font

     

    2089808901_Screenshot2023-05-21at4_57_37pm.png.d14e43a70ec64139074ad9432cbfa1e4.png

     

     

     

     


     

     

    fontPF.asm font8x10.c

    • Like 9
  11. 1 hour ago, Propane13 said:

    Ooh..  at about the 58 second mark, there's a pop up. I must have missed that before. Is it some sort of timer/counter?

     

    Interestingly, it opens up a possibility I hadn't considered. Since the playfield objects have very limited shape/pixel resolution rules, you could make up for it but drawing a special large 4-boulder-sized object in rate cases. It might only be for background, like when unlocking new areas, but could be useful.

     

    Yes, it comes up when you double-click. It's a "tool menu" - the one shown is supposed to be a pipe wrench.  The idea is you double-click, then up/down to select the appropriate tool, then click again to exit menu. Allows you to lay pipe, or shoot, or use whatever tool you have selected... with the one fire button.  In short, yes I can overlay "bitmaps" of any size over the background during gameplay.  Spaceship taking off/landing is an example. Tool menu is another.

     

  12. TL;DR - adjust GIMP settings so your pixels are rectangular.

     

    A note on GIMP; it uses square pixels, so that's a problem wen you are dealing with a platform which has pixels of odd aspect ratio like in the iCC display.  That's why the image in the above post looks vertically stretched - it's displaying pixels the same width as height.  However, on doing a bit of hunting and following the instructions at https://jubatian.org/articles/using-non-square-pixel-aspect-ratios-in-gimp/ exactly (I used the x=42, y=112 for the resolution in print size), I now have an editor that allows me to draw in rectangular pixels, and the image is appropriately stretched to look more like the real aspect ratio.  So in this example, I have 32 pixels across, 66 deep (which is the resolution I chose/use for these title screens). I should probably use 32 x 64 and then have exactly 1 page of memory usage; will investigate that later, but it's not super-important when programming in C code, of course.
     

    681031390_Screenshot2023-05-21at10_18_42am.thumb.png.a0c4b2ddf2e05e490e4c91619e138350.png

    Summary...

     

    1) Get screen dpi from settings/Interface/Display/Monitor Resolution (112x112 ppi for me)

    2) De-select "dot for dot" in view menu

    3) calculate new x and y resolution values based on required pixel aspect ratio, based on numbers from 1) as maximum axis value

    4) set x and y resolution in Image/Print Size - I chose x=42, y=112 

     

    Now you should have an image still 32 pixels wide (for example), but the pixels are now rectangular and the correct aspect ratio

     

  13. 5 hours ago, Bomberman94 said:

    This is how it looks on real Atari (PAL) and real TV. It currently doesn’t auto-detect my system (it comes up with NTSC). 

     

    IMG_5291.jpeg

     

    TY. Interesting, will investigate. Looks OK to me, but you didn't share your opinion.

     

  14. Sometimes I wonder if I'm "blinded by familiarity" with the things like the title screen.  It's starting to look good to me, but it does do the iCC "shimmer", and it does have rather blocky resolution. I ask myself "is it OK, from someone else's viewpoint". Is the cost (ROM space) worth it -- about 256 bytes?  Personally I feel like it's almost an entirely new "graphics mode" for the 2600, and I like it.  By the way, hit the left difficulty to turn off iCC and switch to regular ChronoColour; this particular screen does look OK to me in that mode, too (shown here from screenshot/ Gopher).

     

    874502803_Screenshot2023-05-20at4_32_10pm.thumb.png.089d548e65e6f4a7f816dd7044a40203.png

     

    Hey, just for fun, also here's a look at the editing screen I have to do these graphics (using GIMP)...  as you can see, doing the art is very simple.  I have a tiny Python program that converts the output from GIMP directly to data for the above.
     

    2076769226_Screenshot2023-05-20at4_29_46pm.thumb.png.5d1742401261112f80cee3cdf38bc548.png

     

    • Like 2
  15. I was thinking about the "TV System" menu.  Since the game auto-detects, this menu is really only "show off" and could probably be safely removed.  The autodetect is known-working, and who on earth is going to be selecting SECAM when they're running on a NTSC machine, for example.  The only real useful option would be PAL-60 vs PAL-50 and I'm inclined to think everyone is PAL-60 capable.

  16. Here's the 6507 kernel that draws the menu screen -- interleaved chronocolour background with overlaid 6-sprite routine...

     

    _MENU_KERNEL
    ;@3
                        lda #_DS_PF1_LEFT
                        sta PF1                         ; 5
                        lda #_DS_GRP0a
                        sta GRP0                        ; 5
                        lda #_DS_GRP1a
                        sta GRP1                        ; 5
                        lda #_DS_GRP0b
                        sta GRP0                        ; 5
    
                        lda #_DS_GRP1c                  ; 2
                        tay                             ; 2
    
                        lda #_DS_PF2_LEFT
                        sta PF2                         ; 5
    
                        lda #_DS_GRP0c                  ; 2
                        tax                             ; 2
                        lda #_DS_PF1_RIGHT
                        sta PF1                         ; 5
    ;@41
                        lda #_DS_PF2_RIGHT              ; 2
                        nop                             ; 2
                        sta PF2                         ; 3
    
                        lda #_DS_GRP1b                  ; 2
                        sta GRP1                        ; 3
                        stx GRP0                        ; 3
                        sty GRP1                        ; 3
                        sta GRP0                        ; 3
    ;@62
                        lda #_DS_COLUP0                 ; 2
                        sta COLUP0                      ; 3
                        sta.w COLUP1                    ; 4
    
                        lda #_DS_COLUPF                 ; 2
                        sta COLUPF                      ; 3
    ;@76=0
                        jmp FASTJMP1                    ; 3
    

     

×
×
  • Create New...