Jump to content
IGNORED

Pinball 99


Asmusr

Recommended Posts

12 hours ago, pixelpedant said:

Maybe late for a feature request, but would you consider adding a Shift+838 cheat screen for tweaking a few key engine physics variables?  This is something included in some legacy titles, and even if the consequences of such alterations were largely silly or unplayable, it would likely serve to entertain.

Sorry mate. Even tiny changes the physics would most likely cause lots of problems, and I want to finish this thing.

Link to comment
Share on other sites

With Rasmus permission, I am happy to share here my label for the cartridge of this nice Pinball game 🙃🙂
I really Hope you will like it.


Many thanks, Rasmus for the effort to complete this, it is a nice addition to our game collection!

 

 

 

Pinball99_Cart_MockUP.jpg

Pinball99_v1_CartLabel.png

Edited by ti99iuc
  • Like 7
  • Thanks 1
Link to comment
Share on other sites

  • 9 months later...
On 9/23/2022 at 11:15 AM, Asmusr said:

Is the source on Github for the final release 1.5?   The file Pinball.a99 indicates version 1.1 near the end of the file.  (The commit dates on some sources predate fixes 1.3 to 1.5).  I'd like to finalize the Geneve conditional assembly statements and upload the source ZIP here.  Thanks. 

 

text 'VERSION:'
  txt_version_no:
  text ' 1.1 '
  txt_hi_score:
  text 'HI SCORE'
 

txt_kap

 

Edited by InsaneMultitasker
Clarification
  • Like 3
Link to comment
Share on other sites

On 7/3/2023 at 7:59 PM, InsaneMultitasker said:

Is the source on Github for the final release 1.5?   The file Pinball.a99 indicates version 1.1 near the end of the file.  (The commit dates on some sources predate fixes 1.3 to 1.5).  I'd like to finalize the Geneve conditional assembly statements and upload the source ZIP here.  Thanks. 

No the code on GitHub is not the latest version. BTW, the agreement was that you would make the source code available together with the binaries for both Pinball 99 and Flying Shark. It's almost a year ago that you posted the binaries...

Link to comment
Share on other sites

1 hour ago, Asmusr said:

No the code on GitHub is not the latest version. BTW, the agreement was that you would make the source code available together with the binaries for both Pinball 99 and Flying Shark. It's almost a year ago that you posted the binaries...

Correct. And for that I am most appreciative. Posting the code is still my intent and the reason for asking you if the published code was current is so that I could apply the updated conditional code before posting here.  

 

 I have had very little hobby time since last year and I do not see that changing any time soon.  (This is also the reason for the Geneve OS delays last year, among other things) 

  • Like 2
Link to comment
Share on other sites

@Asmusr  - I attached the modified pinball.a99 and speech.a99 files, as well as the three support files that I incorporated into the Pinball source code last year.  This should match the binary package I released.

 

The conditional assembly is controlled by this code block in pinball.a99 (search for Geneve9640 to see where I made conditional changes to code and COPY statements):

 

; [0] 4a standard code;  [<>0] use 9640 code

Geneve9640 equ 1    ; (0=eq is /4a;  <>0 ne is 9640]

      .ifne Geneve9640
Geneve_bank_delta   equ >2000   ;adjust from >6000 to >4000 bank location
      .else
Geneve_bank_delta   equ 0
      .endif

 

The bank delta is used wherever a bank-specific address/equate is defined.  I kept the RS232 debug code in place though the initialization and output are disabled. If Pinball v1.5 source is released, I'll circle back to update the Geneve version as time permits.

 

Oh yes, I reviewed the Flying Shark source and so far I have only located the hard-coded version.  I am almost certain I created a conditional assembly version, so I'll look through my files this weekend.  According to my notes, I was working on (1) code to simulate the 9901 Row/Column keyboard for better game compatibility and (2) a way to fold the cart header into the build process.  I still want to create a simple framework for future games. Maybe I'll have time to pick some of this back up during the winter holidays. 

Geneve-support.txt Geneve-check_quit.txt speech.a99 Geneve-rs232debug.txt pinball.a99

Edited by InsaneMultitasker
Fixed the @mention - had selected wrong AA user
  • Like 2
  • Thanks 2
Link to comment
Share on other sites

On 7/6/2023 at 1:12 PM, Asmusr said:

Done.

Thank you.  I updated my source file to reflect v1.5.  I removed the rs232 debug stub and the extraneous comments. Later this week I'll assemble it and ask someone to test my changes. If the game works on the Geneve, I'll ZIP up the package and call it done. 

pinball-Geneve mods.a99

  • Like 3
Link to comment
Share on other sites

The play-related updates work great.  🙂. However, the tester reported that the speech no longer sounds like anything - it is all garbled. I will review my changes to confirm I didn't miss something.  
 

I am wondering - did the speech playback changes in v1.2 and v1.3 increase the speed that the speech data is fed to the synthesizer?  I see the updates in the interrupt handler but the purpose eludes me.  

Link to comment
Share on other sites

On 7/12/2023 at 7:56 PM, InsaneMultitasker said:

The play-related updates work great.  🙂. However, the tester reported that the speech no longer sounds like anything - it is all garbled. I will review my changes to confirm I didn't miss something.  
 

I am wondering - did the speech playback changes in v1.2 and v1.3 increase the speed that the speech data is fed to the synthesizer?  I see the updates in the interrupt handler but the purpose eludes me.  

@Asmusr - I am almost certain that I found the problem with my code.  When I added conditional assembly, I created a new label for an EQUate and the label was missing the trailing colon ":".  When I inspected the LST file, I found that the value for the speech bank offset was 0x0000 instead of 0x4000.  Adding the colon changed the immediate value to 0x4000.  I will ask the tester to try again.  This would probably explain why he said it worked in an earlier version.  

 

0031      2000     Geneve_bank_delta   equ >2000   ;adjust from >6000 to >4000 bank location

0119               speech_bank_base    <- missing colon
0120      4000            equ  >6000-Geneve_bank_delta  ;added label 7.11, see speech.a99
0021      3902 0220  22       ai  r0,speech_bank_base  ;conditional equate 6000/4000
             3904 0000r    -<this should be 0x4000!
 

July 15: Confirmed! Speech now works properly!  I will release the package soon.  Thank you, @Asmusr, for a great game and for your support of the compatibility port.  (As time permits, I'll finish posting Flying Shark source and some notes for possible future use) 

  • Like 5
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...