Jump to content

Photo

(minor) Compatibility issues with LTO Flash and homebrews

LTO Flash Homebrews

8 replies to this topic

#1 Gernot OFFLINE  

Gernot

    Moonsweeper

  • 368 posts
  • Location:Switzerland

Posted Sun Jan 14, 2018 11:34 AM

Well dont' get nervous, it's just a small problem and it only accures to very little of homebrews when i play them on the Intellivision using LTO Flash (99% are ok).

 

First John D's "Old School",

 

i'm sure this problem won't appear on a cratridge because i have a idea where it comes from and since the machine had to be shut off before you can play another game their wont' be nothing which can produce this.

 

however, if i run "Old School" (Old school High, Kid Robin Hood), the screen is garbled up and the sprites and background cards display something weird.

 

PICT0054.JPG

 

to sad in this way it's not playable, or no fun to play it, you can see what happens but erm...

 

 

Second,

decles whole StudiVision project shows something quite similar on the background, the playfield itself is clean.

here it's to see where it comes from (at least for the Studiovision, the problem of "Old School" could be caused by something else), you can define the characters used in the LTO Flash menu.

 

PICT0051.JPG

PICT0052.JPG

 

for StudioVision it's not a big problem, you can still play the games, it's really only the background which shows this problem.

but well it's a tiny bit sad.

 

what you can't see:

if you start any StudioVision game the screen will show a "faked" b&w "Mattel screen" (the palette), emulated all stripes appear,

played via LTO on the real harware only one of the stripes is left.

 

To say i expect it's not a problem of the LTO flash, i expect the games didn't proberly blank the graphical ram? (should i send out TRON to fix this? clearing the flags?).

It will be no problem if it's the sole game in a emulator or a sole game as a cartridge, there will be no remnants of a former program.

 

but maybe i'm wrong and someone has a solution for this.

decle can certainly update his stuff,

for "Old School" i'm not certain about.

also i'm not sure how far the once downloaded "Old School" is identical to the released cartridge.

 

these two are all problems that accured to me so far with the LTO Flash and homebrews.

 

...so far, i haven't tested all of them, "Old School" was randomly selected by me "let's see..." and StudioVision i certainly played.

Star Wars,

which is damned to easy anyway and even easier on my slower PAL console.

 

while the concept of "Star Wars" i like, this sort of dogfight together with a docking sequence (move crosshair, correct velocity, imo the docking sequence should be no simple intermission scene) and buy this good - sell this good (e.g. king of the mountain, need so and so tons of hydrogene, food supply etc) can make a good game (do you remember "return to earth"?).

well you can't procedural generate planets and whole systems, or maybe... if the idea is reduced to the non graphical stuff.

 

a little of "star wars", a little of "lunar lander", a little of "King of the Mountain" and a little of "trollish comment generator" makes....

 

Elite for the Intellivision?

 

 

Further:

you can see that i have on my mothers TV the same "tearing in" issue, i still believe it's the VSYNC.

as i reported on my old tube TV i can fix this by screwing on the proper variable resistor until the tearing vanishes.

my mothers flatscreen i didn't like to open, also it seems more problematic to me to run and modify it because first i have to dismount the socket, but without a socket i can't put the TV upright to get on it's back and watch at the same time what happens on the screen.

 

well the good old days when a tv's back was covered with tared cardboard and fixed without a single screw...

 

yes it's dangerous this guy manipulates on the high voltage parts, blindfolded...  (you have to watch the screen and fumble around in the guts of the tube, or use a mirror).

 

it was stated that a manual adjusting of the channel can help.

yes i know even this i know from the past, but as soon as the teraring vanishes the picture is bad and full of ghosts.

 

I have no idea what's the proper solution for a digital TV, except to open it and hope that there is still this vr to adjust VSYNC.


Edited by Gernot, Sun Jan 14, 2018 12:13 PM.


#2 intvnut OFFLINE  

intvnut

    River Patroller

  • 3,020 posts
  • Location:@R6 (top of stack)

Posted Sat Feb 10, 2018 11:50 PM

I found this thread indirectly, while doing a web search for something else.  I'd like to figure out why these ROMs aren't running correctly for you.

 

