Jump to content
IGNORED

Altirra 3.00 released


phaeron

Recommended Posts

It looks like you included the line offset data (on the far left) in your conversion, which put it to 10K.

I reconverted it without the offset data and it's 8K. It's also 4K repeated twice.

 

[Edit] The MD5 checksums match now too.

 

File: ISPlate.rom
CRC-32: f5a142b7
MD4: ea6fec221d0f71668f8d2b1520c75dc7
MD5: ba55e2ecf9986fb9ebff737b492670b1
SHA-1: 826ddd98094db8161a8c411da679327b6ca1cb11

 

ISPlate.rom

Edited by MrFish
  • Like 4
Link to comment
Share on other sites

I think it's too many zeros in this dump... ca. 2 kilobytes. Hm... Two zeros are added to the every 20 bytes. O_o Very odd.

 

The 8k dump (8192 Bytes = $1FFF) on Pastebin is 100% okay. The MD5 checksum after convert hex -> bin is: ba55e2ecf9986fb9ebff737b492670b1 like the checksum of MrFish. Split the 8k into two identical 4k, only one is needed. 4k ROM MD5 is: 24208f781395599bb7f2318492437b76. Work fine.

Link to comment
Share on other sites

Ha, thanks all:

 

http://www.virtualdub.org/beta/Altirra-3.10-test20.zip

http://www.virtualdub.org/beta/Altirra-3.10-test20-src.zip

  • I.S. Plate emulation.
  • Fixed history state not being toggled on coprocessors when toggling master CPU history state.

Now, about the I.S. Plate....

 

First of all, this thing deserves an award for the most confused naming. Just in the first two pages of the device's own manual it is called the I.S. 1050 Plate, the 1050 ISP Disk Drive, the 1050 ISP, the ISP Plate, the ISP PLATE, and the 1050 ISP PLATE. I gave up trying to determine the true official name and used I.S. Plate.

 

Regarding the emulation, the I.S. Plate's memory map is pretty simple:

  • $0000-7FFF: 1050 $0000-0FFF mirrored 8x
  • $8000-9FFF: 8K RAM
  • $C000-DFFF: 8K RAM
  • $E000-FFFF: 4K ROM mirrored

I have no idea why the second 8K of RAM was put at $C000 instead of $A000, since it would have only needed moving a trace over by one pin on the decoder.

 

Accurate sector timing is forced on for I.S. Plate emulated drives. The reason is a bug in the firmware that took me a bit to work out. The firmware blindly scans for sectors during density detection for a quarter of a second and puts the sector numbers into an array without any checks. If it sees more than about 100 sectors within 0.25s the firmware overwrites its stack and crashes, due to the 1050 having pages 0 and 1 mirrored. Fortunately the firmware also has track buffering, so the read speed is generally still good. Write buffering is also supported but not enabled by default; disk copies will go pretty slowly if this is not manually enabled.

 

 

  • Like 9
Link to comment
Share on other sites

Amazingly fast work the Phaeron...You iz da man...and other daft street vernacular

 

Thank you...

 

I presume on the later IS Plate software that offers emulations of other enhancements lose the programming at the moment because they boot the disk or is this just a soft boot?

 

It seems to be a proper reset yet the Lazer software acknowledges a D1: as a lazer drive?

 

Just checking for a Happy enhancement / ISP plate?

 

I just thought with a proper E477 reset it would reboot the drive under Altirra as well.

 

EDIT: Seems its holding the drive programming after the boot message..Converted via the emulation option to an 810 Archiver and the drive speed was as expected after the boot message...Excellent..Thank you..

 

..

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

