flashjazzcat Posted January 6, 2014 Author Share Posted January 6, 2014 (edited) Whoops: the previous Ultimate flasher wiped out the XEX loader with a 64KB sector flash ROM. 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 January 6, 2014 by flashjazzcat 1 Quote Link to comment Share on other sites More sharing options...
Aking Posted January 6, 2014 Share Posted January 6, 2014 Whoops: the previous Ultimate flasher wiped out the XEX loader with a 64KB sector flash ROM. 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. any chance of a stand alone pbi 0.4 for rom generator? Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted January 6, 2014 Author Share Posted January 6, 2014 any chance of a stand alone pbi 0.4 for rom generator? Yep - as soon as I'm satisfied there aren't any bugs in it. The purpose here wasn't so much to release a new BIOS as to test the flasher. 1 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted January 7, 2014 Author Share Posted January 7, 2014 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. Quote Link to comment Share on other sites More sharing options...
Roydea6 Posted January 7, 2014 Share Posted January 7, 2014 Just to clear up my misunderstanding What is the xex loader is it the fat32.xex programs that Candle put out or the screen I get when I press the 'L' key while in the Bios screen.? or something else I am not up to speed with.. Quote Link to comment Share on other sites More sharing options...
AtariGeezer Posted January 7, 2014 Share Posted January 7, 2014 Same thing, the fat32.xex programs that Candle put out just haven't made it to ROM yet... Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted January 7, 2014 Author Share Posted January 7, 2014 (edited) I thought they were now sync'd up? Is there anything in the new stand-alone loaders that isn't in the built-in ROM version? Edited January 7, 2014 by flashjazzcat Quote Link to comment Share on other sites More sharing options...
AtariGeezer Posted January 7, 2014 Share Posted January 7, 2014 I thought they were now sync'd up? Is there anything in the new stand-alone loaders that isn't in the built-in ROM version? Unless I'm out of sync, the built-in ROM version doesn't load cartridge ROM images, plus alignment of bottom ticker on NTSC? Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted January 7, 2014 Author Share Posted January 7, 2014 (edited) 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 January 7, 2014 by flashjazzcat Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted January 7, 2014 Author Share Posted January 7, 2014 This is what I've come up with so far: Pretty rough and doesn't actually flash anything yet, but it took all of an hour to get this far. 3 Quote Link to comment Share on other sites More sharing options...
w1k Posted January 7, 2014 Share Posted January 7, 2014 i love that design Quote Link to comment Share on other sites More sharing options...
AtariGeezer Posted January 7, 2014 Share Posted January 7, 2014 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 */ 2 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted January 7, 2014 Author Share Posted January 7, 2014 (edited) 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 January 7, 2014 by flashjazzcat Quote Link to comment Share on other sites More sharing options...
AtariGeezer Posted January 7, 2014 Share Posted January 7, 2014 Note the 16K of "Reserved" space in the v2 Ultimate ROM now contains the XEX loader. Ahhh, okay thanks I'll revise that... Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted January 7, 2014 Author Share Posted January 7, 2014 (edited) 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 January 7, 2014 by flashjazzcat 1 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted January 8, 2014 Author Share Posted January 8, 2014 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. 1 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted January 8, 2014 Author Share Posted January 8, 2014 (edited) 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 January 8, 2014 by flashjazzcat 2 Quote Link to comment Share on other sites More sharing options...
w1k Posted January 8, 2014 Share Posted January 8, 2014 interesting.. no reboot requied? Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted January 8, 2014 Author Share Posted January 8, 2014 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. Quote Link to comment Share on other sites More sharing options...
Aking Posted January 9, 2014 Share Posted January 9, 2014 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 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted January 9, 2014 Author Share Posted January 9, 2014 (edited) 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 January 9, 2014 by flashjazzcat Quote Link to comment Share on other sites More sharing options...
AtariGeezer Posted January 9, 2014 Share Posted January 9, 2014 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 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... Quote Link to comment Share on other sites More sharing options...
Aking Posted January 9, 2014 Share Posted January 9, 2014 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? you could not access Atarimax fat 32 loader on 130 xe pal A8s , on myide 2 cart with ultimate 1mb pbi 0.34 Quote Link to comment Share on other sites More sharing options...
Aking Posted January 9, 2014 Share Posted January 9, 2014 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... Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted January 9, 2014 Author Share Posted January 9, 2014 (edited) 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 January 9, 2014 by flashjazzcat Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.