Jump to content
IGNORED

APT Hard Disk Preparation and Utilities


Recommended Posts

Whoops: the previous Ultimate flasher wiped out the XEX loader with a 64KB sector flash ROM. :o

 

Have corrected the ROM bank offsets (the second pair were previously wrong):

 

PBI Update 0.4c.zip

 

The perils of testing... ;)

 

Now: I still can't get the Ultimate flasher to run from the XEX loader, but at least the crash is reproducible in emulation. A discrepancy between GINTLK and and TRIG3 (TRIG3 read $01, while GINTLK is $00) causes the stage 1 VBL to enter an endless loop. I can only assume this is because the flasher is manipulating the U1MB base register, but I can't really speculate any further without speaking to Candle.

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

Whoops: the previous Ultimate flasher wiped out the XEX loader with a 64KB sector flash ROM. :o

 

Have corrected the ROM bank offsets (the second pair were previously wrong):

 

attachicon.gifPBI Update 0.4c.zip

 

The perils of testing... ;)

 

Now: I still can't get the Ultimate flasher to run from the XEX loader, but at least the crash is reproducible in emulation. A discrepancy between GINTLK and and TRIG3 (TRIG3 read $01, while GINTLK is $00) causes the stage 1 VBL to enter an endless loop. I can only assume this is because the flasher is manipulating the U1MB base register, but I can't really speculate any further without speaking to Candle.

 

 

any chance of a stand alone pbi 0.4 for rom generator?

Link to comment
Share on other sites

Flasher now works from the Ultimate XEX loader:

 

PBI Update 0.4 test D.zip

 

Have tested with an Ultimate-equipped 1200XL (64KB sector flash ROM). The XEX loader is also left intact after flashing the PBI BIOS.

 

There's a small bug in the XEX loader which results in an Enter keystroke being automatically issued to the application (this results in the first prompt automatically being accepted). To overcome this, the flasher now clears CH ($2FC) first.

 

Link to comment
Share on other sites

Unless I'm out of sync, the built-in ROM version doesn't load cartridge ROM images, plus alignment of bottom ticker on NTSC?

 

Ah - that'll be right. I'm no gamer, so I'm oblivious to some of these things. ;)

 

EDIT: was using wrong ROM Generator version. ;)

 

Do we have a very complete list of all the slot offsets anywhere, to save me figuring them out by trial and error? I know there's a broad guide at spiflash.org, but that doesn't give a detailed breakdown of the BASIC slot offsets, etc.

Edited by flashjazzcat
Link to comment
Share on other sites

Do we have a very complete list of all the slot offsets anywhere, to save me figuring them out by trial and error? I know there's a broad guide at spiflash.org, but that doesn't give a detailed breakdown of the BASIC slot offsets, etc.

Here is some of my notes:

 

 

Ultimate1MB OS details
  When building an image for flashing whole flash array, it may be convinient to
  change default labels for things like OS slots or BASIC/GAME slots,to do so,
  one needs to know where they are located.
  Each entry is 32 bytes long and consist of ANTIC internal character codes,
  here are their offsets in BIOS space area:
    0x052080 First  OS slot
    0x0520A0 Second OS slot
    0x0520C0 Third  OS slot
    0x0520E0 Fourth OS slot
    0x052400 First  BASIC slot
    0x052420 Second BASIC slot
    0x052440 Third  BASIC slot
    0x052460 Fourth BASIC slot
    0x052480 First  GAME slot
    0x0524A0 Second GAME slot
    0x0524C0 Third  GAME slot
    0x0524E0 Fourth GAME slot

