English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General

 
 
Thread Tools
Old 21 November 2007, 22:41   #1
Dennis
 
Posts: n/a
Question Some info wanted about common trackloaders

Hi All,

I am the developer of the Minimig (http://home.hetnet.nl/~weeren001).
I have some questions about common trackloaders. Some people at Amiga.org suggested me to take a look here as there are still some old-school developers around here .

The problem I am facing is as follows; Minimig has a simple floppy emulator that basically monitors the diskregisters (dsklen,adkcon,dskpth/l etc). When disk dma is activated, an MFM encoded track is loaded from an ADF file into the Amiga memory at approximate real Amiga speed.
This works fine for a lot af games/disks but some games refuse to load correctly. The games affected are titles as Parasol stars, Rick Dangerous 1 and 2, most sensible software games etc. I must add that all of these games are cracked/trained versions.

The scenario of failure is usually as follows. The first few tracks are loaded normally, the software reads them only once with dsklen to such a large value, that every sector of the track is read.
Then, another type of trackloader kicks in that reads track multiple times with different dsklen values. It looks as if it is searching for some sector but can't find it. Sometimes it finds what it is looking for (but only after rereading a track for 10 times or so), other times ik keeps rereading the track.

Can anyone help me out here? For example with some descriptions/source code of the trackloaders used or some other tips?
I am really stuck

Dennis
 
Old 21 November 2007, 23:45   #2
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 44
Posts: 23,573
I can check if you post CRC32's of the adfs that don't work. (too many different versions as usual..)
Toni Wilen is online now  
Old 21 November 2007, 23:55   #3
Galahad/FLT
Going nowhere

Galahad/FLT's Avatar
 
Join Date: Oct 2001
Location: United Kingdom
Age: 46
Posts: 7,456
Quote:
Originally Posted by Dennis View Post
Hi All,

I am the developer of the Minimig (http://home.hetnet.nl/~weeren001).
I have some questions about common trackloaders. Some people at Amiga.org suggested me to take a look here as there are still some old-school developers around here .

The problem I am facing is as follows; Minimig has a simple floppy emulator that basically monitors the diskregisters (dsklen,adkcon,dskpth/l etc). When disk dma is activated, an MFM encoded track is loaded from an ADF file into the Amiga memory at approximate real Amiga speed.
This works fine for a lot af games/disks but some games refuse to load correctly. The games affected are titles as Parasol stars, Rick Dangerous 1 and 2, most sensible software games etc. I must add that all of these games are cracked/trained versions.

The scenario of failure is usually as follows. The first few tracks are loaded normally, the software reads them only once with dsklen to such a large value, that every sector of the track is read.
Then, another type of trackloader kicks in that reads track multiple times with different dsklen values. It looks as if it is searching for some sector but can't find it. Sometimes it finds what it is looking for (but only after rereading a track for 10 times or so), other times ik keeps rereading the track.

Can anyone help me out here? For example with some descriptions/source code of the trackloaders used or some other tips?
I am really stuck

Dennis
Parasol Stars, Rick Dangerous 1 & 2 use the Rob Northen Sector loader, and it sounds to me like the games themselves aren't setting up the correct DMA for the loader.

The reason I say this is because the RNC Sector loader is used on an absolute SHITLOAD of Amiga games, and in the case of cracked games, there would be absolutely no need to replace it to crack the game.

Does Minimig work on the following: Hook, Indy Heat, Rodland, Back to the Future 2.

These all use the RNC Sector loader.
Galahad/FLT is offline  
Old 22 November 2007, 00:21   #4
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 44
Posts: 23,573
At least RD2 loader loads in small pieces ("random" amount of words, 32+, not full track).

My guess is incorrect "disk" rotation position when next dma starts.
Toni Wilen is online now  
Old 22 November 2007, 00:30   #5
Galahad/FLT
Going nowhere

Galahad/FLT's Avatar
 
Join Date: Oct 2001
Location: United Kingdom
Age: 46
Posts: 7,456
Quote:
Originally Posted by Toni Wilen View Post
At least RD2 loader loads in small pieces ("random" amount of words, 32+, not full track).

My guess is incorrect "disk" rotation position when next dma starts.
Smallest size the RNC loader will load is $200 bytes.

Have you tried it with another RNC loaded game that I've listed above Toni? I've always found it to be a very reliable loader.

The First Rick Dangerous one might be an early variant, but the rest of the games I listed should all be the final version loader.
Galahad/FLT is offline  
Old 22 November 2007, 19:30   #6
Dennis
 
Posts: n/a
Quote:
Originally Posted by Toni Wilen View Post
At least RD2 loader loads in small pieces ("random" amount of words, 32+, not full track).

My guess is incorrect "disk" rotation position when next dma starts.
Thanks for the response!

I was also thinking along that way. Is the RN loader a "sector-loader" as opposed to a "track-loader"? If so, how does it know when to start DMA to load the right sector?

I have tried doing it the way Winfellow does; Winfellow increments the start sector every time a track is reread. This is the way the current Minimig trackloader works. But, a lot of games still fail on it.
I will dig up some crc's or pointers to failing ADF files.
 
Old 22 November 2007, 20:47   #7
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 44
Posts: 23,573
Quote:
Originally Posted by Dennis View Post
Thanks for the response!

I was also thinking along that way. Is the RN loader a "sector-loader" as opposed to a "track-loader"? If so, how does it know when to start DMA to load the right sector?

I have tried doing it the way Winfellow does; Winfellow increments the start sector every time a track is reread. This is the way the current Minimig trackloader works. But, a lot of games still fail on it.
I will dig up some crc's or pointers to failing ADF files.
You need to emulate disk rotation properly. Think it as a "infinite" stream of bits instead of sectors. (some programs for example peek DSKBYTR and start DMA when DSKBYTR contains expected data.. The Deep is good example)
Toni Wilen is online now  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Question about NDOS, Trackloaders, BootSectors etc trackah123 Coders. General 22 28 February 2008 17:37
Technical info on HAM-E, DCTV, ColorBurst hardware wanted mark_k Coders. General 5 12 January 2008 02:52
Not sure if it's WinUAE or common 060 problem Doc Mindie support.WinUAE 3 08 October 2007 17:39
Developer environment (common task ;) nemazoty Coders. General 5 11 February 2006 13:28
The continued rape of the common man Fred the Fop Retrogaming General Discussion 14 30 September 2002 16:52

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 16:39.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.
Page generated in 0.06733 seconds with 15 queries