Oric SD Drive in production

In this forum you can write about anything that does not fit in other forums.
This includes generic Oric talkings and things that are totaly unrelated but want to share with people here :)
User avatar
Dbug
Site Admin
Posts: 4437
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Oric SD Drive in production

Post by Dbug »

Ok, as far as I saw, the Apple format is relatively simple, 35 tracks of 16 sectors, and the boot sectors in the first sector of the first track.
The Apple system uses a RWST (Read/Write Sector/Track) set of routines which are on the disk controller board which contains all the code to access the drive.

How is this part done on the Oric version, is there some boot rom with functions accessible somewhere?
Godzil
Squad Leader
Posts: 774
Joined: Sat May 21, 2011 7:21 pm
Location: Between UK and France
Contact:

Re: Oric SD Drive in production

Post by Godzil »

Dbug wrote:Ok, as far as I saw, the Apple format is relatively simple, 35 tracks of 16 sectors, and the boot sectors in the first sector of the first track.
The Apple system uses a RWST (Read/Write Sector/Track) set of routines which are on the disk controller board which contains all the code to access the drive.

How is this part done on the Oric version, is there some boot rom with functions accessible somewhere?
As the original Pravetz used a clone of the original Disk ][ interface I would think that the cart ROM is available, but from the schematics I saw earlier it's hard to tell the correct address.


Seems from this post: https://groups.google.com/forum/#!topic ... cjJnv6WwS4 that it may be mapped at least partly, to page 3

This seems to be the pravetz schematics:
http://oric.free.fr/HARDWARE/apple_interface.jpeg

But what is inside the 2715 ROM I have no idea
(Oh and this schematic can ONLY be used with the Disk ][ interface and maybe some really simple Apple ][ board as it miss a lot of important signals, they are just the bare minimum for the Disk ][ interface.

Bon apres lecture de la schematique,

La carte Disc ][ est accede par les addresses $0310 a $031F, la ROM sur l'adaptateur elle est mappe entre $320 et $3FF

Reste a savoir ce qui est dans cette ROM


In english it would be better.
So after reading the schematic, the Disc ][ board IO/ROM is acceded by the $0310 to $031F address space, and the adapter ROM is mapped from $0320 to $03FF

Now we need to know what is inside this ROM.
User avatar
iss
Wing Commander
Posts: 1637
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Oric SD Drive in production

Post by iss »

Previously I gave some details about DOS-8D.
In regard of ROM boot code: There are 2 versions - simple and advanced. I'll describe shortly the advanced. In the FDC EPROM are stored:
- DRIVER to control the 16K RAM overlay;
- BOOT code.
They are used as pages. To switch use this magic pokes:

Code: Select all

POKE#380,X : RAM16K - disabled, BASIC ROM - enabled, DRIVER - activated (default state after RESET);
POKE#381,X : RAM16K - enabled, BASIC ROM - disabled, DRIVER - activated;
POKE#382,X : RAM16K - disabled, BASIC ROM - enabled, BOOT - activated;
POKE#383,X : RAM16K - enabled, BASIC ROM - disabled, BOOT - activated;
The simple version can't control RAM16K and has only BOOT code - works only with DOS-8D ver.1.xx.
DOS-8D ver.2.xx (obviously) requires the advanced version, which is emulated in Oricutron too.

The picture in Godzil's post shows the first ever version of the hardware. It's from BOBY - the author of the DOS.
It has AmpliBus too and requires additionally real Apple FDC and 5.25 Apple floppy.
(Can you imagine 3 relative big PCB's and lot of wires :)).

And here is the best ever made advanced version (1991 or so...):
The author is another BOBY (with very little help from me :oops:)
8D-cont.jpg
This controller connects directly to Oric and to 5.25 floppy.
(The picture is taken from jorodr's site. Actually this controller is like endless inspiration for jorodr to continue the making of new controllers for DOS-8D including the current Oric SD Drive!)

The BOOT code is 224 bytes and can ONLY to read the first sector from the first track at #B800 and jump there. Than this code using the BOOT code again reads the whole DOS from T00,T01 and partially T02.
Here is Track/Sector map of one empty disk (T11 is used to store file names,sizes and positions on disk).
8D-map.jpg
So, I think it's possible to have custom boot sector suitable for FloppyBuilder.
The only limit is disk size: 35 tracks * 16 sectors * 256 bytes = 143360 bytes total.

Else, as Dbug mentioned DOS-8D uses RWTS exactly as Apple DOS 3.3 do.
I already disassembled DOS 2.10 and extracted the RWTS. The source can be reused in any project
(i.e. it's movable and not bound to any fixed address). The surprise is that the RWTS is bit-for-bit equal with the RWTS from Apple DOS 3.3 ;).

Sorry for the long post.
User avatar
Dbug
Site Admin
Posts: 4437
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Oric SD Drive in production

Post by Dbug »

iss wrote:Else, as Dbug mentioned DOS-8D uses RWTS exactly as Apple DOS 3.3 do.
I already disassembled DOS 2.10 and extracted the RWTS. The source can be reused in any project
(i.e. it's movable and not bound to any fixed address). The surprise is that the RWTS is bit-for-bit equal with the RWTS from Apple DOS 3.3 ;).
Where exactly is the RWTS, is that on the controller EPROM and acessible when both ROM and overlay RAM are disabled? How large is the code? Is there a known API on which function exist, and how to call them?

I'm definitely interested by the source code :)
User avatar
Hialmar
Flight Lieutenant
Posts: 349
Joined: Tue Mar 04, 2014 11:25 am
Location: Toulouse, France
Contact:

Re: Oric SD Drive in production

Post by Hialmar »

jorodr wrote:Hialmar you coul use CiderPress:

http://a2ciderpress.com/

This is very useful tool to work with Apple ][ images. But to write tap images you must delete synchro row I thing.
It's been a long time ago, have I sent you the patched Oric games for Dos 8D?
I have some that you sent me yes.

I will look at a2ciderpress thanks.

Sorry for interrupting this very interesting discussion about the controller.
Hialmar
CEO and Silicium member.
Godzil
Squad Leader
Posts: 774
Joined: Sat May 21, 2011 7:21 pm
Location: Between UK and France
Contact:

Re: Oric SD Drive in production

Post by Godzil »

Interesting that recent version have that soft switch mechanism found on the Apple ][.
The schematic on the oric.free.fr website doesn't support any softswitch nor allow to disable the internal ROM. Neither the /MAP or the /ROM_DIS signal are used on the Oric side.
jorodr
Flying Officer
Posts: 169
Joined: Thu Aug 09, 2007 9:04 pm
Contact:

Re: Oric SD Drive in production

Post by jorodr »

There is most complicated controller schematics I have attached. It rules Overlay RAM. The addresses to switch ROM/RAM are just writing to #380 / #381.
Attachments
Savena_Shema_small.jpg
User avatar
iss
Wing Commander
Posts: 1637
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Oric SD Drive in production

Post by iss »

Wow! I like this big interest on DOS-8D :).

@Dbug: The BOOT code in the FDC ROM and RWTS are absolutely independent.
The BOOT code is unique and really masterpiece(!), because the whole reading is done in software and all instructions are carefully chosen to achieve very precise timings. This code can be used to read one sector.
The RWTS (ReadWriteTrackSector) is part of DOS - as it's the same as in Apple DOS - it's well documented and easy reusable. With RWTS we can read and write one or more sectors and low-level format tracks. On next picture you can compare how identical are DOS-8D (left, dissasembled) and DOS 3.3 (right original apple sources):
rwts.jpg
And here is small demo program.
rwtstest.tap
(8.32 KiB) Downloaded 473 times
231.dsk
(140 KiB) Downloaded 466 times
Usage:
- Start Oricutron in Pravetz mode without diskimage;
- disable serial emulation (select 'none');
- cload 'rwtstest.tap';
- when prompted insert '231.dsk' in drive 0 (231 is DOS-8D ver.2.31) and press any key;
- enjoy disk dumper.
As you can see the rwtstest.tap is ~8.5k it includes disassembled RWTS and small C program,
but RWTS code is not cleaned and contains lot of unused code.
User avatar
Dbug
Site Admin
Posts: 4437
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Oric SD Drive in production

Post by Dbug »

For FloppyBuilder based software I guess all we need is read sector, and eventually a write sector for save games.
What scares me a bit is the "exact timing"; can we still have IRQs between sector reads so demos could continue play music while loading?
User avatar
iss
Wing Commander
Posts: 1637
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Oric SD Drive in production

Post by iss »

Having IRQ enabled during read operations will be real problem. In my opinion it's impossible.
Users with 8D FDC hardware have to live with no music during disk I/O, but they can enjoy the
heavy metal noise from the FDD. Like this one :).
User avatar
Dbug
Site Admin
Posts: 4437
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Oric SD Drive in production

Post by Dbug »

iss wrote:Having IRQ enabled during read operations will be real problem. In my opinion it's impossible.
Users with 8D FDC hardware have to live with no music during disk I/O, but they can enjoy the
heavy metal noise from the FDD. Like this one :).
Ok, in regard to the read speed, how does the whole system do compared to a Microdisc?
The way it works, would it be possible to read one sector, let the irq play, read another sector, etc... ?
jorodr
Flying Officer
Posts: 169
Joined: Thu Aug 09, 2007 9:04 pm
Contact:

Re: Oric SD Drive in production

Post by jorodr »

The speeds are equal or maybe Dos 8D is a bit faster. The disc access is very fast.
User avatar
iss
Wing Commander
Posts: 1637
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Oric SD Drive in production

Post by iss »

When using real floppies, compared to Microdisc it's the same, but not so reliable.
In my opinion, highest speed can be achieved by reading whole track at once,
because of the special physical order of the sectors in one track.
But reading one sector, enabling irq and playback, than read next sector is absolutely OK.
Recently I found a real jewel: NackedOS.
It pretend to be in times faster compared to DOS 3.3 and it should be very easy to be ported to Oric.
jorodr
Flying Officer
Posts: 169
Joined: Thu Aug 09, 2007 9:04 pm
Contact:

Re: Oric SD Drive in production

Post by jorodr »

iss wrote:When using real floppies, compared to Microdisc it's the same, but not so reliable.
Just to mention. Dos 8D is absolutely best reliable as OS. Some of Dos 8D compatible floppy drives are not so reliable, because of temperature dependencies of resistors and capacitors forming Q3 and MAP signals. My controllers form these signals inside of the CPLD using the same oscillator like Cumulus, so they are much more reliable than Cumana and Microdisc interfaces. Actually I haven't seen Oric or Pravetz 8D that don't work with them.
iss wrote:Recently I found a real jewel: NackedOS.
It pretend to be in times faster compared to DOS 3.3 and it should be very easy to be ported to Oric.
It's wonderful to have another Dos 8D compatible OS :) Will prompt to you when we see each other! :)
User avatar
Hialmar
Flight Lieutenant
Posts: 349
Joined: Tue Mar 04, 2014 11:25 am
Location: Toulouse, France
Contact:

Re: Oric SD Drive in production

Post by Hialmar »

I do have problems when using my Atmos with the proto but I suppose it might be a problem that could be solved with an amplibus.

I'll tell you when I will use it with the amplibus silicebit will make for me.
Hialmar
CEO and Silicium member.
Post Reply