Cubase Audio Dongle Clone

Somewhere to chat about MIDI music creation, sequencers and related hardware

Moderators: Mug UK, lotek_style, Moderator Team

simbo

Re: Cubase Audio Dongle Clone

Postby simbo » Wed Jan 26, 2011 6:41 pm

ok quick analysis shows me its a square digital metranome spread

a space invader 16by 16 floating bit

for all intents and purposes a (metranome[address] ((0F \ F0) clock)) = data or min \ max
a digital attempt at analogue with time frameing


so is a 100ns clock with add and regress
to detect infliction as a narative digital clock

but later clocks had influence on midi also

so v3

is a narative at boot and event given state engine

i need help and also some time with ida pro

so im offline for a week


cya :mrgreen:

simbo

Re: Cubase Audio Dongle Clone

Postby simbo » Sat Jan 29, 2011 6:58 pm

ok
so here is the score
its easier for me to interface the atari to proteus vsm
via the i/o card this way i can pick and choose what to do easier
get graphs etc up too 100ns realtime on int etc capture and plot
its a very nice engine
to that end i designed a dll for proteus
its beta very just now and ive just started building the circuits guts
then and only ones its done ill interigate the cart
past knowing its a metronome and with the pictures in mind
lets see
ill post updates too this dll once its finished
i must point out i see no other dlls etc avalible for proteus too do this task
so much like my comvdd {and i did think to embed this into it !!}
its a world first
rt sim engine with external digital i/o etc..

devlope out and inside

User avatar
nativ
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 4087
Joined: Mon Jul 30, 2007 10:26 am
Location: South West, UK

Re: Cubase Audio Dongle Clone

Postby nativ » Sat Jan 29, 2011 7:15 pm

Dal wrote:Iif it is just a ROM, can't we just read it off and burn it to an equivalent (E(E))PROM??
..


That is what I thought, an EPROM with all available Dongles installed as a virtual multi cart! ;)
Atari STFM 512 / STe 4MB / Mega ST+DSP / Falcon 4MB 16Mhz 68882 - DVD/CDRW/ZIP/DAT - FDI / Jaguar / Lynx 1&2 / 7800 / 2600 / XE 130+SD Card // Sega Dreamcast / Mega2+CD2 // Apple G4

http://soundcloud.com/nativ ~ http://soundcloud.com/nativ-1 ~ http://soundcloud.com/knot_music
http://soundcloud.com/push-sounds ~ http://soundcloud.com/push-records

simbo

Re: Cubase Audio Dongle Clone

Postby simbo » Sun Jan 30, 2011 7:47 pm

na wont work its an intellegent pld and can 'train' code in and out
you would need an intellegent micro with lcd and menu choice to choose the dongle your using
this is quite easy for me to make up
very easy
ill get back to the code late tonight and work through the night as i have a bit of time


the training of code usualy makes a shape

128 ........................--0
128
.
.
.
.
.
|
|
0


this is why i say its a space invader

each rom 3 access can 'carry' a bit into an equassion from the data
and also 'post' a bit to data on rom3 access

the right or wrong can also be used as timing
and this makes sense as the only copy of cubase for atari that works with near perfect timing
uses a dongle for sure

done it been there tried it

ill finish the dll later tonight
already it talks to the cards led's and i/os
just to add the grouping code and allowance for clock out etc CT used on pins {6 in total }
to switch them out

i can read just now at 1us
i feel if i used a stfm i can get sync easy ... within proteus in realtime

Dal
Administrator
Administrator
Posts: 4079
Joined: Tue Jan 18, 2011 12:31 am
Location: Cheltenham, UK
Contact:

Re: Cubase Audio Dongle Clone

Postby Dal » Sun Jan 30, 2011 9:55 pm

