English Amiga Board


Go Back   English Amiga Board > Requests > request.Apps

 
 
Thread Tools
Old 05 August 2018, 11:32   #21
Giants
Registered User
 
Join Date: Nov 2017
Location: france
Posts: 109
I never talk about dosio.s, I don't have it

I talk about Solid Gold source : trackdisk.asm
It used 2 files that I already have because they are in the archive.
custom.i and cia.i wich is only variables define.

My configuration is simple, Amiga 1200 + WB 3.1 and ASM one 1.44.
Boot or start the AsmOne (exec on hardDrive or in the adf file)
Allocate some chip memory and load the trackdisk.asm source file, and try to compile with 'a' command.
Like I said, AsmOne don't like the syntaxe in this file.
(Syntaxe for macro is different like other compiler in AsmOne)
And they are other syntaxe problem.

See above !
Giants is offline  
Old 05 August 2018, 15:10   #22
Galahad/FLT
Going nowhere
 
Galahad/FLT's Avatar
 
Join Date: Oct 2001
Location: United Kingdom
Age: 50
Posts: 8,986
Quote:
Originally Posted by Giants View Post
I never talk about dosio.s, I don't have it

I talk about Solid Gold source : trackdisk.asm
It used 2 files that I already have because they are in the archive.
custom.i and cia.i wich is only variables define.

My configuration is simple, Amiga 1200 + WB 3.1 and ASM one 1.44.
Boot or start the AsmOne (exec on hardDrive or in the adf file)
Allocate some chip memory and load the trackdisk.asm source file, and try to compile with 'a' command.
Like I said, AsmOne don't like the syntaxe in this file.
(Syntaxe for macro is different like other compiler in AsmOne)
And they are other syntaxe problem.

See above !
Well you SHOULD have "dosio.s", seeing as I uploaded it to the zone for you, told you it was there, and put your name next to the file.

In fact its the last file uploaded there.
Galahad/FLT is offline  
Old 05 August 2018, 17:04   #23
Giants
Registered User
 
Join Date: Nov 2017
Location: france
Posts: 109
Ah ok, sorry. I'm not accustomed with 'The zone' here.
Ok, I see the file.

I going to see that.

Thks
Giants is offline  
Old 05 August 2018, 17:26   #24
Galahad/FLT
Going nowhere
 
Galahad/FLT's Avatar
 
Join Date: Oct 2001
Location: United Kingdom
Age: 50
Posts: 8,986
Quote:
Originally Posted by Giants View Post
Ah ok, sorry. I'm not accustomed with 'The zone' here.
Ok, I see the file.

I going to see that.

Thks
No worries, assumed you knew
Galahad/FLT is offline  
Old 08 August 2018, 18:21   #25
Giants
Registered User
 
Join Date: Nov 2017
Location: france
Posts: 109
So...
For now, no solution.

Rnc take from 'zone' is not really a source, it's just a lot of Opcode...
anyway, tried it but Can't make it work.
According to configuration i used, i have some I/O on floppy but never for writing.



http://sasfepu78.ddns.net/Temp/Test_diskio_s.uss

Last edited by Giants; 08 August 2018 at 22:01.
Giants is offline  
Old 09 August 2018, 15:44   #26
modrobert
old bearded fool
 
modrobert's Avatar
 
Join Date: Jan 2010
Location: Bangkok
Age: 56
Posts: 775
Quote:
Originally Posted by Giants View Post
So...
For now, no solution.

Rnc take from 'zone' is not really a source, it's just a lot of Opcode...
anyway, tried it but Can't make it work.
According to configuration i used, i have some I/O on floppy but never for writing.
Not sure what state the system is in when your are running code using Action Replay, but I think you need to call forbid(), setup interrupts and dmacon, and perhaps more before jumping to diskio. Galahad probably knows.

Are you interested in a system friendly C program to read or write 160 tracks individually from CLI (command line)? Where odd or even track decides which side (head) to read from or write to.

Something like...
Code:
trackfoo read df0: 0 2 4 6 8 10
...which saves those tracks individually, one file per track, from one side of the floppy.

