Jasmin time

If you want to ask questions about how the machine works, peculiar details, the differences between models, here it is !
How to program the oric hardware (VIA, FDC, ...) is also welcome.
User avatar
Chema
Game master
Posts: 2546
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Jasmin time

Post by Chema » Wed Dec 19, 2018 6:49 pm

Hi everyone!

A friend of mine got his hands on a Jasmin disk interface and has been playing with it.

First the bad news. Blake's 7 is not working. It does on the emulator (both Euphoric and Oricutron, that is), but does not pass beyond the 'BOOTING TDOS' (was that it?) message. I have to ask for some testing to see if I can figure out where it gets stuck, but I'd bet the booting sector routines work, but not the ones in the game (from floppy builder) don't. I thought they were equivalent, but the tricks to make them compatible with Jasmin and Microdisk may be failing at some point. I need to have a look.

Second thing is a question... does anybody know a way to transfer SEDORIC or ORICDOS disks or disk images to use with a Jasmin? There are utilities for creating game compilation disks, but all of them use the SEDORIC disk format, which is not readable by TDOS. Is there an easy way to create a JASMIN disk or disk image? I declare my completely lack of any knowledge about this system.

User avatar
Dbug
Site Admin
Posts: 3135
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Jasmin time

Post by Dbug » Wed Dec 19, 2018 8:53 pm

I'm not a Jasmin expert at all, never actually used one, sorry!

User avatar
iss
Squad Leader
Posts: 983
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Jasmin time

Post by iss » Wed Dec 19, 2018 9:36 pm

@Chema: I didn't looked at your last modifications in FloppyBuilder, but from your explanation I suspect where can be the problem. Can you try the attached image with the real Jasmin? It should work with Microdisk too and contains some read tests and a write test after them.
Else unfortunately, I don't have Jasmin hardware and I'm not familiar with it at all. But I know for sure that jorodr has one and I can borrow it for test.
Attachments
testfbs.dsk.zip
(31.02 KiB) Downloaded 60 times

romualdl
Officer Cadet
Posts: 52
Joined: Tue Jan 17, 2006 9:42 pm
Location: France

Re: Jasmin time

Post by romualdl » Wed Dec 19, 2018 9:39 pm

Hi there,

Have 1 ou 2 Jasmin 2 here, had used them to dump some Oric Jasmin disk to the PC -how I don't remember) but never used them the other way if I remember well (it was looonnnng ago).

User avatar
Chema
Game master
Posts: 2546
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: Jasmin time

Post by Chema » Wed Dec 19, 2018 11:12 pm

iss wrote:
Wed Dec 19, 2018 9:36 pm
@Chema: I didn't looked at your last modifications in FloppyBuilder, but from your explanation I suspect where can be the problem. Can you try the attached image with the real Jasmin? It should work with Microdisk too and contains some read tests and a write test after them.
Else unfortunately, I don't have Jasmin hardware and I'm not familiar with it at all. But I know for sure that jorodr has one and I can borrow it for test.
I will ask my friend to test it whenever he has time, but I would really appreciate any clue about where the problem is. The code I use not only works on real Microdisc and emulated Jasmin, but also avoids the Telestrat bug, which is the trickiest part. It may add some cycles, so there might be some timing issues which affect only the Jasmin... don't know.

User avatar
iss
Squad Leader
Posts: 983
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Jasmin time

Post by iss » Mon May 06, 2019 2:50 pm

Okay, thanks to jorodr now I have in my hands working Jasmin.
The good news are it's very stable and works perfect with ft-dos.
The bad news are clear: B7 (v1.1,v.1.2,v1.3) and my modifications don't work :(.
This is actually not so bad because there are at-least two of us motivated to solve the issue :)
Definitely the first sector is loaded and executed and that's it so far. I'll start to create kind of debugging code to guess where things fail.
Any ideas and sample code how to detect the failure are welcome - the sooner the better!

User avatar
Chema
Game master
Posts: 2546
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: Jasmin time

Post by Chema » Mon May 06, 2019 3:56 pm

Great, as I said in the other thread :P

The code of B7 is in the repository, and it was double checked by Fabrice. It also works on the emulators (both Oricutron and Euphoric).

And it would be nice, once this is done, to investigate the disk structure...