/*Ultimate1MB FLASH Chip Memory Map
 ------------ Version #1 ---------------- | ------------- Version #2 -------------
 0x000000 - 0x04FFFF   SDX                | 0x000000-0x03FFFF SDX             256k
                                          | 0x040000-0x04FFFF GUI  code space 64k
 0x050000 - 0x053FFF   BIOS code space    | 0x050000-0x053FFF BIOS code space 16k
 0x054000 - 0x05FFFF   Rsvd Extended Bios | 0x054000-0x057FFF Reserved        16k
                                          | 0x058000-0x05FFFF PBI Code Space  32k
 0x060000 - 0x061FFF   BASIC              | 0x060000-0x067FFF BASIC Slots (4) 32k
 0x062000 - 0x063FFF   8k GAME cartridge  |
 0x064000 - 0x06FFFF   Reserved           | 0x068000-0x06FFFF GAME  Slots (4) 32k
 0x070000 - 0x073FFF   1st OS slot        | 0x070000-0x073FFF 1st OS slot     16k
 0x074000 - 0x077FFF   2nd OS slot        | 0x074000-0x077FFF 2nd OS slot     16k
 0x078000 - 0x07BFFF   3rd OS slot        | 0x078000-0x07BFFF 3rd OS slot     16k
 0x07C000 - 0x07FFFF   4th OS slot        | 0x07C000-0x07FFFF 4th OS slot     16k
*/
 
/* --------- Incognito Definitions ---------
Vectors In Bios are:
FFE0/3FE0  COL Option_Table    CC24/0C24 = 2000
FFE2/3FE2  XLE Option_Table    CC44/0C44 = 2000
FFE4/3FE4  COL Option_Masks    CC64/0C64 = 0320
FFE6/3FE6  XLE Option_Masks    CC6C/0C6C = 0320
FFE8/3FE8  Colleen_Line        E000/2000 + 0100 = 2100  COLLEEN OS DESCRIPTIONS
FFEA/3FEA  XLXE_LIne           E400/2400 + 0100 = 2500  XL/XE   OS DESCRIPTIONS
FFEC/3FEC  Days                CC64/0C64
FFEE/3FEE  Bios_Fonts          D800
 
Incognito Flash Memory Map:
========= Prototype ===========|========== Final Board =============
 0x000000-0x03FFFF - SDX          0x000000-0x03FFFF - SDX            256k
 0x040000-0x04FFFF - GUI          0x040000-0x04FFFF - GUI             64k
 0x050000-0x053FFF - BIOS         0x050000-0x053FFF - BIOS            16k
 0x054000-0x057FFF - RESERVED     0x054000-0x057FFF - RECOVERY OS     16k
 0x058000-0x05BFFF - SIDE         0x058000-0x05DFFF - PBI ROM         24k
 0x05C000-0x05DFFF - BASIC 1
 0x05E000-0x05FFFF - BASIC 2      0x05E000-0x05FFFF - BASIC            8k
 0x060000-0x06FFFF - COLLEEN OS   0x060000-0x06FFFF - COLLEEN OS ROM SPACE INTERLEAVED WITH SIDE LOADER
 0x070000-0x07FFFF - XL/XE OS     0x070000-0x07FFFF - XL/XE OS ROM SPACE
 
details:
each 4k portion in front of 800 OS is not used, since 800 OS has only 10k,
 so with 12k padding we have one 4kbyte sector of flash chip free to use without
 much trouble, with 4 slots for 800 OS roms I have 4 sectors, 4kbytes each, forming
 2 banks 8kbytes each of cartridge space, so when loading 16kbytes cartridge image
 there, it has to be split into 4 parts 4kbytes each and put between 800 OS slots
0x060000-0x060FFF - first part
0x061000-0x063FFF - first 800 OS slot
0x064000-0x064FFF - second part
0x065000-0x067FFF - second 800 OS slot, and so on

*/
  • Like 2
Link to comment
Share on other sites

Here is some of my notes...

Awesome - thanks Jay. :)

 

I already worked out the ROM description table, and was interested (and surprised) to discover that the entire entry (i.e. "section title: name") is editable.

 

Anyway - this should really speed things up. Looks like coding up the tables with entry names, offsets and slot sizes will be the most time-consuming part. :)

 