...and then you can write like...
Code:
trackfoo write df0: 0.bin 2.bin 4.bin 6.bin 8.bin 10.bin
I could throw something together based on the Commodore developer example, or if you want to do it yourself.

Another alternative is using hrtmon, where there are floppy commands already available; 'drive', 'motor', 'rs' to read sector and 'ws' to write sector.

Last edited by modrobert; 09 August 2018 at 16:27. Reason: Clarified.
modrobert is offline  
Old 09 August 2018, 21:16   #27
Giants
Registered User
 
Join Date: Nov 2017
Location: france
Posts: 109
Hi !

In amiga I use only Assembleur, I use C only on my PC.
I can use :

- a binary that I can Load and start from MKIII environment
That binary can take data directly from memory or floppy (file)
It take Cyliner in input (0-79) and Side (0-1) and, floppy (DF0, DF1)

If possible, I would like to have the source of it.

- I can also use a amiga cli exe that can to the job
Take in input <File> <track_destination> <side> <floppy>
Giants is offline  
Old 11 August 2018, 22:22   #28
modrobert
old bearded fool
 
modrobert's Avatar
 
Join Date: Jan 2010
Location: Bangkok
Age: 56
Posts: 775
Code:
trackfoo v0.14 by modrobert in 2018
* Missing argument.
Function: This program copies one track to or from floppy.
Syntax  : trackfoo <commmand> <device> <filename> <track>
Result  : 0 OK. Error; 1 arg, 2 device, 3 file, 4 port, 5 mem, 6 track.
Where <command> is either 'read' or 'write', <device> is DF0: - DF3:,
<filename> for data to read or write, and <track> number between 0 - 159.
Even track number is lower head (side 0), odd track is upper head (side 1).
Attached to this post, let me know if it works, source code included.
Attached Files
File Type: lha trackfoo_v0_14.lha (11.9 KB, 166 views)

Last edited by modrobert; 12 August 2018 at 17:31. Reason: Updated to v0.14.
modrobert is offline  
Old 12 August 2018, 12:04   #29
Giants
Registered User
 
Join Date: Nov 2017
Location: france
Posts: 109
Hi !
Thks a lot.
Your code working good.
Write a 'track' in a specific position entered. (input in track)

But I don't want writing only One track, I want to write a full data of a file.
So, don't limit it to 'one track'.

If you can, just modify it to work with all data of the file <filename>
and, when I choise a odd track, after writing the One track, just continue writing BUT on the SAME side
ex :

trackfoo write DF1: testfile 0
(testfile is a 20571 bytes of datafile)

Write the first 'track' (so $1600) in a 0 'track' position (T00 S00 H00 in deksid)
But for the second 'track' to write, you need to 'jump a full track', keep in the SAME Side so, write the 'second data track' not in T00 S00 H01 but in T01 S00 H00

Finaly I need to have this :
First $1600 block of my file ==> T00 S00 H00
Second $1600 block of my file ==> T01 S00 H00
Third $1600 block of my file ==> T02 S00 H00
...

you see, always writing on the same SIDE defined at the beginning of command line
Whith : trackfoo write DF1: testfile 0, We start on track 0
so Head 0, we need to stay on this Side


Just for my information, how you compil the C on Amiga ? What 'tools' ?
Giants is offline  
Old 12 August 2018, 13:27   #30
modrobert
old bearded fool
 
modrobert's Avatar
 
Join Date: Jan 2010
Location: Bangkok
Age: 56
Posts: 775
Quote:
Originally Posted by Giants View Post
Hi !
Thks a lot.
Your code working good.
Write a 'track' in a specific position entered. (input in track)

But I don't want writing only One track, I want to write a full data of a file.
So, don't limit it to 'one track'.

If you can, just modify it to work with all data of the file <filename>
and, when I choise a odd track, after writing the One track, just continue writing BUT on the SAME side
ex :

trackfoo write DF1: testfile 0
(testfile is a 20571 bytes of datafile)

