Jump to content
IGNORED

Unicorns season: Prince of Persia for the A8!


rensoup

Recommended Posts

1 hour ago, Solitaire01 said:

Interesting - what does that accomplish?

It's a well documented stability fix swap as the 74f08 is apparently more efficient and addresses issues the original 74ls08 logic chip has with system timings IIRC. Just do a forum search for 74ls08 as there are hundreds of posts relating to it. 

 

The 74f08 chips are so cheap/easy to source also which is good. 

Link to comment
Share on other sites

On 4/3/2023 at 9:19 PM, MrFish said:

Another question to ask: is your 130XE's extended RAM functional? Have you run any other software requiring 128 KB successfully?

 

 

Yes, internal memory (and other) diagnostics check out fine.  I do love that Atari built that in...

 

Summarizing answers to other questions: this is otherwise a stock NTSC 130XE other than the FujiNet 1.6 or BackBit Pro carts, loading the ATR or CAR files directly from the images; no SpartaDOS, etc., etc.  It always hangs at the exactly the same place: while the Atari logo is up, after screen flashes various colours, and then the top 2/3 of the logo disappears and that's where it sits.

 

I'll be trying that 74F08 chip next!

Link to comment
Share on other sites

8 minutes ago, Solitaire01 said:

Yes, internal memory (and other) diagnostics check out fine.  I do love that Atari built that in...

The ability to check extended RAM on a 130XE using the built-in diagnostics is totally dependent on what version of the OS the machine came with. There were two different versions possible: Revision 2 and Revision 3. If yours came with Revision 3, then it will check extended RAM; if you got Revision 2, it's only going to check the first 64 KB; in which case you'll need to utilize some other method for checking it.

 

Link to comment
Share on other sites

2 minutes ago, MrFish said:

If you have Revision 3, your display will have the 4 longer bars at the bottom of the RAM section, as shown here; if you have Revision 2, those bars won't be there.

 

image.thumb.png.e05d83955f269df8f0914cafc990bfe3.png

 

well, I never knew that. Of all the XL/XEs I've had it appears I've only every see rev 2 given i've never seen a version with the extended ram bars

Edited by Beeblebrox
Link to comment
Share on other sites

Alright, apparently even Revision 3 isn't capable of checking all of the extended memory in a 130XE. I just found out about a bug (never fixed) wherein only 2 of the 4 extended banks actually get tested -- in spite of 4 banks being represented on the test screen.

 

So, even if you have Revision 3, bad RAM can still exist when a clean test is run. Seek other methods (XRAM, etc.).

 

2.5.1. BB000001 Rev. 3 (1985-03-01)

This version was included in later 65XE and 130XE computers, and also in (probably) all 800XE units. It reached the market quite late, possibly even after the XEGS shipped (which had rev. 4 built in), when Atari Corp. started moving its focus, and production volume, to the European (especially Eastern) market instead of the dwindling U.S. one. As a result this OS revision is more common in PAL systems than in NTSC ones.

Compared to BB000001 rev. 2, this OS version contains a bugfix in CHKSUM initialization (previously fixed in the prototype BB000002 Rev. 3 (1984-03-23)), and the following changes in Self Test:

  • Memory Test: support for the additional 130XE memory, and shortening of the delay loops so that the test performs faster. (Interestingly, the XE memory test is broken, as it tests only 2 banks out of 4.[64])

  • Keyboard Test: keyboard layout updated to reflect the XE keyboard (F1-F4 keys removed, Inverse Video and Break moved to proper locations), easter egg changed so that the keyboard now types out "Copyright1985Atari".

  • Audio-Visual Test rewritten to take less space.

The OS ROM consists of one ROM chip:

  • C300717 - 16 KB

 

 

References

 

64. [AAGE9] posts #10, #17, #8, #19

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

2 hours ago, MrFish said:

Alright, apparently even Revision 3 isn't capable of checking all of the extended memory in a 130XE. I just found out about a bug (never fixed) wherein only 2 of the 4 extended banks actually get tested -- in spite of 4 banks being represented on the test screen.

 

So, even if you have Revision 3, bad RAM can still exist when a clean test is run. Seek other methods (XRAM, etc.).

Well crazy!!

 

Is there a utility I can run that's known to work?

Link to comment
Share on other sites

On 4/13/2023 at 12:27 AM, evietron said:

Most AtariMax releases work fine, including that sampled sound demo. I think the issue might be bus noise triggering bank changes in certain cases. I'll look into it.

Given what @Solitaire01 said regarding the game crashing at the exact same spot on both fujinet and your cart, I'm guessing that's not it but in any case here's the code I use for bank switching (I'm guessing you already  know)

 


.IF .DEF ATARIMAX_128KB
BANK_OFF		= $80
BANK_ON			= $00

ROMBankSize		= $2000
ROMBankSwitch	= $d500
ROMBankSwitchOff= $d510
.ENDIF

.IF .DEF ATARIMAX_1MB
BANK_OFF		= $80
BANK_ON			= $00

ROMBankSize		= $2000
ROMBankSwitch	= $d500
ROMBankSwitchOff= $d580
.ENDIF

.IF .DEF MEGACART
BANK_OFF		= $80
BANK_ON			= $00

ROMBankSize		= $4000
ROMBankSwitch	= $d500
ROMBankSwitchOff= $d580
.ENDIF

