Parallel programming with the SuperCharger

GFA, ASM, STOS, ...

Moderators: simonsunnyboy, Mug UK, Zorro 2, Moderator Team

Post Reply
Moulinaie
Captain Atari
Captain Atari
Posts: 389
Joined: Wed Feb 01, 2012 9:34 pm

Parallel programming with the SuperCharger

Post by Moulinaie »

Hi!

Do you remember the Supercharger? It's a PC board that plugs into the ACSI port and provides a PC emulation.
But, you can program it directly and make it work in parallel of your 680x0.
superch.jpg
I modified my FORTH interpreter and added the dialog instuctions to manage the SuperCharger.
I present a little example on my page: a program that send s a real to the PC, this one computes the square root and returns it to the Atari.

(english) https://gtello.pagesperso-orange.fr/supch_e.htm#copro
(français) https://gtello.pagesperso-orange.fr/supch_f.htm#copro

You can imagine a fractal program with the floating point operations performed by the FPU-8087 on the PC side and the graphic operations managed by the 680x0.

Guillaume.
You do not have the required permissions to view the files attached to this post.
User avatar
mrbombermillzy
Captain Atari
Captain Atari
Posts: 412
Joined: Tue Sep 13, 2016 9:24 am

Re: Parallel programming with the SuperCharger

Post by mrbombermillzy »

That sounds like a great idea!

I have a PC Speed with the V30, but Im not sure my board can be used in parallel like this, as its essentially repurposing the 68000 socket.

Its great that you have the x87 FPU on there. While Im thinking about it, is there a viable pin compatible upgrade for the NEC V30?
Moulinaie
Captain Atari
Captain Atari
Posts: 389
Joined: Wed Feb 01, 2012 9:34 pm

Re: Parallel programming with the SuperCharger

Post by Moulinaie »

mrbombermillzy wrote: Sun Jul 18, 2021 5:14 pm That sounds like a great idea!

I have a PC Speed with the V30, but Im not sure my board can be used in parallel like this, as its essentially repurposing the 68000 socket.

Its great that you have the x87 FPU on there. While Im thinking about it, is there a viable pin compatible upgrade for the NEC V30?
I think that the Nec V30 was yet the best 8086 compatible CPU (with extra instructions and faster at the same clock frequency).

Someone sent me the photos of the 80286 upgrade for the SuperCharger. It looks complicated ! It's a second board with a flat connector that plugs into the pins of the Nec V30.
I put the photos here:

https://gtello.pagesperso-orange.fr/splus_e.htm

Guillaume.
penguin
Captain Atari
Captain Atari
Posts: 223
Joined: Tue Dec 24, 2013 10:43 am

Re: Parallel programming with the SuperCharger

Post by penguin »

Moulinaie wrote: Sun Jul 18, 2021 6:55 pm Someone sent me the photos of the 80286 upgrade for the SuperCharger. It looks complicated ! It's a second board with a flat connector that plugs into the pins of the Nec V30.
I've never seen the 286 upgrade - I know that it was advertised but never reviewed.

It was just the first step of upgrades they'd planned. Step 3 would be slots, step 4 an independent computer.
AtariUpToDate - Atari ST/TT/Falcon software database and version tracker: https://www.atariuptodate.de
ST-Computer magazine - https://www.st-computer.org/
User avatar
mrbombermillzy
Captain Atari
Captain Atari
Posts: 412
Joined: Tue Sep 13, 2016 9:24 am

Re: Parallel programming with the SuperCharger

Post by mrbombermillzy »

I was thinking more along the lines of this:

https://github.com/jamieiles/80x86

if it can be put to the same pin package as the 8086/V30, it would give your co-processing some extra horsepower. But alas, I dont think its 8086 compatible.

That supercharger is cool though! Thanks for the picture. ;) Would have picked one of those up if they were a bit less rare.
Moulinaie
Captain Atari
Captain Atari
Posts: 389
Joined: Wed Feb 01, 2012 9:34 pm

Re: Parallel programming with the SuperCharger

Post by Moulinaie »

mrbombermillzy wrote: Sun Jul 18, 2021 8:57 pm I was thinking more along the lines of this:

https://github.com/jamieiles/80x86

if it can be put to the same pin package as the 8086/V30, it would give your co-processing some extra horsepower. But alas, I dont think its 8086 compatible.

That supercharger is cool though! Thanks for the picture. ;) Would have picked one of those up if they were a bit less rare.
Sure, a pin compatible solution would be fine!
Sometimes a Supercharger appears for sale, but you're right, so rare!
Rustynutt
Atari God
Atari God
Posts: 1277
Joined: Wed Mar 21, 2012 7:38 am
Location: Oregon

Re: Parallel programming with the SuperCharger

