Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Drive Code C128D N0SD0S Scanner bug.
2007-05-30 15:08
6R6

Registered: Feb 2002
Posts: 245
Drive Code C128D N0SD0S Scanner bug.

Recently Nostalgia released Legacy of the Ancients.
Legacy of the Ancients +8DIR

The program used to scan the IFFL file refuse to
work on a C128D. I got this error report from someone
in USA, so I did a test on my own C128D.

What happens is:
Installer searches for the iffl file,
then it locates track+sector of the iffl file.
At this point this text is displayed on screen.

N0SD0S V1.2

SCANNING

73, CBM DOS V3.0 1571,00,00

Then scanner get installed in the 1571 drive. Scanner now
searches the IFFL file and you can hear the drive is working
as it makes a click for each track it moves to.
But then at the end of scanning everything freezes,
drive is spinning forever and the led is on.

I tried the same game disk on my c64+1541 and it
works fine. I tried not messing with the $1c07 timer.
I tried with and without fastload cartridge on my c128D.
But I get the same bug each time. Some have said i Have a bad VIC chip, but the VSP scroller in the n0s intro works fine for me.

I am not sure if its the C128D or the disk drive that is causing the problem. I wonder if anyone of you can help
me by verifying if it works or not on these setups:

1) C128D.
2) C128D but run the game from a external 1541(II) drive.
3) C128 + 1571
4) C128 + 1541(II)
5) C64 + 1571

Please post your report here.
Also, if you have any other suggestions to what
the problem might be please post here.
Thanks!
 
... 21 posts hidden. Click here to view all posts....
 
2007-05-30 19:36
WVL

Registered: Mar 2002
Posts: 902
I'll try this when I get home again. Sounds like the same problem that other loaders also seem to have :(
2007-05-30 23:53
6R6

Registered: Feb 2002
Posts: 245
@mace:
Thanks for testing, so you're saying your c128d + internal 1571 works ?? i'm clueless.. :+\


2007-05-31 05:29
Mace

Registered: May 2002
Posts: 1799
@GRG: yeah, it loads perfectly. I hear music and stuff :)

Have you tested between the two models of C128-D: plastic case & metal case?
I've got a plastic case...

[edit]
Oh, btw, because I forgot to press C= key one time, I found out the C128D also works in C128 mode... it was broken before (black screen)! So thank YOU for that :-)
It doesn't work with tape, though...
2007-05-31 11:16
6R6

Registered: Feb 2002
Posts: 245
My C128D is a plastic case. Joyport #2 doesnt work though..
Could be its broken after all..

Hope someone else with a C128D can give it a try. :)
For a third opinion you know..

GRG
2007-05-31 14:34
WVL

Registered: Mar 2002
Posts: 902
I can give it a try on saturday :) first day I will be home again ;)
2007-05-31 18:43
Steppe

Registered: Jan 2002
Posts: 1510
Hey Glenn,

works fine here on my C128D-CR (metal case) and C128D (plastic case) with the internal drives. If I can be of more help, drop me a line.

/Steppe
2007-05-31 18:48
Trurl

Registered: Mar 2002
Posts: 61
I tested it on my C128D (Scandinavian, plastic case) and it played fine with the internal 1571, both with and without AR6.

I also tried using 1541-II as #9 but it didn't work, I once got it to the EOA logo but usually it jammed saying 'scanning'. This drive sometimes acts a bit funny so it may be due to that.

With a breadbox C64 + 1541-II it worked ok.
2007-05-31 19:58
QuasaR

Registered: Dec 2001
Posts: 145
I had some problems with loader and my C128D (metal case) sometime before, especially when I was playing around with dreamload, which seems to be quite similar to Nosdos, I think. With one of the latest updates of dreamload, even my C128D seems to work... ATM I can't test the game since I was moving houses, but maybe in a few weeks... ;)
2007-06-01 04:49
Fungus

Registered: Sep 2002
Posts: 686
Ok, so there must be something weird with some 128D's and DCR's because it worked perfectly on mine as well.