Just discovered something unexpected about Ultimate 1MB which is (understandably) not currently reflected by emulation. After TheMontezuma discovered that his U1MB BIOS plugin (designed to reset AtariMax flash carts to bank 0 on system reset) did not work on real hardware (although it worked in Altirra), I investigated and it turns out that $D500-$D5BF is always IORAM while the U1MB configuration is unlocked, even if the IORAM is explicitly disabled by writing 0 to D6 of $D380. As we know, the system initialises with the IORAM disabled, and the first thing the BIOS does is turn it on by writing $40 to the config register. But later on (when probing for VBXE, etc), it's expedient to momentarily disable IORAM to expose the hardware underneath ($D6/$D7xx in the case of VBXE). This works very well, and the same method works with hardware showing up at $D1xx. But it appears that $D500-$D5BF is always IORAM regardless of the state of the IORAM bit. To verify this, I created a modified plugin with an action which disables IORAM, writes ASCII 'F' to $D50C (unused by the PBI BIOS), reads the same location back, reinstates the IORAM, and then reports whether 'F' was read back. As you can see, it was:

 

post-21964-0-94584000-1524560100_thumb.jpg

 

To doubly verify what's going on, I then dropped into SDX with the PBI BIOS enabled, enabled the PBI device via $D1FF (which - as we would expect - enables the same IORAM at $D1xx, $D5xx, and $D6/7xx), and peeked $D50C:

 

post-21964-0-03585200-1524560103_thumb.jpg

 

So it looks to me as if that IORAM on page D5 is present the whole time the configuration is unlocked, regardless of the state of the IORAM select bit. The main BIOS has never used $D500-$D5BF and no plugin had thus far tried to access it either; therefore this anomaly was so far overlooked.

 

Altirra appears to do the exact opposite: it exposes CCTL in the same address space regardless of the state of the IORAM bit.

 

This 'feature' is vaguely reminiscent of the Incognito bug which allows writes to CCTL to hit the PBI RAM at the same address even when the PBI device is deselected. :)

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



First of all, this thing deserves an award for the most confused naming. Just in the first two pages of the device's own manual it is called the I.S. 1050 Plate, the 1050 ISP Disk Drive, the 1050 ISP, the ISP Plate, the ISP PLATE, and the 1050 ISP PLATE. I gave up trying to determine the true official name and used I.S. Plate.

 

It's only a few hours ago I was browsing my folders to check what I.S. Plate related things I actually have and came to that same conclusion. I went for " IS-Plate " as it's folder-name :-)

  • Like 1
Link to comment
Share on other sites

Avery, is the IS being treated as an Happy Clone using the same CPU as the Happy boards or is it a different CPU for the enhancement?

 

Hearing from others that if its using the happy cpu etc it may not work, have asked said person to add to the thread as I personally have no clue about the electronics of the enhancements..

Link to comment
Share on other sites

The IS PLATE has similar feature like the Happy but it is not a happy clone. the PCB is different

you cannot take the IS PLATE ROM stick it on a happy board and you get an IS PLATE board.

 

here is the original IS PLATE rom i dumped from a real board

 

isplate_new.rom

 

and here is how the IS PLATE board looks like (as you can see its different then the happy board)

 

beside high speed it also allow you to copy protected software using the Gremlin Grabber tool

Gremlin Grabber disk Side A.ATR

 

if you try to run this software on Altira after selecting IS PLATE as D1 the software will tell you that the IS PLATE hardware is not detected

 

Nir

 

 

post-1423-0-25480800-1524607108_thumb.jpg

  • Like 3
Link to comment
Share on other sites

Just tried that with the Rom that was posted orinally and it does copy with no comments about the ISP hardware..

 

Will try your rom Nir..

 

Edit: same with your Rom Nir, attached disk runs and copies fine under standard or custom...Well it does here?

 

Again, back to the techs again..

 

Oh, Phaeron, getting lots of random full crashes, so far on the X64 version, tried a few on the X32 but no crash as yet, sometimes its running a file from iside a zip, sometimes using a file associated to Altirra and sometimes when it closes down after you hit the red X, it seems random ...Crash dump attached

AltirraCrash.zip

Edited by Mclaneinc
Link to comment
Share on other sites

The IS PLATE has similar feature like the Happy but it is not a happy clone. the PCB is different

you cannot take the IS PLATE ROM stick it on a happy board and you get an IS PLATE board.

 

here is the original IS PLATE rom i dumped from a real board

 

