|
Post by mirkosoft on Oct 24, 2015 14:47:20 GMT
Hi!
Finally I'm working on one part of The Ace and have by SCPU JiffyDOS on my DCR. JiffyDOS at disk access turns off VIC2E and when is disk access completed, again turns VIC2E on. I want to avoid it, better to say disable turning off VIC2E or make not possible to turn off VIC2E
I have idea to have in IRQ part of code which always (without check) turns on VIC2E, but it makes computer bit slower, but not so slow like when is IRQ checks VIC2E state, when is off, then turns it on. Have anybody idea or is possible to make generally VIC2E always turned on? Of course 2 MHz mode is other and this cannot handle VIC2E, and core can at 2 MHz enable turning off...
Why? Simple: user working in UI based on VIC2E uses any function which needs data load from disk, maybe only small part, and at disk access will UI flicker? This is unwanted. I know JiffyDOS can be turned off, but when C128 access 1541 drive it's unusable - speed is very very slow. If anyone know any trick like is possible to avoid flickering sprites at disk access, please let me know. I mean - it is possible to avoid sprites flickering, so it must to have solution to avoid turning off VIC2E.
Many thanks.
Miro
|
|
|
Post by hydrophilic on Oct 25, 2015 12:27:00 GMT
That is news to me. I know on C64, JiffyDOS does not turn off VIC2. The timing of VIC in c64 and 128 is exactly the same (assuming 1MHz of course). So I am really surprised to learn C128 JiffyDOS turns off the VIC screen!
Does anybody know... is this unique to SCPU JiffyDOS of C128? Or does it also happen with normal (not SCPU) C128 JiffyDOS too?
I haven't studied 128 JiffyDOS ROM, so I don't know... maybe there is a special flag you can set to keep VIC2 active? If not, I guess you would have to "borrow" the code from C64 JiffyDOS and burn your own unique ROM ? I'm just guessing...
What I do know is the JiffyDOS is very picky about timing and a bit of a miracle (actually good design) that it can work with VIC2 bad lines... JiffyDOS (on the C64 anyway) just avoids bad lines... however it does not avoid sprite fetches, so any active sprites will mess up the timing.
What I can say for sure is that standard (non JiffyDOS) serial bus will work if 3 sprites are active on NTSC, but will quickly cause a "random" crash on PAL (demonstrated by Digimaster software). This is why standard ROM of C128 turns off all sprites during disk access. In theory you could keep 2 of them active (both NTSC and PAL) for standard ROM...
In standard ROM, there is flag "hold_off" at $a3a. If the high-bit is set (value 128 or more) in this byte, then the ROM will not alter sprite or VIC2 speed. So you could POKE 2618,128 (for example) and then sprites will remain active... but if you do this in 2MHz (fast mode) the serial bus will probably fail because the VIC2 speed will not be changed to 1MHz.
Hopefully there is a flag like that for JiffyDOS to keep VIC2 active...
|
|
|
Post by mirkosoft on Oct 25, 2015 19:41:58 GMT
Robert, this I forgot - it's specific for device: IEC-ATA V2.1 It's best solution for have HDD or use CF card as HDD in simple FAT32 filesystem. Yes, disadvantage is also single partition, other are invisible Jochen Adler (firmware creator) will work on CD support... Bit replacement IDE64 for C128...of course very limited
Miro
|
|
|
Post by hydrophilic on Oct 26, 2015 6:48:23 GMT
I really don't know about ATA/HDD configuration... what is important is code in JiffyDOS ROM. Does all JiffyDOS disable VIC2 on C128? That is most important, I think. For sure, JiffyDOS does *not* disable VIC2 on C64. This is very interesting topic, but I have nothing else to say (besides prior comments, of course)...
Hopefully other JiffyDOS users can comment... thanks in advance!!
|
|
|
Post by gsteemso on Oct 27, 2015 4:50:45 GMT
I have not observed JD to blank the VIC-IIe screen on my 128. Caveat, I usually use 80 columns, but I have a dual monitor setup and flickering on the 40-column screen would presumably be noticeable.
|
|
|
Post by hydrophilic on Oct 28, 2015 8:34:39 GMT
I agree gsteemso, the blanking would be very obvious. I think, perhaps, it Miro's version of JiffyDOS? From his description, it sounds like it is custom for SCPU or ATA hardware upgrades? Can anybody with JiffyDOS + SCPU tell us if VIC2 (40-column) goes blank with disk operation? We might need to share ROM images to isolate the problem...
|
|
|
Post by robertb on Oct 30, 2015 3:29:36 GMT
Can anybody with JiffyDOS + SCPU tell us if VIC2 (40-column) goes blank with disk operation? I have a SCPU 128 (with JD built into it). The screen does not blank out when accessing the drive in 40-column mode nor does it blank out in 80-column mode. Truly, Robert Bernardo Fresno Commodore User Group www.dickestel.com/fcug.htm
|
|
|
Post by hydrophilic on Oct 30, 2015 19:20:14 GMT
Thanks robertb! So if standard JD doesn't blank screen, and SCPU JD doesn't blank screen, then it sounds like this is a special hack for mirkosoft's ATA adapter? mirkosoft, you said this JD was specific to IEC-ATA adapter. Is this IEC-ATA adapter stand-alone, or is part of a cartridge... I guess what I really want to know: is the custom JD ROM inside the C128, or is it inside a cartridge? It sounds like it is only this JD version that hacks the VIC-II screen. Because no other JD does this (that we know about), it might be the adapter (for some technical reason) can not tolerate communication delays and so screen-blank is required. It may also be firmware in adapter is not well-written and could be fixed to work with active screen... I really don't know anything about the adapter so this is just a guess. Also, the device (if well developed, like CMD products) will support fast-serial. This does not need JD (and is faster), and communication is not much affected by VIC screen (byte transfers are done in hardware, although handshaking still uses software). It sounds like the problem can't fixed (without a hardware/firmware fix)... but maybe somebody else who knows more about this device can give a solution?
|
|