Write the first 'track' (so $1600) in a 0 'track' position (T00 S00 H00 in deksid)
But for the second 'track' to write, you need to 'jump a full track', keep in the SAME Side so, write the 'second data track' not in T00 S00 H01 but in T01 S00 H00

Finaly I need to have this :
First $1600 block of my file ==> T00 S00 H00
Second $1600 block of my file ==> T01 S00 H00
Third $1600 block of my file ==> T02 S00 H00
...

you see, always writing on the same SIDE defined at the beginning of command line
Whith : trackfoo write DF1: testfile 0, We start on track 0
so Head 0, we need to stay on this Side


Just for my information, how you compil the C on Amiga ? What 'tools' ?
I think you mean "C01 S00 H00", 'C' for cylinder which are 80 per side/head, tracks are 160 total (sides interleaved) for Amiga floppy.

Anyway, I used SAS/C compiler in this case, but can also recommend vbcc which is still maintained.

When it comes to splitting files into tracks on one side in an unconventional way, where you would also have to consider filling remaining bytes in last track with dummy data (or truncate) is too much of an edge case for me to include in the program.

A suggestion, you can make an Amiga script with the trackfoo command covering the specific tracks you need to write on one side, and use a tool like JoinSplitter from Aminet to split the data file which supports fixed size with dummy filling.

A script like this example (also attached in lha file with correct 's' attribute)...

Code:
echo "Start writing tracks"
trackfoo write df0: file.001 0
trackfoo write df0: file.002 2
trackfoo write df0: file.003 4
trackfoo write df0: file.004 6
trackfoo write df0: file.005 8
echo "Done!"
...which outputs...

Code:
Start writing tracks
Wrote 5632 (0x1600) bytes from file file.001 to track [0/159].
Wrote 5632 (0x1600) bytes from file file.002 to track [2/159].
Wrote 5632 (0x1600) bytes from file file.003 to track [4/159].
Wrote 5632 (0x1600) bytes from file file.004 to track [6/159].
Wrote 5632 (0x1600) bytes from file file.005 to track [8/159].
Done!
Attached Files
File Type: lha write_tracks.lha (124 Bytes, 164 views)

Last edited by modrobert; 12 August 2018 at 13:57. Reason: Typos and formatting.
modrobert is offline  
Old 12 August 2018, 14:12   #31
Giants
Registered User
 
Join Date: Nov 2017
Location: france
Posts: 109
Yes, you right, cylinder, sorry for my mistake.
Yes it always to do what you said, split the file into a $1600 file(S) and fill the end with 'Zero value' but.

But, I have a lot of files to Put in Two amiga disk (it's for a crack tuto).
And, of course, if I split each files, I will have a big amount of files. (really a lot).

No problem with this but, it's not very optimized and not it's longer to do (to do this and to write in the tutorial how to to this).
If The exec do directly this job, it's more simple to use.
Giants is offline  
Old 12 August 2018, 17:39   #32
modrobert
old bearded fool
 
modrobert's Avatar
 
Join Date: Jan 2010
Location: Bangkok
Age: 56
Posts: 775
Fixed the the trackfoo program so it checks hightrack before trying to read or write the track instead of after, updated previous post with v0.14.

BTW: Really starting to like the 'cpr' (CodeProbe) debugger which is part of the SAS/C bundle, makes testing fun and rewarding.
modrobert is offline  
Old 15 August 2018, 16:57   #33
Giants
Registered User
 
Join Date: Nov 2017
Location: france
Posts: 109
Resolved
Giants is offline  
 


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

Similar Threads
Thread Thread Starter Forum Replies Last Post
Dizzy and The Other Side (PC) Neil79 Retrogaming General Discussion 0 23 June 2014 00:11
Upper side on a disk Galder support.Hardware 1 26 April 2014 16:37
Five-A-Side Soccer Specksynder request.Old Rare Games 14 06 December 2010 21:26
Five a side soccer lolafg Games images which need to be WHDified 6 11 January 2010 20:41
Five a Side Soccer do not work from HD olesio support.Games 24 10 January 2010 16:07

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 10:04.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.35846 seconds with 16 queries