Post by Rustynutt »

Moulinaie wrote: Mon Jul 19, 2021 5:02 am
mrbombermillzy wrote: Sun Jul 18, 2021 8:57 pm I was thinking more along the lines of this:

https://github.com/jamieiles/80x86

if it can be put to the same pin package as the 8086/V30, it would give your co-processing some extra horsepower. But alas, I dont think its 8086 compatible.

That supercharger is cool though! Thanks for the picture. ;) Would have picked one of those up if they were a bit less rare.
Sure, a pin compatible solution would be fine!
Sometimes a Supercharger appears for sale, but you're right, so rare!
Think other than the 386SX, most this stuff is older. Use to have 4 large boxes of IC's work was going to put in trash.
I rescued a few.
Can you use any?
If so, send your mailing address :)

Way way back, always wanted a Super Charger :)
Sometimes think back to 1990 and a T36 in an STf. Genie, Compuserve :)
You do not have the required permissions to view the files attached to this post.
Rarkhaan
Atarian
Atarian
Posts: 7
Joined: Sat Jul 10, 2021 9:08 am

Re: Parallel programming with the SuperCharger

Post by Rarkhaan »

Hi all,

May be this can be an option for drop in replacement for Nec v30/8086 CPU for SuperCharger:
https://microcorelabs.wordpress.com/201 ... cl86-core/

For Apple II owners an 6502 MicroCoreLabs also provide a drop in replacement option: https://microcorelabs.wordpress.com/202 ... emo-video/
User avatar
mrbombermillzy
Captain Atari
Captain Atari
Posts: 412
Joined: Tue Sep 13, 2016 9:24 am

Re: Parallel programming with the SuperCharger

Post by mrbombermillzy »

Rarkhaan wrote: Mon Jul 19, 2021 1:26 pm Hi all,

May be this can be an option for drop in replacement for Nec v30/8086 CPU for SuperCharger:
https://microcorelabs.wordpress.com/201 ... cl86-core/

For Apple II owners an 6502 MicroCoreLabs also provide a drop in replacement option: https://microcorelabs.wordpress.com/202 ... emo-video/
Nice!

That top link is spot on if they can package it accordingly and maybe have some cache RAM onboard to give it a bit more scope and offset the mega wait states a bit.

As for the 2nd link: Thankyou! I have a C64 cart with a 5Mhz 6502 (a later equivalent) co-pro which could really be effective, as it has its own RAM (which I can swap with faster speed). Its sort of the C64 equivalent of the Supercharger, but 6502 based. :D

In this day and age of hobbyist FPGA use, its only a matter of time before all classic CPUs get boosted!
Rarkhaan
Atarian
Atarian
Posts: 7
Joined: Sat Jul 10, 2021 9:08 am

Re: Parallel programming with the SuperCharger

Post by Rarkhaan »

Regarding « accelerated » RAM, topic is covered in the article related to PC Junior: https://microcorelabs.wordpress.com/202 ... r-mcl86jr/
Moulinaie
Captain Atari
Captain Atari
Posts: 389
Joined: Wed Feb 01, 2012 9:34 pm

Re: Parallel programming with the SuperCharger

Post by Moulinaie »

Hi again,

I finally wrote a program that computes a fractal :
- the Supercharger computes all the floating point operations using its 8087 coprocessor
- the MegaSTE recieves the pixels (one color byte per pixel) and manages the display

DUMP_000.png
This is done line by line.

You can see the video of this:

https://gtello.pagesperso-orange.fr/temp/sc_fractal.mp4

Guillaume.
You do not have the required permissions to view the files attached to this post.
User avatar
mrbombermillzy
Captain Atari
Captain Atari
Posts: 412
Joined: Tue Sep 13, 2016 9:24 am

Re: Parallel programming with the SuperCharger

Post by mrbombermillzy »

I dont know where to start with congratulating you! :lol:

Overclocking the V30?

Using the x87 FPU in parallel?

Or using that horrible Intel segment/offset memory model (well, intel x86 asm in general really) with the FPU via Forth to produce code examples?

Well done, yet again!

:cheers:
Moulinaie
Captain Atari
Captain Atari
Posts: 389
Joined: Wed Feb 01, 2012 9:34 pm

Re: Parallel programming with the SuperCharger

Post by Moulinaie »

mrbombermillzy wrote: Wed Jul 21, 2021 12:33 pm I dont know where to start with congratulating you! :lol:

Overclocking the V30?

Using the x87 FPU in parallel?

Or using that horrible Intel segment/offset memory model (well, intel x86 asm in general really) with the FPU via Forth to produce code examples?

Well done, yet again!

:cheers:
Yes, I love non-standard languages as you can see. Many thanks!