Could you contact me via email?  My address is intvnut@gmail.com or joe.zbiciak@leftturnonly.info.

 

It might be something minor, such as some artifact in the .CFG files.



#3 Gernot OFFLINE  

Gernot

    Moonsweeper

  • Topic Starter
  • 368 posts
  • Location:Switzerland

Posted Sun Feb 11, 2018 3:49 PM

however, you found it ;)

 

ok.



#4 Utopia OFFLINE  

Utopia

    Dragonstomper

  • 770 posts
  • Location:Brisbane Australia

Posted Tue Feb 13, 2018 6:49 PM

I found this thread indirectly, while doing a web search for something else.  I'd like to figure out why these ROMs aren't running correctly for you.

 

Could you contact me via email?  My address is intvnut@gmail.com or joe.zbiciak@leftturnonly.info.

 

It might be something minor, such as some artifact in the .CFG files.

Also "stack em" won't play on LTO Flash. Both "stack em" and "old school" test out ok on CC3 for me on a PAL system.



#5 intvnut OFFLINE  

intvnut

    River Patroller

  • 3,020 posts
  • Location:@R6 (top of stack)

Posted Tue Feb 13, 2018 7:06 PM

Also "stack em" won't play on LTO Flash. Both "stack em" and "old school" test out ok on CC3 for me on a PAL system.

 

 

Hmm.  Now I'll have to try Stack'Em when I get home.  If you could PM me the exact binary you're using, that'll save me some faffing about, and also avoid issues such as "my copy works; your copy doesn't."  I don't currently have a PAL system set up.  But, LTO Flash doesn't do anything that's PAL specific either.  Given that you say it works on your CC3, that sounds like an LTO Flash issue.

 

Also, let me know what firmware release you have.  You can get this from the Device Info screen under the Config menu, or from Device Info in the GUI.



#6 Utopia OFFLINE  

Utopia

    Dragonstomper

  • 770 posts
  • Location:Brisbane Australia

Posted Tue Feb 13, 2018 10:03 PM

 

 

Hmm.  Now I'll have to try Stack'Em when I get home.  If you could PM me the exact binary you're using, that'll save me some faffing about, and also avoid issues such as "my copy works; your copy doesn't."  I don't currently have a PAL system set up.  But, LTO Flash doesn't do anything that's PAL specific either.  Given that you say it works on your CC3, that sounds like an LTO Flash issue.

 

Also, let me know what firmware release you have.  You can get this from the Device Info screen under the Config menu, or from Device Info in the GUI.

Done.



#7 intvnut OFFLINE  

intvnut

    River Patroller

  • 3,020 posts
  • Location:@R6 (top of stack)

Posted Wed Feb 14, 2018 12:35 AM

Done.

 

 

OK, I spent some time analyzing the ROMs, and have come to the following conclusion:  You're getting lucky on the CC3, because the CC3 is initializing 8-bit memory, and may be jumping to the game with different timing than LTO Flash.

 

Some background:

 

Under normal circumstances, the EXEC wipes 8-bit memory ($100 - $1EF) before starting a game.  It also initializes the STIC and the PSG.  However, for ROMs starting at $4800 or $7000, it bypasses this initialization.

 

Both the CC3 and LTO Flash rely on the EXEC's initialization for their menus.  The CC3 and LTO Flash differ in their menu strategy.  The CC3 implements all of its menu code on its embedded processor, and just uses a little worker stub on the Intellivision to copy data to and fro.  (I know, because I wrote that stub.)  Thus, the CC3 barely touches anything in the Intellivision memory, and so it leaves the 8-bit memory wiped to zeros thanks to the EXEC's initialization.

 

