Jump to content
IGNORED

Hashi prototype for Atari 8 bit


Yosh

Recommended Posts

As shown on Silly Venture 2018.

 

Hashi is an experimental high throughput cartridge for stock Atari 8 bit. It uses EPM3064 & ATxmega192D3 + SD card.

 

Dos like features:

- Loading xex is at least about 200KB/s (more with Antic off).

- some CIO & SIO support (SIO via ECI but i'm going to drop this - pure cartridge only is a new target)

 

Streaming API features:

- Video: 352x239 (gr8) 50 FPS, timed directly into Antic.

- Audio: 31khz mono 8 bit PDM audio timed to 6502 which writes to POKEY (Thanks kool kitty89))

- HAI format supports RIFF like metadata with Atari video settings and index.

- gapless stream sequencing

- all directed from Atari

(yes this is interactive and playable - not everyone on SV noticed, which makes me very happy:P)

 

And of course, some classic:

https://youtu.be/kXNTymTJfSk?t=124

 

 

This sums to over 0.5MB throughput. I remember when I saw SIO2SD first time... it was soo slow, so I have made mine :)

Edited by Yosh
  • Like 18
Link to comment
Share on other sites

I was liking the idea to support sio, cio and eci sio combo for flexibility does dropping it all help some bigger greater aspect... the more you can do the better the device.

 

smoking hot demos of dragons lair and all!

 

of course we all want and need to know more about this !!!

Edited by _The Doctor__
  • Like 1
Link to comment
Share on other sites

I was liking the idea to support sio, cio and eci sio combo for flexibility does dropping it all help some bigger greater aspect... the more you can do the better the device.

of course we all want and need to know more about this !!!

 

Original idea was "maximum compatibility & maximum performance via cartridge slot". It's more and more apparent that dropping ECI will actually increase compatibility... with number of Ataris. Yes the SIO will be little PITA, like:

- move os rom to ram and patch it there (should work for older disc games)

- during loading of xex, detect JSR SIOV and patch it on the fly to JSR HASHISIOV

- patch some games by hand (the really bad ones wouldn't work with hashi anyway (which are doing serial communication by themselves)

But I'm more a software developer than a electronic engineer, I'll welcome easier, smaller board with open hands.

 

I'm open for questions/suggestions. This shouldn't be very pricey. I just knew that I can do transmission faster than ramdisk - and I HAD to do it. That's why xex/dos parts are more sophisticated than the video player which I programmed 6 months before SV (being inspired via PDM). I only pity that it took soo long (http://www.atari.org.pl/forum/viewtopic.php?id=5522 - but I learn a lot electronic along the way)

 

Ha, I had that game on Laserdisc, must have been around 1991.

 

If you look up wiki https://pl.wikipedia.org/wiki/Dragon%E2%80%99s_Lair

It's '83... This is SICK. We had VHS in '90 here, '83 for me is more about "our family first color TV " :)

 

I just had to honor this on Atari, and honor Antic itself - marvelous gem.

  • Like 7
Link to comment
Share on other sites

So will all the laser games like Firefox be in the same playable fashion or was Dragons Lair a test?

 

Looks great...

 

I wanted to be at SV with that. Dragons Lair was converted "by hand" (i manually queued scene sequence). However, this was done from my DVD (it can be played on DVD alone) - which means I could write automatic converter for all DVD based games.

 

Firefox it's more complicated though... Yes, in theory I could overlay ugly PMG based missiles on Firefox footage, but this is a lot of work.

  • Like 1
Link to comment
Share on other sites

 

If you look up wiki https://pl.wikipedia.org/wiki/Dragon%E2%80%99s_Lair

It's '83... This is SICK. We had VHS in '90 here, '83 for me is more about "our family first color TV " :)

 

I just had to honor this on Atari, and honor Antic itself - marvelous gem.

 

Yeah, 1991 it was played via the Amiga ( + a Laserdisc Player) I had, like this guy describes: [german]

 

http://www.oliver-kilb.de/wp/2014/01/12/flashback-1991-laserdisc-games-auf-dem-amiga/

Edited by OmaOhneBH
Link to comment
Share on other sites

Yosh, some programs are okay with replacement os tucked in ram under rom os... the more successful carts allow more than one loader so if it doesn't work with one it will work with another so it has it's own XEX/ATR loader and then a third Party loader like SIDEloader... or it can be moved in memory and load address to work for many things... If you take a look at the different cartridges and sio2pc loaders you will get the idea, not to mentions many people here live to help with such stuff.

Link to comment
Share on other sites

Hi Yosh, great work on DL, by hand eh...Phew..

 

I'd love to see the Atari do the LD games BUT its a lot of work even with the LD converter handling the frames, the logic and pm's need adding...Sounds like mega work..

 

The cart is great...Hope it does well..

 

Paul...

  • Like 1
Link to comment
Share on other sites

Hi Yosh, great work on DL, by hand eh...Phew..

I'd love to see the Atari do the LD games BUT its a lot of work even with the LD converter handling the frames, the logic and pm's need adding...Sounds like mega work..

It depends on approach. If Firefox is emulated somewhere, I can patch emulator to stream all sprites positions into file, load them into yet-to-be-written generic overlay engine for my player - and voila!

... and this is Atari game

... and this is somewhat more interactive than DL (more fun and different)

... and I was flying gliders myself in real life

... and If i would only want to load games - sio2sd in 2008 was available, but I have drunk some beer back then in Wrocław and it hit me "This can be done VERY fast, on similar components" .... so lets say that "mega work" is relative :)

but don't hold me to anything I have a lot more tricks up my sleeve for that expansion, so this goes down the list

 

Unless it was already encoded (and did not notice), I would LOVE to see this at NTSC's 60 fos rate, which is original production's frame rate (as well as what Antic was designed for)...