Very strange!
2007-06-01 17:29
6R6

Registered: Feb 2002
Posts: 245
Thanks for testing i will message you if
I need you to test something (@steppe).

I will just like to point out that my c128d works with
other games, but is having a problem with this one.

The code that is running in the disk drive looks
like this (We're running the same code for 1541
as for 1571) - I am not posting the complete
code.

Scanner is started from "scann_begin", cli
should be set at that point.

;----------- 15xx drive scanner:
sc_fileoffs = $0c ;IFFL File offset
sc_sectCnt = $0d ;IFFL Sector counter
sc_trkCnt = $0e ;IFFL Track counter
sc_trksector = $43 ;Number of sectors per track.
;FDC updates this when entering a new track.
sector_scan = $96
cmptable = $0320
sector_table = $0360
track_table = $0380


* = $0500
ldy #$1f ;clear buffer
lda #0
wed sta cmptable,y
dey
bpl wed
lda #3
sta $31 ;active buffer $0300
s41loop
jsr $f556 ;Sync
sty $30 ;Y = 0, buffer = $0300
jsr get5 ;read 5 bytes
sty $30 ;Y = 5, buffer = $0305
lda $0300
cmp #$52 ;Header block id = $52
bne s41loop ;try again
jsr $f556 ;Sync
jsr get5 ;Y = 0 read 5 bytes to $0305
ldy #0 ;buffer = $0300
sty $30
jsr $f7e8 ;convert gcr
ldx $54
stx $96
lda cmptable,x ;0 = this sector not in table
bne s41loop
dec cmptable,x ;set sector in table
ldy #5 ;gcr pointer
jsr $f7e8 ;convert gcr
ldx $96
lda $53
sta track_table,x ;store track
lda $54
sta sector_table, ;store sector
dec $43 ;Decrease # sectors for track
bne s41loop ;Complete track scanned?
...
code for checking and writing tables here..
...
lda xx
sta $0a
jmp $f418 ;Exit

get5 bvc get5 ;read 5 bytes
clv
lda $1c01
sta ($30),y
iny
cpy #5
bne get5
rts

scann_begin:
lda $024f ;allocate buffer
ora #6
sta $024f
lda #0
sta $0c
sta $0d
sta $0e
lda #$28 ;Timer hi
sta $1c07
lda $19 ;$19+$18 has T+S for file
sta $0b ;Sector
lda $18
sta $0a ;Track
more: lda #$e0 ;Exectute code at $0500->
sta $02
lda $02
bmi *-2
lda $0a
bne more
jmp $c194 ;Exit scanner
;------------- endof 15xx scanner



Now, while the drive side is scanning the iffi file
the C64/C128D side runs this code:
This routine is a waitloop, and it will
not exit until drive code has jumped $c194

lda #0
sta $90
lda Device ;zp lda $ba
jsr Rom_IECTalk
lda #$6F
jsr Rom_IECTalkSecAdr

Loop jsr Rom_IECAcPtr
bit $90
bvc Loop

jsr Rom_IECUnTalk
...

When my C128D bugs the PC is stuck inside that "Loop".
I think one thing is for sure, drive locks itself up.

GRG

Previous - 1 | 2 | 3 | 4 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
BYB/Hokuto Force
Alakran_64
zzarko/Avatar
syntaxerror
The Syndrom/TIA/Pret..
Guests online: 182
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 The Demo Coder  (9.6)
6 Edge of Disgrace  (9.6)
7 What Is The Matrix 2  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 No Listen  (9.7)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 X-Mas Demo 2024  (9.5)
7 Dawnfall V1.1  (9.5)
8 Rainbow Connection  (9.5)
9 Onscreen 5k  (9.5)
10 Morph  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Censor Design  (9.3)
5 Triad  (9.3)
Top Musicians
1 Rob Hubbard  (9.7)
2 Mutetus  (9.7)
3 Jeroen Tel  (9.7)
4 Linus  (9.6)
5 Stinsen  (9.6)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.088 sec.