Do you need an STFM? I can send one up to you (you can keep it for parts also as I don't need it).
TT030: 4MB/16MB + Crazy Dots, Mega"SST" 12, MegaSTE, STE: Desktopper case, IDE interface, UltraSatan (8GB + 512Mb) + HXC floppy emulator. Plus some STE's/STFM's

simbo

Re: Cubase Audio Dongle Clone

Postby simbo » Mon Jan 31, 2011 5:47 pm

thanks darren i have 5 st machines 3 ste 7 TT and 2 falcons now 3 in my homes
under variour states

st 520 works belongs to frank_b and is getting 4mb simm and tos 1/1.04 on switch

so plenty of hardware
just writers block

i get so stoned i see the tunnel and then it takes a few days wait till i get it together too finish a dll

as i do every day for many people

:| one after another

simbo

Re: Cubase Audio Dongle Clone

Postby simbo » Mon Jan 31, 2011 5:56 pm

this dongle is just for fun

serious work takes a file on hdd
however this hardware device has to be exact to topic

cloned
in cpld and takes a bit samples only but MUST be hardware to preserve the clock for midi etc...
it can be done with just 1 mcu and a serial port

however i need to write the dll for proteus isis for my card

so i can use the card as a challange to form
as far as i know its never been done much like my comvdd.dll for the same app in windows
it interfaces 16 bit slider data to any form I V R C via serial rs232 midi control change or usb(form)


form a map and deliver what i like to the card .. etc
and map its outputs etc to choices in the isis part

its time we had some sort of digital interface to atari in RT via the likes of proteus vsm

a very good tool i have developed in for 10 years and found them four staff members like me
i just like making c++ work in windows
i hate c its too broken however writing in it is fun but not as much as c++
you need a time index
like the message format in windows or linux

////////////////////////////////////////
// windows Delays vector //
////////////////////////////////////////
#define DELAY_1s 1000000000000 // MSG = 1 second in ps ticks.... :. 1/msg = total ticks watch for null state in digital inclussions ie 0 => ticks or 1 => ticks per total msg needed
#define DELAY_100ms 100000000000 //
#define DELAY_10ms 10000000000 //
#define DELAY_1ms 1000000000 // mMSG 1st mmsg time layer 1 tick here is 1 milisecond message width
#define DELAY_100us 100000000 //
#define DELAY_10us 10000000 //
#define DELAY_1us 1000000 // uMSG 1st umsg time layer 1 tick here is 1 microsecond message width
#define DELAY_100ns 100000 //
#define DELAY_10ns 10000 //
#define DELAY_1ns 1000 // nMSG 1st nmsg time layer 1 tick here is 1 nanosecond message width
#define DELAY_100ps 100 //
#define DELAY_10ps 10 //
#define DELAY_1ps 1 // pMSG = 1 tick.... {abs or true time here depends on mpu dedication cycle and proteus builds etc....}
///////////////////////

you can use the same time vector format
in c and mcu just using one 'nop' as the strand time {in pic its 4\clock = 1 ins}

simbo

Re: Cubase Audio Dongle Clone

Postby simbo » Fri Feb 04, 2011 9:25 pm

so brings to to this c++ struct for the dll

i have made a class

public {to isis} = vsm functions isis.exe proteus vsm inherant to just the models pardym and destruct restruct nature

protected = io card functions

private = all variable defines and basialnotations


included
vsm.vdd
then ...
the io card header


and the cards libs is defined in vc++ precompile and linker... menus

so this is my progress

remember i built comvdd the very first dll in the eda world to allow for sliders in any form of varient within eda
using just voltage based 16 bit sliders X 16 parts or any nature built on one base model or base models as its become

there is nothing better than proteus for our !!! tasks in RT using addin means cards interfaces etc etc
using micros and buffers is a good way i pointed out
you can reprogram them using serial rs232 easy even boot block etc from the same machine
we must built into it and use it proteus

and i advocate to pay them ... i did and still do in ' my and them ' diverse ways

great guys and a great app built by us all...

...even though all you need is the info in this dll
to develop dlls to an extent in the demo version

and a simple small version
You do not have the required permissions to view the files attached to this post.

User avatar
Mal7921
Captain Atari
Captain Atari
Posts: 386
Joined: Sun Jun 12, 2005 10:48 pm
Location: Huddersfield UK
Contact:

Re: Cubase Audio Dongle Clone

Postby Mal7921 » Sat Feb 19, 2011 12:00 pm

Any news on this? I've just uploaded the disk images for Cubase 3.1 to Atari Music Network if that helps at all
The collection:

Atari 260ST, 520ST, 520ST+, 520STfm
Atari STe
Atari Falcon, 14MB, 40GB IDE drive

Dal
Administrator
Administrator
Posts: 4079
Joined: Tue Jan 18, 2011 12:31 am
Location: Cheltenham, UK
Contact:

Re: Cubase Audio Dongle Clone

Postby Dal » Sat Feb 19, 2011 12:26 pm

Simbo PM'd me last night about a few things, he mentioned that he won't be particularly active on here for a couple of weeks or so as he needs to get his head down and complete some of these projects he has taken on (and needs a bit of a break!)

He specifically mentioned that he is working on the c++ code for this particular project so hopefully when he re-emerges, he'll have some good news for us all.
TT030: 4MB/16MB + Crazy Dots, Mega"SST" 12, MegaSTE, STE: Desktopper case, IDE interface, UltraSatan (8GB + 512Mb) + HXC floppy emulator. Plus some STE's/STFM's

User avatar
Mal7921
Captain Atari
Captain Atari
Posts: 386
Joined: Sun Jun 12, 2005 10:48 pm
Location: Huddersfield UK
Contact:

Cubase Audio Dongle Clone

Postby Mal7921 » Sat Feb 19, 2011 3:09 pm

Fair enough, good to know simbo is ok and keeping himself busy :-)