FORTH is easy for me as I am the programmer of the version I am using. That's why I could add the Supercharger routines in the standard vocabulary, I also added the words to store/recall intel ordered values from memory. This makes then my programming easy.

Intel assembly is horrible, yes. But fun ! There are a lot of dedicated registers (source/dest pointers, accumulators, etc...) and you have to juggle with them all the time.

And last, the FPU 8087 works like a HP calculator with the RPN logic ! You must always take care of the status of the stack and never accumulate more than 8 floats on it !

This program was really cool to build, I had a large smile when I saw the fractal : I did it!

Guillaume.
User avatar
mrbombermillzy
Captain Atari
Captain Atari
Posts: 412
Joined: Tue Sep 13, 2016 9:24 am

Re: Parallel programming with the SuperCharger

Post by mrbombermillzy »

Moulinaie wrote: Wed Jul 21, 2021 1:38 pm
Yes, I love non-standard languages as you can see. Many thanks!

FORTH is easy for me as I am the programmer of the version I am using.
So you wrote a FORTH compiler? 8O
Moulinaie wrote: Wed Jul 21, 2021 1:38 pm
That's why I could add the Supercharger routines in the standard vocabulary, I also added the words to store/recall intel ordered values from memory. This makes then my programming easy.
Funnily enough, I was doing a similar thing over the last few weeks; using ASM MACROS to transform array/variable data from Intel>Motorola endian for my game port to 68k. I wouldnt want to try to remember Intel ASM though, so lucky Im going in the other direction! lol

Never tried FORTH though. Had a book on it when I was 13, but it got lost at some point and I never read it.
Moulinaie
Captain Atari
Captain Atari
Posts: 389
Joined: Wed Feb 01, 2012 9:34 pm

Re: Parallel programming with the SuperCharger

Post by Moulinaie »

mrbombermillzy wrote: Wed Jul 21, 2021 2:42 pm
Moulinaie wrote: Wed Jul 21, 2021 1:38 pm
Yes, I love non-standard languages as you can see. Many thanks!

FORTH is easy for me as I am the programmer of the version I am using.
So you wrote a FORTH compiler? 8O
Yes! I started in 1990 I think... I first wrote a version in GFA, but rapidely I thought that assembly could bring speed and efficiency. So I learned the 68000 as I was programming the FORTH.
At start, It was only an interpreter, then I added an internal editor. And finally, I made a compiler to output standelone programs.
It's both for 68000 and 68030, it supports the 68881 and 68882.
Sadly, the manual is only in french... And I can't imagine the time that will be required to translate it all in english.

It became my second favorite programming system as I can modify and update it whenever I need to. The other is assembly!

mrbombermillzy wrote: Wed Jul 21, 2021 2:42 pm
Moulinaie wrote: Wed Jul 21, 2021 1:38 pm
That's why I could add the Supercharger routines in the standard vocabulary, I also added the words to store/recall intel ordered values from memory. This makes then my programming easy.
Funnily enough, I was doing a similar thing over the last few weeks; using ASM MACROS to transform array/variable data from Intel>Motorola endian for my game port to 68k. I wouldnt want to try to remember Intel ASM though, so lucky Im going in the other direction! lol
The guy who first had the idea of the MACRO was a genius. This really is a incredible tool for ASM programmers.
What game are you working on ?

Guillaume.
MegaSTEarian
Captain Atari
Captain Atari
Posts: 416
Joined: Tue Aug 18, 2020 5:23 pm

Re: Parallel programming with the SuperCharger

Post by MegaSTEarian »

I wonder if this idea could be expanded to accelerators that add a more advanced CPU -but not replace the original CPU- in our Ataris.
User avatar
mrbombermillzy
Captain Atari
Captain Atari
Posts: 412
Joined: Tue Sep 13, 2016 9:24 am

Re: Parallel programming with the SuperCharger

Post by mrbombermillzy »

Moulinaie wrote: Thu Jul 22, 2021 8:20 am
The guy who first had the idea of the MACRO was a genius. This really is a incredible tool for ASM programmers.
What game are you working on ?

Guillaume.
Its my own game. A retro platformer type game.

However, it was originally written for PC (around P2/P3 spec), so apart from all the endian transforms, I also have around 460Mb of GFX and array data to try to cram down to something that will fit a reasonably expanded 68k system. Ive just finished some data/asset culling routines, which should mean AS IS, the game SHOULD fit on the actual dev machine (which is a Vampire card A500 w/128mb), however, Im keeping the code 68020+ generic, so that hopefully I can target at least the TT/Falcon and possibly a memory enhanced A1200 (squeezing down to 8Mb system spec if possible).

The worst part was having to design the pointer system for the array conversion to 68k asm, which after much thought and design to get it working, I then read about the Amiga Exec() system which used pretty much the exact same way to access pointers! Could have saved myself some time if I knew this already, instead of re-inventing.