50 FPS, so it's PAL machine. It uses Atari clock though, so It _should_ work on NTSC (of course player would be rewritten and video would be re-encoded)

 

How is the video conversion / playback differing from Avery's technique?

This is somewhat the same in the aspect of direct-to-Antic stream, but details are very different.

- 44 bytes per line (wide screen, I can't find how wide screen with SIDE 2), on my TV i see 87 pixels (almost all) - and if you have 80, the 8 more are noticeable (mostly - it fills MY whole screen:P)

- in those lines, I hide another 4 byte of audio data, to achieve 8bit 31k PDM

- and because there is some time left i use Rybags broken last line Antic trick to do vsync myself (well Rybagself - man, this blow me away - i HAD to use it) and all counters and lives are shown below video frame (It's 239 video lines + 14 lines of status bar)

- plays files from FAT32 SD card. Of course this co-processor of mine is still 8bit - I expect non-fragmented files - this sounds somewhat bad, but in practice it work that way:

* fast format card (reinit FAT only)

* add some files - play with atari

* add some more files - play with atari.

ups, it's full (up to 2GB), reformat and again (most systems write files non fragmented if they able to do so)

 

I can see the player takes the input file on the command line and so moving from a sector accessed via the IDE registers is impressive. :thumbsup:

Ha! would you believe that this part is 99% of work putted into this? Hashi (Japanese for bridge, inspired by IBM's "southbridge" word) is ... a bridge with co-processor:)

I always wanted to make my own asymmetric multiprocessing computer - there are synchronization primitives between 6502 & xmega, those cpus waits for each other, can compute in parallel... just enough stuff for a nerd like me :D

So briefly it works like that:

[6502 & xmega]

- player is loaded into atari (i spare details how)

- as FAT32 is seen via CIO (yay! Atari engineers) player opens file via CIO OPEN (yes, you can open 0.5GB file from Atari Basic)

- reads some metadata (header contains information about movie - in yt example Dire Straits are APACi, Bad apple is Graphics 8 for hires resolution - i can build fancier display lists too (more than one per movie))

- closes file (but hashi know which file was opened last, remember)

[6502]

- notifies hashi via register ("ok stream at me")

- switches Antic in desired display list, begins playing black frames (this is seen on yt)

[xmega & Antic]

- xmega detects that antic wants data, sync with frame begin, data begins to flow into antic

[6502]

- detect data, oh it's first frame select first display list, data is shown..

 

... and this is pure magic even for me:....

[6502 & xmega & Antic]

Those three processors are now fully synced, they share common clock - no need for other syncing.

They are working cycle after cycle, carefully programmed, xmega manifest data just in time for antic to show it, other data - just in time in order to be read via 6502 and pushed to POKEY (every scan line)

 

Metadata for HAI format can be added without breaking existing files, It easy to image "audio format entry" - there isn't any now, so default will always be 8bit pdm 31k, but some files could switch this into 15k stereo, maybe 4bit audio ? maybe 5bit audio ?

all relative easy, but TIME

 

speaking of time, big thanks for Your time - I really appreciate that someone watched my demos / read / write something here.

  • Like 14
Link to comment
Share on other sites

speaking of time, big thanks for Your time - I really appreciate that someone watched my demos / read / write something here.

 

Most on here appreciate the new developments and continual pushing back the boundaries of what these fantastic machines can do!

 

Certainly no harm in talking nerd-ish! I'm quite happy to take offline any talk of what else your cart could be capable of, soft-sprite engine, 3D engine / calc support (I think though I made the mistake of posting to the end of thread people had given up on and so saw little reaction there)

  • Like 3
Link to comment
Share on other sites

(...)

 

50 FPS, so it's PAL machine. It uses Atari clock though, so It _should_ work on NTSC (of course player would be rewritten and video would be re-encoded)

 

(...)

... and this is pure magic even for me:....

[6502 & xmega & Antic]

 

Those three processors are now fully synced, they share common clock - no need for other syncing.

They are working cycle after cycle, carefully programmed, xmega manifest data just in time for antic to show it, other data - just in time in order to be read via 6502 and pushed to POKEY (every scan line)

 

(...)

 

speaking of time, big thanks for Your time - I really appreciate that someone watched my demos / read / write something here.

BEAUTIFUL work there, without a doubt... We had already seen video with Avery's player at 15Khz rate and NTSC (60) fps... But the fact you still have a few CPU cycles for something else is a real step forward!

 

But what really, really impresses me is that THIRTY EIGHT (38) years of time had to pass in order to find the right storage tools to extract full throughput of... a 1979 architecture...

 

Which, in retrospect, we could also say what a F-AMAZING work J. Miner, J. Decuir, D. Neubauer and that whole crew did back there...

 

Mind-blowing!!!

Edited by Faicuai
  • Like 1
Link to comment
Share on other sites

 

Most on here appreciate the new developments and continual pushing back the boundaries of what these fantastic machines can do!

 

Certainly no harm in talking nerd-ish! I'm quite happy to take offline any talk of what else your cart could be capable of, soft-sprite engine, 3D engine / calc support (I think though I made the mistake of posting to the end of thread people had given up on and so saw little reaction there)

Does there exist a thread explaining the details of how your cart is used as a co-processor? If not, would you please start one.

  • Like 3
Link to comment
Share on other sites

  • 7 months later...

Wow, just Wow. I don't know how I missed this thread last year! The first time I played Dragon's Lair outside of the arcade LD game was in '95 on the Atari Jaguar CD. This looks *almost* as good! To have this type of streaming tech on the A8 would be fantastic! I sure hope this project hasn't been abandoned!

Edited by Gunstar
Link to comment
Share on other sites

  • 9 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...