+dhe Posted July 9, 2022 Share Posted July 9, 2022 Does v91 above point to the fixed version? Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted July 11, 2022 Share Posted July 11, 2022 On 7/9/2022 at 5:29 PM, dhe said: Does v91 above point to the fixed version? No. I was finishing some changes to Flying Shark tonight, which is now also working with the 'rom simulation' approach. Scratchpad memory usage aside, the Geneve keyscan works well enough and doesn't seem to inhibit frame rate or gameplay. I have a few ideas to pursue and a bit more cleanup before I release any updates. 3 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted July 12, 2022 Share Posted July 12, 2022 I played around with conditional assembly. If Geneve9640==0, the /4a routines are assembled, otherwise the Geneve routines are assembled. Banking now uses a BLWP routine with a register representing the corresponding >60xx bank address. Bank offsets, where necessary, are applied based on a conditional delta. So far, the approach seems to be fine. I'll try the same with Flying Shark later this week and refine as needed. ; [0] 4a standard code; [<>0] use 9640 code Geneve9640 equ 1 .ifne Geneve9640 Geneve_bank_delta equ >2000 ;adjust from >6000 to >4000 bank location .else Geneve_bank_delta equ 0 .endif ; /// Example of conditional banking ; /// Not all game routines use R2, so there are vectors for R0,R1,etc. .ifne Geneve9640 blwp @genevemap_r2 ;set bank, r2 .else seto *r2 .endif 2 Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted July 12, 2022 Share Posted July 12, 2022 17 hours ago, InsaneMultitasker said: I played around with conditional assembly. If Geneve9640==0, the /4a routines are assembled, otherwise the Geneve routines are assembled. Banking now uses a BLWP routine with a register representing the corresponding >60xx bank address. Bank offsets, where necessary, are applied based on a conditional delta. So far, the approach seems to be fine. I'll try the same with Flying Shark later this week and refine as needed. ; [0] 4a standard code; [<>0] use 9640 code Geneve9640 equ 1 .ifne Geneve9640 Geneve_bank_delta equ >2000 ;adjust from >6000 to >4000 bank location .else Geneve_bank_delta equ 0 .endif ; /// Example of conditional banking ; /// Not all game routines use R2, so there are vectors for R0,R1,etc. .ifne Geneve9640 blwp @genevemap_r2 ;set bank, r2 .else seto *r2 .endif A variation of this routine might be useful to port things to the Tomy Tutor/Pyuuta using the >8000 space for their cartridges. . . 1 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted July 16, 2022 Share Posted July 16, 2022 On 7/9/2022 at 5:29 PM, dhe said: Does v91 above point to the fixed version? Updated PINBALL 99 loader, with keyboard and joystick support. Speech is reportedly working as well. Files are in TIFILES format. I applied the scoring fix that Rasmus released a few days ago. My changes are limited to banking, keyboard, and memory support. The loader currently requires both the original ROM and the updated program files. PINBALL99 for Geneve loader v95.zip Documentation text. Pinball 99 Loader v0.95 for the Geneve 9640 Based on EXEC 2.7 (C)Barry Boone, Updated by Insane Multitasker Pinball is written by Rasmus Moustgaard PINROM256 v1.01 ROM from the /4A distribution; unchanged PINLOAD Geneve native OS program; file loader PINBALL,M,N,O Pinball program, modified for Geneve use Place all files in the same path. Load as follows: PINLOAD PINBALL The file PINROM256 will automatically load from the same path as PINLOAD ROM banking simulation is achieved by using >4000-5FFF and Geneve memory map support. Keyboard routine is modified to support Geneve keyscan. Future release may simplify the loader requirements to eliminate the separate program image load. History: 7-16-2022 Updates for keyboard support 7-6-2022 Initial release 1 2 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted July 16, 2022 Share Posted July 16, 2022 Flying Shark with loader v0.93. This ROM loader requires 512K free space for the ROM and 64K for the program. Memory expansion, such as the 384K mod, Memex, Myarc 504K, etc. is required. The ROM image is 2048 sectors, therefore, a 720K disk/disk image, ramdisk formatted to 800K, or "hard drive" device (SCSI, IDE, HFDC, TIPI, RamHD) is required. FLYING SHARK for Geneve loader v93.zip 3 2 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted July 17, 2022 Share Posted July 17, 2022 On 7/12/2022 at 3:09 PM, Ksarul said: A variation of this routine might be useful to port things to the Tomy Tutor/Pyuuta using the >8000 space for their cartridges. . . A variation of the mapping certainly could work. I opted to use the TI environment for the above two games but it would have been nearly as simple to change the video/sound ports and implement a stand-alone keyboard routine. I'm not yet sure whether I prefer the /4a method or the native /9640 mode method (used for Tilda) to simulate the ROM. I might try the latter for a different game after a few other efforts are further along. The one challenge right now is that keyboard control can only output one key at a time, which doesn't simulate holding one or more keys like you can on the TI. In Flying Shark, my keyboard routine is limited - you cannot move diagonally or fire while moving, like you can with the joystick. I simply ran out of time to finish emulating output that mimics the CRU-based keyboard. 1 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted July 18, 2022 Share Posted July 18, 2022 @InsaneMultitasker are you going to make the source code available? 2 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted July 18, 2022 Share Posted July 18, 2022 Just now, Asmusr said: @InsaneMultitasker are you going to make the source code available? Yes, that is my intent once I figure out the cart header/loader approach. I would prefer to eliminate the extra set of program files. Also, I originally added my code directly into your source files. I have since moved most of the code into its own support file(s) for the Geneve, with conditional assembly statements for the COPY statements and alternate code. To me, this seemed like a cleaner way to do things and may provide a template for others. 3 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.