Jump to content
IGNORED

LTO Flash! - Intellivision Flash Cartridge Information


Recommended Posts

Listen, i understand it must be hard work inventing the LTO Flash but let me assure you it isn't nearly as painful as needing to play The Dreadnaght Factor on a PAL tv! If i go much longer i might end up in the loony bin drawing little green ships all over the walls! :P

Edited by Vipp
  • Like 1
Link to comment
Share on other sites

Speaking of dreadnaught factor pal, joe do you know why i cant make a rom with a bin and the modified pal .cfg file?

 

I don't know why you can't. :-)

 

Ok, reposting the patch:

.

[mapping]
$0000 - $1FFF = $5000               ; map first 8k to $5000 - $6FFF

[memattr]
$D000 - $D0FF = ROM 16

[macro]
@p 5cb5 734a
@p d000 02b8
@p d001 d009
@p d002 0240
@p d003 0100
@p d004 0040
@p d005 0240
@p d006 0101
@p d007 0220
@p d008 72c6
@p d009 02b8
@p d00a 5ca9
@p d00b 0240
@p d00c 0100
@p d00d 0040
@p d00e 0240
@p d00f 0101
@p d010 0220
@p d011 bffd

.

Get the Dreadnaught Factor .BIN file, and put this .CFG file next to it. The two need to be spelled the same, except for the suffix. For example, "dreadnaught.bin" and "dreadnaught.cfg".

 

Now you have multiple options. The easiest is to use rom_merge from jzIntv/SDK-1600. At the command line, run this command (assuming your game image is named dreadnaught.bin):

.

rom_merge dreadnaught.bin dreadnaught_pal.bin

.

.

(Note that I'm glossing over the steps required to either make "rom_merge" visible in your path or similar. How to do that varies by OS.)

 

Alternately you could do:

.

rom_merge dreadnaught.bin dreadnaught_pal.rom

.

The rom_merge program these days knows how to read and write .bin and .rom. To apply the patch, the source file needs to be a .bin file, though.

 

In any case, the output file should have the patch applied from the .cfg file.

Link to comment
Share on other sites

 

I don't know why you can't. :-)

 

Ok, reposting the patch:

.

[mapping]
$0000 - $1FFF = $5000               ; map first 8k to $5000 - $6FFF

[memattr]
$D000 - $D0FF = ROM 16

[macro]
@p 5cb5 734a
@p d000 02b8
@p d001 d009
@p d002 0240
@p d003 0100
@p d004 0040
@p d005 0240
@p d006 0101
@p d007 0220
@p d008 72c6
@p d009 02b8
@p d00a 5ca9
@p d00b 0240
@p d00c 0100
@p d00d 0040
@p d00e 0240
@p d00f 0101
@p d010 0220
@p d011 bffd
.

Get the Dreadnaught Factor .BIN file, and put this .CFG file next to it. The two need to be spelled the same, except for the suffix. For example, "dreadnaught.bin" and "dreadnaught.cfg".

 

Now you have multiple options. The easiest is to use rom_merge from jzIntv/SDK-1600. At the command line, run this command (assuming your game image is named dreadnaught.bin):

.

rom_merge dreadnaught.bin dreadnaught_pal.bin
.

.

(Note that I'm glossing over the steps required to either make "rom_merge" visible in your path or similar. How to do that varies by OS.)

 

Alternately you could do:

.

rom_merge dreadnaught.bin dreadnaught_pal.rom
.

The rom_merge program these days knows how to read and write .bin and .rom. To apply the patch, the source file needs to be a .bin file, though.

 

In any case, the output file should have the patch applied from the .cfg file.

so in windows i dragged the bin and cfg into rom merge. It created another bin and cfg. However that cfg now shows the original cfg info. Did this work?
Link to comment
Share on other sites

so in windows i dragged the bin and cfg into rom merge. It created another bin and cfg. However that cfg now shows the original cfg info. Did this work?

 

I've never actually tried using rom_merge with drag and drop, so I have no idea what that'll do. It probably won't work. I always do these things at the command line.

 

When you're done, you should have a CFG file that looks like this:

 

.

[mapping]
$0000 - $1FFF = $5000
$2000 - $20FF = $D000

.

 

That tells you that the patch was (likely) successful. (The patch is the extra bit of code at $D000, represented by that last line.)

Link to comment
Share on other sites

  • 2 weeks later...

intvnut will need to speak on the hardware / firmware front. He has been kind enough to work up a simulator so the UI can do some more rigorous testing. That's proceeding well, but the Mac UI has fallen a little behind. Fortunately, the communication infrastructure is mostly portable.

Link to comment
Share on other sites

I've thought about changing my AA password and hiding it so I'm not tempted to spend time over here when I should be working on LTO Flash! ;-)

 

