-
Posts
1,133 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Blogs
Gallery
Events
Store
Posts posted by Bmack36
-
-
-
Correct distance. Too close and the snake will bite. Too far and you will land on the snake.
- 1
-
You can jump over the snake. You just need to make sure to jump from the correct location so that it doesn't bite you.
- 1
-
3 hours ago, youxia said:
Not sure who the poster is there, but I question their capabilities to create a core if they think the Mister and Phoenix CV cores are the same. I also like how he is concerned with Phoenix "taking others work and using it in their product" when that is the exact purpose of open source. Now it is completely different using open source code in a closed source project, but that is not the case.
-
-
-
-
-
-
-
-
-
-
https://archive.org/details/YieArKungFu
The controls are the similar/same as the MSX version as far as I can tell.- 1
- 1
-
-
On 11/1/2021 at 5:08 PM, DuggerVideoGames said:
My Q-Bertese is a little rusty, so I'm not sure if I said something about somebody's mother, or thank you. Here it is in plain English: THANK YOU! And thank you for the kind compliments, but I still look up to you and Bmack as the best Colecovision players (you both excel in a wide variety of games). There's a handful in our community better than me at some games (I tip my cap to you all).
It was yet another fun season, and as always, it's been great sharing these experiences with you guys. No matter how little we know one another, this is truly a community, and a fun one! In addition to fun competition, I truly enjoy seeing everybody's scores and seeing improvements as we all post multiple scores in a thread; OriginalJohn had some mighty impressive scores this season.
Congrats Dugger! Thanks for the nod. Sorry I couldn't participate this season, I started a new job in Jan and haven't had much extra time.
- 2
-
1 hour ago, fieroluke said:
I did add the following registers:
0x50: Write AY3-8910 address register
0x51: Write AY data
0x52: Read AY data
0x53: bit 1: 0 (default): A12 tied high for RAM mirroring
1: full RAM access from 2000-7FFF
0x54: USB FIFO read data
0x55: bit 1: 0 (default): 8000-ffff cartridge
1: 8000-ffff upper 32K of 64 onboard (Bios) EPROM
0x7F: bit 1: 0: 0000-1FFF RAM
1 (default): 0000-1fff BIOS
The two 8 bit ports of the AY have their own jumpers, so it’s possible to add e.g. a keyboard.
Also there are sockets for GAL16V8 and 20V8 chips for even more playing.
Just as a heads up, the following ports are used on the Phoenix, so if you are using these ports for different purposes it is possible for games to have some weird issues.
-- Extended I/O Ports -- -- Port CPU Data -- -------------- -- >50 WWWWWWWW (W) WSG / SGM-PSG Address Write -- >51 WWWWWWWW (W) WSG / SGM-PSG Data Write -- >52 RRRRRRRR (R) WSG / SGM-PSG Data Read -- >53 xxxxxx_W (W) 0 = SGM disable, 1 = SGM enable -- xxxxxxW_ (W) 0 = SGM Sound AY-8910, 1 = SGM Sound SEX-7264 -- -- >54 xxxxWWWW (W) 32K RAM bank select, 0000 is ignored -- xxxxRRRR (R) current bank -- -- >55 xxxxxxxx (R) Loader disable, PoR re-enabled ROM loader -- xx__xxWW (W) Banking scheme -- 00 None, physical cartridge, other bits ignored -- 01 MegaCart: bank is address access >FFC0+bank -- 10 SGM: Bank is data written to >FFFF -- 11 Atari: >FF80, >FF90, >FFA0, >FFB0 ??? -- xxWWxx__ (W) Select the upper memory operation: -- 00 32K Upper Internal RAM, ignores bank scheme -- 01 32K Expansion ROM, uses bank scheme -- 10 32K Upper Expansion RAM, uses bank scheme -- 11 32K Cartridge ROM, ignores bank scheme -- -- >56 xxxxxx_W (W) SD-card CE_n (AKA SS_n), 0=enable -- xxxxxxW_ (W) SD-card speed, 1=400KHz, 0=12MHz -- RxxxxxRR (R) SD-card card-detect, bit >80 1=card inserted -- -- >57 WWWWWWWW (W) SD-card Data Write -- RRRRRRRR (R) SD-card Data Read -- -- >58 00001000 (R) Machine ID, Phoenix = 8 -- -- >59 xxxWWWWW (W) MegaCart memory size -- other 512K -- 11111 512K, 32 16K-banks -- 01111 256K, 16 16K-banks -- 00111 128K, 8 16K-banks -- 00011 64K, 4 16K-banks -- 00001 32K, 2 16K-banks (same as original cart) -- -- >7F xxxxxxWx (W) 0 = 8K SGM RAM, 1 = 8K CV BIOS -- - 1
-
Just as another point of reference on the subject of RAM initialization
-
The added call to Controller_init resolves the issue.
-
So the issue appears to be that the controller initialization is referencing uninitialized RAM. Changes were made to Phoenix's initial RAM state so it would not have an issue with Risky Rick which looks for specific things in the uninitialized RAM like multiple 00s in a row. So the Phoenix initial ram state has some FFs in the ram.
When you run these games through the Atarimax (which initializes all RAM to 00) the game runs as normal. If you hit the reset button on the Phoenix (returns ram to initial phoenix ram state), the problem comes back (Atarimax was not power cycled so ram was not initialized to 00s).
The conclusion then is there something wrong with reading in the initial controller state that is not properly initializing the controller ram space.
-
9 hours ago, Tony Cruise said:
;
; Set ROM header ORG 8000h ;** CARTRIDGE SOFTWARE POINTERS 8000H ** ; -------------------------------------------- ; DB 0AAh,055h ;Cartridge present: Colecovision logo DB 055h,0AAh ;Cartridge present: skip logo, Colecovision logo DW 0000 ;Pointer to the sprite name table DW 0000 ;Pointer to the sprite order table DW 0000 ;Pointer to the working buffer for WR_SPR_NM_TBL DW CONTROLLER_BUFFER ;Pointer to the hand controller input areas DW START ;Entry point to the user program ;**************************************************************** rst_8: reti nop rst_10: reti nop rst_18: JP RAND_GEN rst_20: reti nop rst_28: reti nop rst_30: reti nop rst_38: reti nop jp NMI db "Lunar Rescue/ELECTRIC ADVENTURES/2021" ; ; Start of application logic START: ; set stack pointer LD SP,StackTop ;128 bytes in length at 737fh ; enable SGM memory if present CALL ENABLE_SGM_MEMORY ; Initialise sound LD B,SoundDataCount ;Max number of active voices+effects LD HL,SoundAddrs CALL SOUND_INIT ; initialise clock LD HL,TIMER_TABLE LD DE,TIMER_DATA_BLOCK CALL INIT_TIMER CALL INITRAM ; Set screen mode 2,2 CALL SETSCREEN2 ;Enable both joysticks, buttons, keypads LD HL,09b9bh LD (CONTROLLER_BUFFER),HL ; Seed random numbers with a fixed number (nothing else to use?) LD HL,1967 CALL SEED_RANDOM ;Enable timers CALL CREATE_TIMERS ; Do all our VRAM setup ; NMI is currently disabled TITLESCREEN: ; display our title screen CALL DISABLE_NMI ; Clear the screen CALL CLEARPAT ; Clean up in case the game left anything on screen CALL CLEARSPRITES CALL SPRWRT ; Load the character set, make all three sections the same CALL LOAD_CHR_SET ; now setup the title screen layout LD DE,VRAM_NAME LD HL,SL_TITLE_D1 CALL dan1rvram;RLE_TO_VRAM CALL DISPLAYMACHINE CALL HISPRT CALL JOYTST ; clear joystick buffer LD HL,OUTPUT_VDP_TITLE CALL SET_VDU_HOOK CALL ENABLE_NMI LD A,15 LD (LEVEL),A SPLASH_TITLE2: CALL JOYTST CP 255 JR Z,NGAME LD A,(HalfSecTimer) CALL TEST_SIGNAL OR A JR Z,SPLASH_TITLE2 ; Any other actions on the title screen go here JR SPLASH_TITLE2 NGAME:
; ; Test for the press of a joystick button (0 or 1) ; A = 255 - fire button pressed JOYTST: CALL POLLER LD A,(CONTROLLER_BUFFER+FIRE1) OR A JR Z,JOYTST2 LD A,255 RET JOYTST2: LD A,(CONTROLLER_BUFFER+5) AND 040h RET Z LD A,255 RET
That's all pretty standard code. There are other games that are effected e.g. A.E. has been mentioned as well.
Is the INITRAM a BIOS routine or a separate function? If so can you say what is it doing.
-
-
Although there may be some difference in the firmware, the fact that no other games, official or homebrew, other then EA games show this issue makes me think something is being done differently in the controller initialization code. Since the game works properly once a button is pressed it isn't an issue with reading the controller in general and just an initialization issue.
What we know:
-On bootup on a Rev 8 firmware there are no controller buttons actuated (ie no inputs/no buttons depressed) when running controller test roms
-No other games display a controller press when booting up
-When loading Cavern fighter the game appears to think a button is pressed
-The game correctly identifies and reacts when the button is actually pressed and starts working correctly afterwards even through a new game
-This would lead me to think something is happening in the controller initialization that is different then any other game.
If we can find out what this difference in initialization implementation is, we can determine what in the firmware would affect this initialization code.
-
7 minutes ago, xdurable said:
So I added the Ver 8 core to my Gen1 Phoenix ( works with my monitor) ( Core 4 slot ) - Cavern Fighter auto starts same behavior as on the 2nd Gen Phoenix ( Core Ver 8 ) - upon losing all lives - the Start screen flashes for a moment and the game starts again ... seems from my limited testing using Cavern Fighter and Electric Adventures CLASSICS - both from Tony they have the same behavior on the Ver 8 Core. but both work fine on the Ver 7 core.
Brian - can the Ver 7 core be used on the 2nd Gen Phoenix ?
No you can't use anything before Ver 8 on 2nd Gen as the video interface is different.
Adam + F18A + Expansion Module 1
in ColecoVision / Adam
Posted
You can still access the RF or composite output for the Exp Mod 1 after putting in an F18a. You won't get CV games on the RF/composite since the TMS is removed, but the 2600 will use that output since it doesn't go to the through the F18a.