User avatar
iss
Squad Leader
Posts: 983
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Jasmin time

Post by iss » Thu Dec 26, 2019 10:04 pm

Well, let's wake-up little this thread...
The last 10 days I'm focused mainly to find solution which works stable with real Jasmin. Unfortunately no joy so far which starts to drive me crazy...
After solving lots of small details during boot process, now the problem is that the same code drops bytes with Jasmin but works perfectly with Microdisc :( and of course all emulators work like charm. I've collected lot of information but if someone has any idea - it will be appreciated. My wish is to finish it this year!

PS: as side effect I can recognize Oricutron, Euphoric and different real hardware, so it's theoretically possible to create "protected" software which can run on specific platform only... (stupid idea but fun :))

User avatar
Dbug
Site Admin
Posts: 3135
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Jasmin time

Post by Dbug » Thu Dec 26, 2019 10:08 pm

PS: as side effect I can recognize Oricutron, Euphoric and different real hardware, so it's theoretically possible to create "protected" software which can run on specific platform only... (stupid idea but fun :))
It's actually interesting to have, if only for "sys info" type of programs :)

User avatar
iss
Squad Leader
Posts: 983
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Jasmin time

Post by iss » Thu Dec 26, 2019 10:55 pm

Dbug wrote:
Thu Dec 26, 2019 10:08 pm
It's actually interesting to have, if only for "sys info" type of programs :)
Here you are Oricutron, Euphoric, CLK-signal and Jasmin detected!
sys-info.png
sys-info.png (653.3 KiB) Viewed 921 times
Attache is the DSK image :)
Attachments
sys-info.dsk.zip
(18.13 KiB) Downloaded 16 times

User avatar
Dbug
Site Admin
Posts: 3135
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Jasmin time

Post by Dbug » Fri Dec 27, 2019 9:06 am

We should ask the people making the Atmos core for the MiST to try it :)

User avatar
Chema
Game master
Posts: 2546
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: Jasmin time

Post by Chema » Fri Dec 27, 2019 4:17 pm

As soon as Microdisc is included, be sure :)

Yeah, I am somewhat involved, but more trying to help than anything else... my knowledge about FPGAs is null XD

ThomH
Flying Officer
Posts: 198
Joined: Thu Oct 13, 2016 9:55 pm

Re: Jasmin time

Post by ThomH » Tue Jan 07, 2020 4:10 pm

It'd be interesting to know what the problem was if anybody can fill in that detail? I couldn't think of a reason that the Jasmin's independent clock should cause a race condition on the data request bit given that it's reset only when you actually read data, not just by reading the status, and ditto couldn't think of a reason why having DRQ forwarded as an interrupt source should cause a problem (assuming interrupts are disabled). So I couldn't guess.

User avatar
iss
Squad Leader
Posts: 983
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Jasmin time

Post by iss » Thu Jan 09, 2020 6:08 pm

ThomH wrote:
Tue Jan 07, 2020 4:10 pm
... Jasmin's independent clock should cause a race condition on the data request bit ...
Yes, there is such race condition and even more - what you read from status/data registers depends on alignment of some addresses :shock: . I'm preparing to publish lot of info which I've collected recently...
Maybe I should start a series of videos called "Annoyinglopedia: Jasmin internals"!

Long post follows...

ThomH
Flying Officer
Posts: 198
Joined: Thu Oct 13, 2016 9:55 pm

Re: Jasmin time

Post by ThomH » Thu Jan 09, 2020 7:24 pm

iss wrote:
Thu Jan 09, 2020 6:08 pm
ThomH wrote:
Tue Jan 07, 2020 4:10 pm
... Jasmin's independent clock should cause a race condition on the data request bit ...
Yes, there is such race condition and even more - what you read from status/data registers depends on alignment of some addresses :shock: . I'm preparing to publish lot of info which I've collected recently...
Maybe I should start a series of videos called "Annoyinglopedia: Jasmin internals"!

Long post follows...
Cool, I look forward to it. My completely wrong conclusion was based on the fact that you get DRQ programmatically by inspecting the status register, but clear it by accessing the data register. So the most common race condition I'm aware of — accessing a register with an atomic get and clear, exactly when it's also supposed to be set — doesn't seem to apply. I am definitely going to learn something.

Post Reply