I'm making solid progress on the firmware, though. Progress is not as fast as I'd like, but I'm determined now to chip away at it day by day.

 

See, intvsteve gave away part of my approach. I've implemented almost everything as models in C / C++ code, and I've been lowering those models into the firmware implementation. The C/C++ models have been extremely thoroughly vetted for correctness. Any remaining errors are just in the translation to firmware.

 

LTO Flash implements a rather unique filesystem on flash. The base flash filesystem is a transaction based object store that upholds ACID guarantees. The actual Locutus File System is a bit more loose, and is designed to be easy to synchronize, even if a synchronize action gets interrupted. There's a clear separation between data and metadata, and LTO Flash's flash translation guarantees ensure everything will be robust.

 

As far as everything else on LTO Flash is concerned... I'm working through all those details as they arise. Right now, the baseline JLP behavior augmented by the LTO Flash upgrades is pretty stable.

Edited by intvnut
  • Like 5
Link to comment
Share on other sites

I've thought about changing my AA password and hiding it so I'm not tempted to spend time over here when I should be working on LTO Flash! ;-)

 

I'm making solid progress on the firmware, though. Progress is not as fast as I'd like, but I'm determined now to chip away at it day by day.

 

See, intvsteve gave away part of my approach. I've implemented almost everything as models in C / C++ code, and I've been lowering those models into the firmware implementation. The C/C++ models have been extremely thoroughly vetted for correctness. Any remaining errors are just in the translation to firmware.

 

LTO Flash implements a rather unique filesystem on flash. The base flash filesystem is a transaction based object store that upholds ACID guarantees. The actual Locutus File System is a bit more loose, and is designed to be easy to synchronize, even if a synchronize action gets interrupted. There's a clear separation between data and metadata, and LTO Flash's flash translation guarantees ensure everything will be robust.

 

As far as everything else on LTO Flash is concerned... I'm working through all those details as they arise. Right now, the baseline JLP behavior augmented by the LTO Flash upgrades is pretty stable.

To traslate for the rest of us - Work is coming along nicely!

  • Like 4
Link to comment
Share on other sites

 

Thank you because those sentences are certainly not in English.

 

It was more English than this... ;) ;) ;) ;)

ef_4pp_e:       cs_lo
                send_cst    CMD_WREN
                cs_hi
                cs_lo
                send_cst    CMD_4PP
                send_reg32  W3, W2

                RCALL       es_read_byte
                INC         W4,         W4
                ADDC        #0,         W5
                MOV         W0,         SPIxBUF

                DEC         W1,         W1
                BRA Z,      ef_4pp_e_one
ef_4pp_e_lp:
                wait_tx
                RCALL       es_read_byte
                INC         W4,         W4
                ADDC        #0,         W5
                MOV         W0,         SPIxBUF

                wait_rx
                CP0         SPIxBUF

                DEC         W1,         W1
                BRA NZ,     ef_4pp_e_lp

ef_4pp_e_one:   wait_rx
                CP0         SPIxBUF

                cs_hi
                BRA         ef_wait_wip

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

I hate to be a broken record and i understand work is going well on the flash cart, any chance you might take a guess on release? 2 months/6 months/8 months plus? If you can't i understand, i would just love to have an idea on waiting times. :) :) Still can't wait for this to happen.

Link to comment
Share on other sites

Somewhere between 1 and 12 months is my guess.

 

And yeah, I'm in the anxiously awaiting camp myself. I'm starting to realize that I'm doing things in my games that work well with emulators, but might be horrendous on the real hardware. Specifically, how I handle controller input, but other things as well. So I'm dying to get my hands on a flash cart of any sort. I'm kinda stalled with a few ideas because I don't feel like having to re-write entire games based on faulty assumptions.

Link to comment
Share on other sites

I hate to be a broken record and i understand work is going well on the flash cart, any chance you might take a guess on release? 2 months/6 months/8 months plus? If you can't i understand, i would just love to have an idea on waiting times. :) :) Still can't wait for this to happen.

 

Every time someone asks, I push it out an extra month. ;) ;) ;) ;)

 

All kidding aside, I plan to spend my Christmas holiday working on finishing up the firmware. I'm not planning to travel, so that helps too.

  • 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...