| |
Krill
Registered: Apr 2002 Posts: 2980 |
Release id #167152 : Krill's Loader, repository version 164
If no problems emerge (i know they will, but anyways)... I can explain a bit about the full on-the-fly GCR block read+decode+checksumming. |
|
... 36 posts hidden. Click here to view all posts.... |
| |
Lazycow
Registered: Dec 2013 Posts: 2 |
Really fast! But the loadertest-c64.d64 hangs with vice 2.4 on NTSC. Emulation problem or bug? (I don't have an NTSC machine to verify) |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Quoting LazycowReally fast! But the loadertest-c64.d64 hangs with vice 2.4 on NTSC. Emulation problem or bug? (I don't have an NTSC machine to verify) The option NTSC_COMPATIBILITY is disabled for the pre-built images and binaries (because it would slightly slow down PAL performance, see loader/include/config.inc). Enabling it should make it work with both PAL and NTSC. |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: Really fast! But the loadertest-c64.d64 hangs with vice 2.4 on NTSC. Emulation problem or bug? (I don't have an NTSC machine to verify)
Not that it matters in this case probably, but generally don’t report bugs / problems using 2yr old emulators. |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Quoting JackAsser2yr old emulators. FWIW, 1541U (up to and including current versions) detection code as found in loader/src/install.s ;)drvch1541u: .byte "m-e", .lobyte($0205), .hibyte($0205); read forward
sei
ldx #$ff
stx $0300
stx $1803; set all port pins as outputs
lda #$a4; bit 0 may be forced to GND (1541-II) or connected to track 0 sensor (1541-C, normally 0 = not on track 0)
sta $1801
cmp $1801
bne is1541u
anc #$8a; and #imm, but no asl/rol, bit 7 of result goes to carry
beq is1541u
bcc is1541u
txa
arr #$7f; bit 6 of result goes to carry
ror $0300
is1541u: inc $1803; set all port pins as inputs
cli
rts
drvchkued:
If $0300 has a negative value after execution, 1541U detected. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
Quote:2yr old emulators
if only - 2.4 was released 2012 :)
thanks for pointing out the emulator code that can be safely removed :) |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Quoting Groepazthanks for pointing out the emulator code that can be safely removed :) If you mean the 1541U detection code, take a look at this option:.define ONLY_1541_AND_COMPATIBLE 0 ; reduces host-side install code by omitting any native custom drive code for non-1541 compatible
; drives, treats any drive as 1541, using an incompatible drive will cause undefined behaviour
|
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
but that would remove support for 1581 etc too, i guess? |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Quoting Groepazbut that would remove support for 1581 etc too, i guess? Indeed. To keep it simple, there's no option to remove detection of specific models of the 1541 family only, once that family is detected. I'm sure you can figure out what to nix for that. :) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
broken emulators are not part of the 1541 family though :) |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Yes. But you know the story. After i found out about these incompatibilities the hard way, i grudgingly decided to work around those (because 1541U is quite relevant these days, and some older firmwares for 1541U1 will not be fixed), then add 1541U as a separate drive model, which is now also detected.
The idea is that anybody using the custom drive code API could then decide to use some other code if 1541U is detected and its broken implementation of some illegals or the VIA port would prohibit use of the regular 1541 code. |
Previous - 1 | 2 | 3 | 4 | 5 - Next |