.IF .DEF SIC
BANK_OFF		= $40
BANK_ON			= $20

ROMBankSize		= $4000
ROMBankSwitch	= $d500
ROMBankSwitchOff= $d500
.ENDIF
  
CurrentROMBank .byte 0

; IN: X = BANK
SwitchROMBank
			pha
			txa
			stx		CurrentROMBank
			ora 	#BANK_ON
			sta 	ROMBankSwitch,x
			pla
			rts

DisableROMBank
			pha
			lda 	#BANK_OFF
			sta		CurrentROMBank
			sta 	ROMBankSwitchOff
			pla
			rts

 

  • Like 1
Link to comment
Share on other sites

9 hours ago, Solitaire01 said:

Summarizing answers to other questions: this is otherwise a stock NTSC 130XE other than the FujiNet 1.6 or BackBit Pro carts, loading the ATR or CAR files directly from the images; no SpartaDOS, etc., etc.  It always hangs at the exactly the same place: while the Atari logo is up, after screen flashes various colours, and then the top 2/3 of the logo disappears and that's where it sits.

The Atari logo is 2/3 playfield, 1/3 sprites, so it looks like the sprites stay on screen while the playfield goes bonkers. If I recall correctly it's decompressing the next effect to display (the flying sprites) which is stored in -extended memory- so it may be that you RAM is indeed bad because it would be decompressing garbage and perhaps write over the displaylist.

 

I do check for extended memory at startup in a very crude way by writing a byte to bank 3 and go into a red screen of death so your machine passes that test at least.

 

Given that both your devices fail, that would also point to RAM failure. Perhaps it is possible to flash Fujinet back to 1.5 ? Or ask the fujinet makers to test the PoP ATR ?

 

(Or perhaps those RAM tests will expose a problem)

Edited by rensoup
Link to comment
Share on other sites

Yep, looks like extended memory errors - thanks for helping troubleshoot everyone! 

 

I get errors at Bank 11100111 $E7 test address $4643, and 11100111 $EF test address $4543.  Any way to tell from this info which chips are bad?  (This is of course getting off topic so if anyone feels like DM'ing me I'd appreciate it!)

  • Like 2
Link to comment
Share on other sites

On 4/15/2023 at 6:26 PM, rensoup said:

Given what @Solitaire01 said regarding the game crashing at the exact same spot on both fujinet and your cart, I'm guessing that's not it but in any case here's the code I use for bank switching (I'm guessing you already  know)

 


.IF .DEF ATARIMAX_128KB
BANK_OFF		= $80
BANK_ON			= $00

ROMBankSize		= $2000
ROMBankSwitch	= $d500
ROMBankSwitchOff= $d510
.ENDIF

.IF .DEF ATARIMAX_1MB
BANK_OFF		= $80
BANK_ON			= $00

ROMBankSize		= $2000
ROMBankSwitch	= $d500
ROMBankSwitchOff= $d580
.ENDIF

.IF .DEF MEGACART
BANK_OFF		= $80
BANK_ON			= $00

ROMBankSize		= $4000
ROMBankSwitch	= $d500
ROMBankSwitchOff= $d580
.ENDIF

.IF .DEF SIC
BANK_OFF		= $40
BANK_ON			= $20

ROMBankSize		= $4000
ROMBankSwitch	= $d500
ROMBankSwitchOff= $d500
.ENDIF
  
CurrentROMBank .byte 0

; IN: X = BANK
SwitchROMBank
			pha
			txa
			stx		CurrentROMBank
			ora 	#BANK_ON
			sta 	ROMBankSwitch,x
			pla
			rts

DisableROMBank
			pha
			lda 	#BANK_OFF
			sta		CurrentROMBank
			sta 	ROMBankSwitchOff
			pla
			rts

 

OK, I'll revert AMax to use the bank mask for disable -- other than that everything should work fine on BackBit. Good to hear you guys caught the bad RAM issue.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Hey all -- I socketed and replaced the RAM today (big thanks to a donor PC XT clone that was dead but had 640k of functioning NEC 4164's...your spirit will live on in my Atari).  And it worked!  Tonight my son and I played PoP side by side, he on the 130XE running it from BackBit Pro and me on the C64 running it from a SideKick64.  Given their independent development and different art inspirations the two games feel incredibly similar in gameplay - a testament to how close they mirror the original.  Great job!!

  • Like 1
Link to comment
Share on other sites

18 hours ago, Solitaire01 said:

Hey all -- I socketed and replaced the RAM today (big thanks to a donor PC XT clone that was dead but had 640k of functioning NEC 4164's...your spirit will live on in my Atari).  And it worked!  Tonight my son and I played PoP side by side, he on the 130XE running it from BackBit Pro and me on the C64 running it from a SideKick64.  Given their independent development and different art inspirations the two games feel incredibly similar in gameplay - a testament to how close they mirror the original.  Great job!!

Thanks for keeping us updated!

Link to comment
Share on other sites

  • 2 months later...
  • 5 months later...

In my opinion it's quite playable - I'm on level 12. Sometimes you have to have (very) good timing, sometimes you have to jump "pixel perfect" ;-) You must not wait too long before jumping off; the jump must be initiated in good time before the abyss. In some places you just can't get any further with your previous tactics and have to try something else. Admittedly, it gets more difficult with higher levels.

 

Edited by Sleepy
  • Like 3
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...