Thanks for the update


Sent from my iPhone using Tapatalk
The collection:

Atari 260ST, 520ST, 520ST+, 520STfm
Atari STe
Atari Falcon, 14MB, 40GB IDE drive

Guest

Re: Cubase Audio Dongle Clone

Postby Guest » Wed Jan 02, 2013 11:03 pm

ok i am bringing up this topic
because i have completed the digital i/o card i have its 40 i/os in groups of 8
with int pins
eventually !!! i found the 50 pin three row Dtype plug i needed
and i have completed the miltidio.dll to interface to the card using proteus VSM isis app and a dll i built
anyway now i am ready to map it
i can map in realtime at up to 1mhz per i/o
over a group of 8 this is plenty of capture speed
so wish me luck in the next few days ill map it
i still recon it s a 3 by 3 flag array like in a group like 101,101,001 etc serialized
000
000
000
can be
111
111
111
and any mapped in the middle flag
like
101
110
111
etc
routine dependent {save is one load is another and so on
so please help if your like some of the old hackers... .1!!! you have invaluable routine info
if you can doc some routines you patched this will help me heeps
i just need a bit of encouragement for sure
its taken me a year and a half or more to get around to all the bits in one place
i dont want to look too hard at the actual dongle for fear of damage to it
as its the red one and does not belong to me ...
so all tests are fully double buffered i and o is detected on int

ill post the schematic im using in the next few days
just a few more resistors as i use 220 spread over 8 i/os spread over the 40
so each port has 2 ins and two outs
to allow multi capture via isis own digital storage scope model capture as its multi i/o also and connects direct to the part made up
in isis to interface to the pci bus

the framework dll is here for people interested

but the dll with my own cards code is not available as i may sell the block i also added another card for a user
so its got too big to put up on my site
http://vsmlibs.host56.com/

Dal
Administrator
Administrator
Posts: 4079
Joined: Tue Jan 18, 2011 12:31 am
Location: Cheltenham, UK
Contact:

Re: Cubase Audio Dongle Clone

Postby Dal » Thu May 23, 2013 10:43 am

Any news on this??
TT030: 4MB/16MB + Crazy Dots, Mega"SST" 12, MegaSTE, STE: Desktopper case, IDE interface, UltraSatan (8GB + 512Mb) + HXC floppy emulator. Plus some STE's/STFM's

User avatar
MasterOfGizmo
Atari God
Atari God
Posts: 1026
Joined: Fri Feb 08, 2013 12:15 pm
Contact:

Re: Cubase Audio Dongle Clone

Postby MasterOfGizmo » Mon Jun 03, 2013 9:33 am

I am interested as well as i'd like to add this into my FPGA ST.

I have no access to a dongle. But from what i am seeing on these pictures it seems to be some kind of linear feedback shift register (lfsr) or similar with an input. As you already pointed out, data is being sent to the dongle via A8 and read back via D8 (which is the lowest bit on the lower byte on a big endian like the 68000). So it should be expected that cubase tries to read from $fb0000 and $fb0100 which would input an 0 or 1 into the dongle and return the result in the lowest bit of the word returned.

To investigate this a little more i hacked the hatari emulator to report accesses to these two addresses and indeed cubase 3.10 transfers a total of 3072 bits via these two addresses before complaining about the missing key. There are some more accesses in between that don't make much sense (e.g. byte reads to $fb8000). Perhaps these are used to detect another dongle type or to control some dongle switch box ...

In total i see 3*4 times the same transfer, each time 256 bits are sent into the dongle:

Code: Select all

0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
1100011111011000111010000010010001011001011101011000010111001101
1101001000101101011001101101001011001011110000000011001001101000


Assuming this is a lfsr the first 128 bits are probably required to bring the lfsr into a known state (the state of the interal flip flops of the dongle are then unknown at startup). And the second 128 bits are the data transfer itself. This is bad news as a 128 bit lfsr cannot be hacked by brute force (there are 2^128 possible setups to test). But since the data sent into the dongle is always the same (it's always the pattern depicted above) it might be possible to just replay the reply for this single input sequence. But since cubase closes after this i cannot tell if there are more and different transfers happening during run-time.

There are still several approaches to this. One is to look at the dongle itself which imho doesn't make too much sense as it's nearly impossible to guess the setup of a 128 bit lfsr.

Imho a more promising approach is to find the routine inside cubase that sends these bits and to try to understand from the code what answer it expects and especially what computation is used inside the program to verify that the reply is valid. Once this is known it should be possible to generate exactly the reply it's expecting.

From these observations i disagree with most of you regarding the "timing generation" capabilities of this dongle. Unless it's some super clever chip with internal clock generator, its state machine only advances on events in the external clock. And this in turn only happens when rom3 toggles which in turn happens when the cpu reads $fbxxxx. So whenever the cpu reads from the cart it gets a certain bit back. But this is complely independent from any proper timing. The could read as fast or as slow as it wishes and would always read the same pattern back.

I may of course be wrong ...
MIST board, FPGA based Atari STE and more: https://github.com/mist-devel/mist-board/wiki

User avatar
MasterOfGizmo
Atari God
Atari God
Posts: 1026
Joined: Fri Feb 08, 2013 12:15 pm
Contact:

Re: Cubase Audio Dongle Clone

Postby MasterOfGizmo » Mon Jun 03, 2013 2:23 pm

MasterOfGizmo wrote:There are some more accesses in between that don't make much sense (e.g. byte reads to $fb8000). Perhaps these are used to detect another dongle type or to control some dongle switch box ...


Ah, i think it's addressing a midex with those commands. And that's e.g. why i am seeing it trying four times as it's probing the four midex slots for the dongle.
MIST board, FPGA based Atari STE and more: https://github.com/mist-devel/mist-board/wiki

Dal
Administrator
Administrator
Posts: 4079
Joined: Tue Jan 18, 2011 12:31 am
Location: Cheltenham, UK
Contact:

Re: Cubase Audio Dongle Clone

Postby Dal » Mon Jun 03, 2013 2:57 pm

MasterOfGizmo wrote:From these observations i disagree with most of you regarding the "timing generation" capabilities of this dongle.

We're at cross purposes here - there is clearly no clock generator or timing logic per-sé in the dongle. I was illustrating the point that hacked versions appear to be less stable and I suggested it that it could be because the 'hacked' routines do not run at the same speed as the original dongle checking routines. This 'timing conflict' is why it would be better to somehow clone the dongle's behaviour rather than hack at the software.
TT030: 4MB/16MB + Crazy Dots, Mega"SST" 12, MegaSTE, STE: Desktopper case, IDE interface, UltraSatan (8GB + 512Mb) + HXC floppy emulator. Plus some STE's/STFM's

User avatar
MasterOfGizmo
Atari God
Atari God
Posts: 1026
Joined: Fri Feb 08, 2013 12:15 pm
Contact:

Re: Cubase Audio Dongle Clone

Postby MasterOfGizmo » Mon Jun 03, 2013 3:07 pm

Dal wrote:I was illustrating the point that hacked versions appear to be less stable and I suggested it that it could be because the 'hacked' routines do not run at the same speed


Ah, ok, that may actually be true. Is cubase affected in the same way by CPU accelerator cards? If this is the kind of timing issues you describe, then i'd expect this also to be the case.

Anyway, i have digged a little into cubase and this is the algorithm that generates the 128 bit request string shown in my previous post:

Code: Select all

#include <stdio.h>

int main() {
  short d3, d4 = 147;

  for(d3=0;d3<128;d3++) {
    d4 = 119 * d4 + (d4>>2);
    putchar((d4&1)?'1':'0');
  }

  puts("");
  return 0;
}


The original routine then sums up all the 128 bits returned from the dongle and it expects 63 of them to be 1's. Next i'll try to modify hatari to do exactly that.

Anyway, i am not sure i have enough interest in this (i don't even own any of this software nor and midi hardware). Anyone able and willing to join the efforts?
MIST board, FPGA based Atari STE and more: https://github.com/mist-devel/mist-board/wiki

User avatar
nativ
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 4087
Joined: Mon Jul 30, 2007 10:26 am
Location: South West, UK

Re: Cubase Audio Dongle Clone

Postby nativ » Mon Jun 03, 2013 3:10 pm

is there a suggestion to create a Romgle?

or make a snapshot of the dongle then patch c: to be read from RAM ? or make a bank switched EPROM that can have the ROM cart images in?
Atari STFM 512 / STe 4MB / Mega ST+DSP / Falcon 4MB 16Mhz 68882 - DVD/CDRW/ZIP/DAT - FDI / Jaguar / Lynx 1&2 / 7800 / 2600 / XE 130+SD Card // Sega Dreamcast / Mega2+CD2 // Apple G4

http://soundcloud.com/nativ ~ http://soundcloud.com/nativ-1 ~ http://soundcloud.com/knot_music
http://soundcloud.com/push-sounds ~ http://soundcloud.com/push-records

User avatar
MasterOfGizmo
Atari God
Atari God
Posts: 1026
Joined: Fri Feb 08, 2013 12:15 pm
Contact:

Re: Cubase Audio Dongle Clone

Postby MasterOfGizmo » Mon Jun 03, 2013 3:19 pm

nativ wrote:is there a suggestion to create a Romgle?

or make a snapshot of the dongle then patch c: to be read from RAM ? or make a bank switched EPROM that can have the ROM cart images in?


I don't understand you request. If you are trying to say that you hope to get something that can be burnt into rom and will then be recognized by cubase as a valid dongle, then: Nope, it's not that easy. Simply spoken: This dongle everytime returns different information on the same memory location. A ROM chips always returns the same information for the same memory location.

And the objective now is to understand the algorithms inside the dongle that generate the pattern returned by it. Linear feedback shift registers are a typical part of crypto devices and you don't just look at one to know how it works. And you don't just cature it's output. To simply store all states of a 128 bit lfsr you'd need 2^128 * 128 bits of memory ... that's several orders of magnitude more bytes of memory than there are atoms in the universe ...
MIST board, FPGA based Atari STE and more: https://github.com/mist-devel/mist-board/wiki

User avatar
MasterOfGizmo
Atari God
Atari God
Posts: 1026
Joined: Fri Feb 08, 2013 12:15 pm
Contact:

Re: Cubase Audio Dongle Clone

Postby MasterOfGizmo » Mon Jun 03, 2013 6:58 pm

I modified hatari to return those 63 1-bits. And guess what? Cubase 3.10 just runs. The odd thing is that i see other places inside the binary that are supposed to access the dongle. But i have yet to trigger one of these. I cluelessliy clicked around the menus for some minutes ( have never actually used cubase), but i never saw hatari/cubase accessing the cartridge port again.

What exactly triggers further dongle accesses in cubase 3.10? In my opinion you could even unplug the dongle after cubase started and it should continue to work ....
MIST board, FPGA based Atari STE and more: https://github.com/mist-devel/mist-board/wiki

Dal
Administrator
Administrator
Posts: 4079
Joined: Tue Jan 18, 2011 12:31 am
Location: Cheltenham, UK
Contact:

Re: Cubase Audio Dongle Clone

Postby Dal » Mon Jun 03, 2013 8:47 pm

It's pretty random. Certainly recording tracks, playing back and load/save operations are most likely to trigger a check. I have seen hours of work disappear due to a slightly dislodged cubase dongle. :(
TT030: 4MB/16MB + Crazy Dots, Mega"SST" 12, MegaSTE, STE: Desktopper case, IDE interface, UltraSatan (8GB + 512Mb) + HXC floppy emulator. Plus some STE's/STFM's

User avatar
bullis1
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2301
Joined: Tue Dec 12, 2006 2:32 pm
Location: Canada
Contact:

Re: Cubase Audio Dongle Clone

Postby bullis1 » Mon Jun 03, 2013 11:06 pm

Cubase 3 is a modular program and it was my understanding that the dongle was checked when loading certain modules. This is anecdotal of course but I've heard it numerous times over the years.
Member of the Atari Legend team

User avatar
nativ
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 4087
Joined: Mon Jul 30, 2007 10:26 am
Location: South West, UK

Re: Cubase Audio Dongle Clone

Postby nativ » Tue Jun 04, 2013 8:02 am

bullis1 wrote:Cubase 3 is a modular program and it was my understanding that the dongle was checked when loading certain modules. This is anecdotal of course but I've heard it numerous times over the years.


Yep the infamous 'Studio Module' needs a key?

the ST will crash regardless of program if any dongles are removed while powered up.

I have had reloading issues from a cracked version to a real version.

I had relatively few crashes using 2 and 3 and don't think I saw the apparently unstable CA 2.06 crash either.

Over ramping of controller data can cause lock ups and crashes. Too much data on a low memory ST? though I do remember recording 'electronic images' to the end of data space, and having to play controller 'live'

cheers
Atari STFM 512 / STe 4MB / Mega ST+DSP / Falcon 4MB 16Mhz 68882 - DVD/CDRW/ZIP/DAT - FDI / Jaguar / Lynx 1&2 / 7800 / 2600 / XE 130+SD Card // Sega Dreamcast / Mega2+CD2 // Apple G4

http://soundcloud.com/nativ ~ http://soundcloud.com/nativ-1 ~ http://soundcloud.com/knot_music
http://soundcloud.com/push-sounds ~ http://soundcloud.com/push-records

User avatar
MasterOfGizmo
Atari God
Atari God
Posts: 1026
Joined: Fri Feb 08, 2013 12:15 pm
Contact:

Re: Cubase Audio Dongle Clone

Postby MasterOfGizmo » Tue Jun 04, 2013 12:29 pm

This is all too vague. I'll give up ...

Edit: I've sent my findings so far to DAL, so someone interested in this may continue.
MIST board, FPGA based Atari STE and more: https://github.com/mist-devel/mist-board/wiki

User avatar
bullis1
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2301
Joined: Tue Dec 12, 2006 2:32 pm
Location: Canada
Contact:

Re: Cubase Audio Dongle Clone

Postby bullis1 » Tue Jun 04, 2013 9:24 pm

MasterOfGizmo wrote:This is all too vague. I'll give up ...

Edit: I've sent my findings so far to DAL, so someone interested in this may continue.

Thanks for your research. I think the reason solid information is so sparse is that people who do have a dongle aren't likely to look into cracks/copying.
Member of the Atari Legend team


Return to “MIDI Software and Hardware”

Who is online

Users browsing this forum: No registered users and 1 guest

cron