The LTO Flash implements its menu interface in 100% CP-1610 assembly.  (OK, it calls back into the firmware when it needs to interact with flash storage, but that's about it.)  So the LTO Flash menu will leave garbage in the 8-bit memory.  For non-buggy programs, that shouldn't be a problem.

 

In the case of Stack'Em, it's relying on 8-bit memory already being zeroed.  It reads an uninitialized byte from location $012C, which then, through a series of other computations, gets turned into a branch offset.  Specifically, it's these instructions, plucked from an execution trace:

.

 0000 003C 0079 012C 3014 4D54 02F6 4D94 -C--I-i-  MVI@ R3,R4         13739906
 0000 003C 0079 012C 00E8 4D54 02F6 4D95 -C--I-i-  ADD  $0351,R4      13739914
....
 0000 003C 0001 012C 504B 4D54 02F7 4D9A ----I-i-  ADD@ R4,R2         13739941
....
 0071 6531 0000 012C 504C 4D54 02F7 4DA2 ----I-i-  MVI@ R4,R2         13739989
....
 003C 6531 FFFF 012F 504D 4D54 02F6 4DD5 -C--I---  MVI@ R4,R4         13740080
 003C 6531 FFFF 012F FFFF 4D54 02F6 4DD6 -C--I-i-  ADD@ R4,R7         13740088

.

It's that last ADD@ that sends the game either into an infinite loop, or crashes the system.  You can see this in jzintv if you run Stack'Em with --rand-mem, which is how I reproduced the crash above.

 

For Old Skool (the correct spelling, as this is not the Elektronite cartridge release Old School), the initialization problem is more timing oriented.  Old Skool implements the "title screen intercept" method of intercepting the Intellivision initialization.  It immediately issues a DIS instruction, and then starts wiping BACKTAB.  After that, it blasts graphics data into GRAM.   Unfortunately, that only works reliably on NTSC machines with the Intellivision 1 EXEC, and maybe the Intellivision 2 EXEC.  It won't work with the Sears EXEC, and it won't work on PAL machines.

 

The reason it may work on the CC3 is that I believe the CC3 launches to the game by just directly branching to $1000, without necessarily waiting for an interrupt boundary.  Looking through my notes, it appears the original intent was to have the CC3 reset the Inty; however, it looks like we may have just branched to $1000.  (I don't know where my CC3s are right now, so I can't test.)  In contrast, I know for a fact the LTO Flash works by explicitly triggering the reset line, as if you pressed the reset button.  So, if Old Skool works w/ the CC3 and not with LTO Flash, it's due to this difference in the startup timing.  I'd argue LTO Flash is more accurate here.

 

Both of these crashes make me want to have LTO Flash explicitly randomize as much of the machine state as possible before branching to the game the first time, to expose as many initialization issues as possible.  Sure, that'd break the heck out of older homebrews that "just happened to work," but it'd give more thorough testing for new homebrew developers that are using LTO Flash.  Of course, if I did that, I'd also probably need a "band-aid initialize everything" mode for non-developers who just want to play the games and aren't interested in the bugs.  After all, that's why I have the Inty 2 workaround.



#8 intvsteve OFFLINE  

intvsteve

    River Patroller

  • 2,963 posts
  • Location:At the keyboard

Posted Wed Feb 14, 2018 6:14 PM

Oooh, another preference to configure!



#9 Gernot OFFLINE  

Gernot

    Moonsweeper

  • Topic Starter
  • 368 posts
  • Location:Switzerland

Posted Tue Mar 13, 2018 6:18 PM

 

Also "stack em" won't play on LTO Flash. Both "stack em" and "old school" test out ok on CC3 for me on a PAL system.

 

YES and NO

 

"Stack 'Em" will work when you start it from LUI directly on the title screen of LTO Flash, but it fails when you start it in the native menu of LTO Flash.

(which somehow comes close to using CC3? you quasi exclusively run only this game bypassing the menu)

 

Old Skool (yep, old skool high, kid robin hood) fails (all), respectively are unplayable with the garbled screen.

 

 

So the LTO Flash menu will leave garbage in the 8-bit memory.

 

i suspected something like this...

 

 

 

Overall that's not very important to me, that's why i titled it "minor issues".

if one or two homebrews refuse to work it's no big thing, i (we) have 200 other to select from.

 

It's a great thing to have and i already spend a lot time playing on my intellivision since that.

(in fact sometimes i don't know which one i should play and in the beginning i stayed with what i know and start now to explore games i never touched before)

 

This and the generous gifts of Humblejack make this old boy very happy.


Edited by Gernot, Tue Mar 13, 2018 6:26 PM.






Also tagged with one or more of these keywords: LTO Flash, Homebrews

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users