Note the 16K of "Reserved" space in the v2 Ultimate ROM now contains the XEX loader.

Edited by flashjazzcat
Link to comment
Share on other sites

Thanks to that info, the tables are all done. Just need to write code to read the image files into extended RAM, and we should have a working version tomorrow evening. :)

 

Just discovered by trial and error that 0x01 needs to be written to 0xD5E0 after tinkering with the banks, otherwise SDX stops responding to CIO requests (evidently it likes bank 1 to be present, rather than the 0 I was trying before).

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

Very first run worked:

 

 

Well - it crashed first time, but it was a simple typo - then it worked right. :)

 

This shows the PBI BIOS (32KB image with padding) being flashed to a 64K sector ROM. Very rough at the moment, obviously (needs various prompts, dialogues, progress indicators for file read, etc), but it works. Should be pretty quick when the images are loaded from a FAT16 partition on the hard disk, using the SDX FAT driver.

  • Like 1
Link to comment
Share on other sites

ROMs load nice and fast from the hard disk:

 

 

Looking forward to trying a full 256KB SDX flash, although that will require a reboot afterwards (if the flasher is being run from SDX).

 

The video demonstration uses a 64KB sector flash ROM; 4KB chips are yet to do, but will be loads easier so shouldn't take long.

 

Regarding the ROM descriptions: I'll pull them straight off the ROM and they'll be replaced when a different BIOS is flashed. I'll put them over on the right hand side so they can be edited in-situ. If you change the descriptions but don't flash a new BIOS, you'll be prompted to re-flash the current BIOS with the new descriptions merged in. :)

Edited by flashjazzcat
  • Like 2
Link to comment
Share on other sites

interesting.. no reboot requied? :)

Shouldn't be necessary for BASIC ROMs, cart slots, BIOS, and OS slots. The flasher keeps the OS in RAM. However, if the flashed (active) OS or PBI is significantly different to the old one, a reboot would obviously be advisable in case data in RAM became invalid. :)

Link to comment
Share on other sites

pbi rom 0.4 solved a nasty bug preventing usage of fat 32 loader in myide 2

with 130 xe PAL machines

now its cool

 

Really? Seems it got fixed by accident rather than by design. Can you describe the symptoms of the issue which got fixed in 0.4?

Edited by flashjazzcat
Link to comment
Share on other sites

pbi rom 0.4 solved a nasty bug preventing usage of fat 32 loader in myide 2

with 130 xe PAL machines

now its cool

 

looking forward to update the side loader

it still has some serious issues,(noted on my previous posts),

hope the new version corrects them :grin:

I think the ROM that you were using that has "XL Rom" as the description, has a mis-matched Bios and PBI?

I have tried to re-flash from SIO using that 512k ROM (while the SIDE Cart was plugged in) and ended up with the same errors. After using a fresh V2 Rom, no further problems occurred...

Link to comment
Share on other sites

I think the ROM that you were using that has "XL Rom" as the description, has a mis-matched Bios and PBI?

I have tried to re-flash from SIO using that 512k ROM (while the SIDE Cart was plugged in) and ended up with the same errors. After using a fresh V2 Rom, no further problems occurred...

not the case.

 

the problems were solved with the stand/alone version of side loader uploaded a while ago here

looking forward to update u1mb with it...

Link to comment
Share on other sites

 

 

you could not access Atarimax fat 32 loader on 130 xe pal A8s ,

on myide 2 cart with ultimate 1mb pbi 0.34

 

Why would one configure things this way? There's absolutely no reason to have the Ultimate PBI switched on when there's a MYIDE 2 cart plugged into the machine. The two are completely incompatible. The PBI functionality is for SIDE/SIDE2 ONLY.

 

The MYIDE 2 hardware base clashes with Ultimate's PBI RAM. If anything on the MYIDE 2 still works with Ultimate PBI enabled, it must be by accident - it's certainly not by design.

Edited by flashjazzcat
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...