attachicon.gifisplate_new.rom

 

This file is identical to the 8K ROM that I posted above.

Edited by MrFish
Link to comment
Share on other sites

I've just messaged Nir on another forum and checked to see how he's adding the ISP rom, just making sure he's using the firmware manager (easy thing to miss depending on how much you use Altirra and keep up to date with it)

 

I don't think Nir is in one place for 5 mins, he's always at all the scene shows and parties...(lucky sod)

Link to comment
Share on other sites

http://www.virtualdub.org/beta/Altirra-3.10-test21.zip

http://www.virtualdub.org/beta/Altirra-3.10-test21-src.zip

 

  • Fixes random crashing related to I.S. Plate (I messed up the low RAM mirroring).
  • Fixed CCTL RAM on Ultimate1MB in unlocked mode.

The I.S. Plate, like the Happy, replaces the 6507 on the 1050 with a 6502 to increase the address space from 8K to 64K. 8K of RAM on the I.S. Plate is in the same place as Happy's 6K/8K, but the ROM is different as the Happy switches between two banks of 4K while the ISP just has 8K of flat ROM. This means that you can't just run a Happy ROM on the ISP, it has to be one written for or converted for the ISP. Happy code might work in this environment, but it would not be too hard to write code in a way that would break on a Happy emulator on the ISP.

 

Incidentally, Altirra currently only loads and double-maps the first 4K of the ROM; I'll expand this to optional support for 8K later.

 

The ISP and Happy configuration software have eerily similar interfaces. I don't know if this was just aggressive mimicry or not; checking the software disks in a hex editor didn't reveal obvious copying. The ISP diagnostic also runs much faster, to the point that I doubt whether it is even testing all of the RAM.

 

Gremlin Grabber works for me as well, but try with test-21 as the crash bug could also have caused the ISP emulation to intermittently malfunction.

  • Like 5
Link to comment
Share on other sites

Thanks for all the fixed, add-on etc.

:-)

 

Question, about devices, is it possible to have a disable/enable tick-box?

I'm switching devices quiet frequently and removing and adding is getting a pita....

Would be wonderful just to have a tick-box, click, done.

 

Grtz,

Sijmen.

Link to comment
Share on other sites

http://www.virtualdub.org/beta/Altirra-3.10-test22.zip

http://www.virtualdub.org/beta/Altirra-3.10-test22-src.zip

 

  • A warning now shows up in the devices tree when you have added devices that don't have required firmware.
  • Added detection signatures for Indus GT 1.1 and 1.2 firmware.
  • I.S. Plate now supports 8K firmware images as well as 4K.
  • Fixed an issue with the devices tree where double-clicking on the expand button for a device would bring up settings for that device.
  • Some minor updates to the full disk emulation part of the help file.
  • The debugger no longer shows a bogus C register for 6502 coprocessors.
  • Fixed an issue where doing a cold reset and immediately stepping in the debugger would fail if power-on delay was in effect.
  • Added an option to cold reset the computer only without also power cycling peripherals.

Also on the IS Plate -- if you boot the ISP Lightspeed software and load IS/US Doubler emulation onto the drive, the drive won't respond anymore if the computer is NTSC, due to a bug introduced into the transmit routine by Innovated Software when converting the US Doubler firmware to the I.S. Plate. Spot the bug:

C2EA: 6E 35 01  LC2EA   ROR $0135
C2ED: 90 07             BCC LC2F6
C2EF: A9 01             LDA #$01
C2F1: 0D 82 02          ORA $0282
C2F4: D0 06             BNE LC2FC
C2F6: A9 FE     LC2F6   LDA #$FE
C2F8: 2D 82 02          AND $0282
C2FB: EA                NOP
C2FC: A0 04     LC2FC   LDY #$04
C2FE: 88        LC2FE   DEY
C2FF: D0 FD             BNE LC2FE
C301: EA                NOP
C302: 8D 82 02          STA $0282
C305: CE 34 01          DEC $0134
C308: D0 E0             BNE LC2EA
  • Like 7
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...