The array declarations/setting is one thing MACROs couldnt quite pull off for me in my specific use case, as the MACRO data was evaluated on the 1st assembly pass and the data needed for the MACROs on the 2nd pass. Also, any constant declaration can only be an immediate value in asm (e.g.: dc.l 1). However, I still made use of a MACRO to compute the offset data sizes for the array data field, so they were still very handy.

In fact, MACROs are actually more powerful, I just needed a quicker route for my data conversion. A friend called Frederic Cordier showed me the full power of the MACRO. He is actually coding the AMOS Pro X software and uses/has extensive knowledge of them.
arf
Captain Atari
Captain Atari
Posts: 234
Joined: Thu May 17, 2012 9:56 pm
Location: Germany

Re: Parallel programming with the SuperCharger

Post by arf »

Moulinaie wrote: Sun Jul 18, 2021 6:01 am You can imagine a fractal program with the floating point operations performed by the FPU-8087 on the PC side and the graphic operations managed by the 680x0.
Or you could compress a file with an modified archiver, even segment on the 68k, odd on the x86
Moulinaie
Captain Atari
Captain Atari
Posts: 389
Joined: Wed Feb 01, 2012 9:34 pm

Re: Parallel programming with the SuperCharger

Post by Moulinaie »

arf wrote: Thu Jul 22, 2021 9:07 pm
Moulinaie wrote: Sun Jul 18, 2021 6:01 am You can imagine a fractal program with the floating point operations performed by the FPU-8087 on the PC side and the graphic operations managed by the 680x0.
Or you could compress a file with an modified archiver, even segment on the 68k, odd on the x86
Yeah, why not!
Hoping to double the speed...

Guillaume.
ThorstenOtto
Atari God
Atari God
Posts: 1521
Joined: Sun Aug 03, 2014 5:54 pm

Re: Parallel programming with the SuperCharger

Post by ThorstenOtto »

And ending up with an archive that can only be extracted by people owning a SuperCharger? Maybe not so a brilliant idea ;)
User avatar
DarkLord
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 4717
Joined: Mon Aug 16, 2004 12:06 pm
Location: Prestonsburg, KY - USA
Contact:

Re: Parallel programming with the SuperCharger

Post by DarkLord »

I was hoping that this would inspire someone to look closer at an ST
with the raspberrry pi in a CosmosEX... Just a random thought... :)
Welcome To DarkForce! http://www.darkforce.org "The Fuji Lives.!"
Atari SW/HW based BBS - Telnet:darkforce-bbs.dyndns.org 520
User avatar
mrbombermillzy
Captain Atari
Captain Atari
Posts: 412
Joined: Tue Sep 13, 2016 9:24 am

Re: Parallel programming with the SuperCharger

Post by mrbombermillzy »

Well, if anyone wants a Supercharger, heres your chance:

https://www.ebay.co.uk/itm/373628899796 ... SwGj1grkOH
User avatar
sporniket
Atari maniac
Atari maniac
Posts: 99
Joined: Fri Feb 16, 2018 5:39 pm

Re: Parallel programming with the SuperCharger

Post by sporniket »

DarkLord wrote: Fri Jul 23, 2021 3:23 pm I was hoping that this would inspire someone to look closer at an ST
with the raspberrry pi in a CosmosEX... Just a random thought... :)
I'm sure some people have idea like this already (because I have already), just lack of time and/or ability.
User avatar
DarkLord
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 4717
Joined: Mon Aug 16, 2004 12:06 pm
Location: Prestonsburg, KY - USA
Contact:

Re: Parallel programming with the SuperCharger

Post by DarkLord »

You're right, I know. I surely don't have the ability.

I can keep dreaming though. :)
Welcome To DarkForce! http://www.darkforce.org "The Fuji Lives.!"
Atari SW/HW based BBS - Telnet:darkforce-bbs.dyndns.org 520
arf
Captain Atari
Captain Atari
Posts: 234
Joined: Thu May 17, 2012 9:56 pm
Location: Germany

Re: Parallel programming with the SuperCharger

Post by arf »

ThorstenOtto wrote: Fri Jul 23, 2021 2:13 pm And ending up with an archive that can only be extracted by people owning a SuperCharger? Maybe not so a brilliant idea ;)
Why would the binary stream of the archive be dependent on the CPU that executed the algorithm (let’s say LZ4?)? If I compress a file into an LZ4 on a 68k, I can decompress it on x86. And vice versa. If the algorithm allows multithreading, why would that require the same processor architecture?

A 68000 and a Supercharger/8088 is a dual-core system with two ISAs and a slow intercore bus (ACSI) :D
Post Reply

Return to “Coding”