Announcing... the AtmoStrat !

This is the right place to discuss on how to implement hardware vsync, adding a VIA or AY chipset, puting multiple roms, or how to design a new flash expansion card.
User avatar
Symoon
Archivist
Posts: 1108
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France
Contact:

Re: Announcing... the AtmoStrat !

Post by Symoon » Sun Oct 02, 2016 9:22 am

Why is it that such news appear when I'm busy with another hobby ;)
This looks like a nice machine for demos, thanks to the video outputs!

Same question than Jede, do you know yet if there will be some building runs?
Also, could one swap the roms for another content - for instance replacing the Pravetz by ROM 1.0?

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

Re: Announcing... the AtmoStrat !

Post by Dbug » Sun Oct 02, 2016 9:34 am

I may have missed it, but has the new motherboard been tested with all the disk controllers around there, does it work fine with Jasmin, Microdisc, Cumulus, Cumana, Pravetz/Apple controllers, etc... both in classic and extended mode?

User avatar
iss
Flight Lieutenant
Posts: 471
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Announcing... the AtmoStrat !

Post by iss » Sun Oct 02, 2016 10:08 am

@Symoon: yes, no problem to have ver.1.0 (or anything else) instead of Pravetz ROM.
@Dbug: I tested Cumana, 2x Microdisc, Pravetz FDC and they worked OK. My Cumulus has some instabilities - sometimes boots, sometimes not - I'm not sure where is the problem, this needs more testing. Unfortunately I don't have Jasmin.

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

Re: Announcing... the AtmoStrat !

Post by Dbug » Sun Oct 02, 2016 11:10 am

I'm starting to get some ideas about what could be done with the double buffering+vsync :)

It will all depend of how accurate the synchronization is (which will be much easier to test when being able to change the screen location), but in theory that should allow for things such as a double vertical resolution for my pseudo-true-color text mode (37x50 "pixels instead of 37x25).

Any idea of what the selling price will be, and if there will be batches of early prototypes to see what can be done with it?

As far as I'm concerned, I don't care about Pravetz or Telestrat compatibility, as long as it boots, and give me access to a 100% compatible Atmos and the 65168 extended machine, I'm happy.

Is it easy to detect by software if the machine is an AtmoStrat, and easily switch modes on the fly, like for example booting in Atmos mode, and if the extra features are detected then use them?

User avatar
iss
Flight Lieutenant
Posts: 471
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Announcing... the AtmoStrat !

Post by iss » Sun Oct 02, 2016 11:32 am

Dbug wrote:... double vertical resolution...
This is totally beyond all my dreams, but sound very cool! :)
Dbug wrote: ... selling price ... production ...
I don't know. I'll ask George to announce details about his "business plans".
Dbug wrote:Is it easy to detect by software if the machine is an AtmoStrat, and easily switch modes on the fly, like for example booting in Atmos mode, and if the extra features are detected then use them?
Yes, it's very easy. AtmoStrat boots always in standard Atmos mode than this simple code gives what CPU is available:

Code: Select all

; ---------------------------------------------------------------------------
_cpu_id                 .byt 00
; ---------------------------------------------------------------------------
_cpu_check
                        sei
                        lda #$00
                        inc             ; .byt $1a
                        cmp #$01
.(
                        bcc is_6502     ; This is at least a 65C02, check for a 65816
                        xba             ; .byt $eb, put $01 in B accu */
                        dec             ; .byt $3a, A=$00 if 65C02 */
                        xba             ; .byt $eb, get $01 back if 65816 */
                        inc             ; .byt $1a, make $01/$02

is_6502                 sta _cpu_id
.)
                        cli
                        rts
It sets '_cpu_id' as follow: 0 = 6502, 1 = 65C02, 2 = 65816
This is what I used in the code shown on the 2nd and 3th video on George's site.

Godzil
Squad Leader
Posts: 755
Joined: Sat May 21, 2011 7:21 pm
Location: Between UK and France
Contact:

Re: Announcing... the AtmoStrat !

Post by Godzil » Sun Oct 02, 2016 4:36 pm

Two video pages? And since it's reading the video memory that refresh the DRAM how this is handled? Because I'm sure that if we switch the pages, the ULA will no longer be able to access the main ram, so.. ?

jorodr
Flying Officer
Posts: 169
Joined: Thu Aug 09, 2007 9:04 pm
Contact:

Re: Announcing... the AtmoStrat !

Post by jorodr » Sun Oct 02, 2016 8:21 pm

Hello

and Waoo, what a big discussion. Sorry I have late, but I'm too busy and my life become too fast last weeks. I hope you like my job. It's finished for now. I am sorry to disappoint someone removing the relay, but I really prefer two video pages system. Months I wandered what to do, but the other way was to use some register, that need address decoding, and the room is too small. Some decision is to remove PAL video part, but I don't like it too. Other is to remove printer port, but then we will loose the joysticks. So, sorry again, it's not very clear design, but must use switch.

About the dimensions of the board - the idea really is to replace the old Oric board.

About disc controllers. Must know that this is completely new Oric computer, F2 is forming out the microprocessor so normally not all of the periphery will work well. Dos 8D controllers and Cumulus don't work well - for now I prefer to tell that they don't work. Microdisc and Cumana work perfect BUT need be re-set the MAP signal carefully. So to avoid issues I prefer If you want the board, to have it with floppy drive and PSU-s (one for the mainboard and one for the floppy drive). The PSU is critical for the quality of the composite video out. You could see the USB floppy drives I have created for AtmoStrat on
http://oric.club/oric-delux-drive
I have 10 ready to assemby of these beautiful black/red drive boxes.

About the refreshing the ram when access the upper memory, don't worry Godzil, this is the most tricky part. I have tested the refreshing several times by 24 hours and everything is working great.
Ivan (iss) and Fabrice have cleared the rest of the dust I hope. But is you have some questions - I am here! :)

Regards to all,
George

User avatar
iss
Flight Lieutenant
Posts: 471
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Announcing... the AtmoStrat !

Post by iss » Sun Oct 02, 2016 8:53 pm

I'll not go in technical details about DRAM refresh now.
George himself used to have same concerns if the refresh works properly for the whole 256k and pushed me to write "special" test to check memory content after long period of time. The test is something like this pseudo code:
1.on screen is video page from bank0
2. HIRES:CURSET120,100,1:CIRCLE99,1
3. move memory $0000...$FFFF to $30000...$3FFFF (i.e. to bank3)
4. HIRES (page in bank0 is blank)
5. switch to video page from bank3 -> on screen appears the circle
6. switch back to video page from bank0 -> the screen is blank
7. leave AtmoStrat for 24h powered-on .....
8. switch again to video page from bank3 -> on screen appears the circle => refresh works!!! :)

jorodr
Flying Officer
Posts: 169
Joined: Thu Aug 09, 2007 9:04 pm
Contact:

Re: Announcing... the AtmoStrat !

Post by jorodr » Sun Oct 02, 2016 9:24 pm

Thanks iss. Actually I have no any doubts about video ram (bank 0 and bank 3) refreshing. I have doubts about the other two banks - 1 and 2. the idea of the ram refreshing is simple and no way to not work, just need reading of datasheets and some testing. And don't forget that the whole think is miracle! :)
I think I could rise up the RAM to 1MB with 411000 chips, but don't think it's actual at all. Will discuss on a cup of beer next time. :)

User avatar
coco.oric
Flight Lieutenant
Posts: 414
Joined: Tue Aug 11, 2009 9:50 am
Location: North of France
Contact:

Re: Announcing... the AtmoStrat !

Post by coco.oric » Mon Oct 03, 2016 5:53 am

hi george,
I have 10 ready to assemby of these beautiful black/red drive boxes.
do you think it will be possible soon to have some atmostrat cards available too ?
coco.oric as DidierV, CEO Member
Image Image

jorodr
Flying Officer
Posts: 169
Joined: Thu Aug 09, 2007 9:04 pm
Contact:

Re: Announcing... the AtmoStrat !

Post by jorodr » Mon Oct 03, 2016 8:57 am

If there is interests I could order boards to the PCB factory. The problem is that the case must have some little corrections because the height of the board (all chips are on sockets) and to cut a bit for a mode changer. So I think maybe it's better to make full upgrade service. What do you think?

User avatar
kenneth
Flying Officer
Posts: 178
Joined: Fri Nov 26, 2010 9:11 pm
Location: France PdD
Contact:

Re: Announcing... the AtmoStrat !

Post by kenneth » Mon Oct 03, 2016 9:12 pm

I was very impressed by the double screen demo of the AtmoStrat at the Vieumikro meeting this last weekend in the south of France. Nice project ! :wink:

User avatar
Euphoric
Game master
Posts: 99
Joined: Mon Jan 09, 2006 11:33 am
Location: France

Re: Announcing... the AtmoStrat !

Post by Euphoric » Tue Oct 04, 2016 3:06 pm

It's good that George and Ivan have joined the discussion, I'm not sure I could cope with all the questions... :lol:

About the ULA "cache" question :
- the ULA does maintain a state : current video mode (TEXT/HIRES), frequency (50Hz/60Hz), current address in memory, normal/alt characters, single/double height, paper, ink...
But as Ivan said, you shouldn't be able to switch screens between the two memory cycles of the ULA in TEXT mode, because your switching action occurs during the third memory cycle (the cpu one)... (however, an oscilloscope would be needed to confirm that the VIA's PB6 output is immediately reflected)

Regarding how accurate the synchronization is :
- on a simple demo (that switches between two images at 60 Hz), the two images are correctly displayed one on top of the other, ie. like a single image but with a noticeable flickering on a CRT monitor due to that each image is displayed only at 30 Hz. This allows to reduce the colour proximity constraints of course, and have more colours due to remanency...
- I don't know if this is due to my CRT monitor, I've noticed that 'sometimes' (every 20 seconds or so), one of the image might be shifted one pixel horizontally... It might be due to my monitor which does not like 60 Hz too much, so I should check at 50 Hz too, and on other monitors...
- I don't think that it would be possible to have the same kind of doubled resolution that existed on the Atari ST, by having the two frames vertically shifted a little bit... on the other hand, if you can synchronize with the *horizontal* retrace, then you can mix two screen texts for a doubled semi-graphics resolution...

Regarding Atmos mode vs Telestrat mode : there isn't really a Telestrat hardware mode... There are two eproms, a manual rear switch and PB5 that work together or not :
- two positions of the rear switch select one of the two 16K parts of a 27C256 eprom. For these two switch positions, PB5 has no effect, so it's a good idea to have Atmos/Oric-1 roms in these two 16K parts and run Atmos software with near 100% compatibility (the only compatibility issues might come from the different processor (unofficial Nmos 6502 opcodes not supported for example) or if some software inadvertently toggles the PB6 output (which you would hear on an Atmos because of the relay)) : the bundled Atmos and Pravetz roms have been patched so that they don't toggle PB6.
- two positions of the rear switch select one of the two 32K parts of a 27C512 eprom. For these two switch positions, PB5 further select a 16K part in this 27C512 eprom, so all the so-called "PB5-roms" are usable. The Telemon software has been patched so that it uses PB5 in order to switch rom banks, and patched so that it doesn't toggle PB6.
- it's not a good idea to move the rear switch while the AtmoStrat is running, even if you make sure that the cpu is currently executing code in ram... Voltage pikes might occur and freeze the computer...

Detecting the AtmoStrat:
- you can detect the type of cpu, but this doesn't mean you run on an AtmoStrat (there are some people having 65816 on Atmos or Telestrat)...
- you can detect the machine has 256 KB ram, but this doesn't make it for sure it's an AtmoStrat either...
- you can visually detect the machine has two switchable video pages, but this isn't fully automatic...
So, that's not so easy... (if it was so distinguishable from an Atmos, it wouldn't be so compatible)

@Godzil: RAM refreshing
- whatever the currently selected video page, the ULA increments memory addresses in a regular pattern : the fact that the lower 8-bit part of the address iterates over all 256 combinations is enough to refresh the whole 256 KB (because the DRAM bits are organized in a rectangular 256 x 1024 grid)

jorodr
Flying Officer
Posts: 169
Joined: Thu Aug 09, 2007 9:04 pm
Contact:

Re: Announcing... the AtmoStrat !

Post by jorodr » Tue Oct 04, 2016 6:15 pm

Fabrice is completely right about the computer detecting. For now the only way is by using keyboard subroutines detecting.The problem is that AtmoStrat is not "standardized" yet. I think it's good to have a discussion what must have in the final variant. I prefer to replace TeleAss with TeleForth.

User avatar
iss
Flight Lieutenant
Posts: 471
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Announcing... the AtmoStrat !

Post by iss » Tue Oct 04, 2016 8:19 pm

Just to be more optimistic about the detection routine: CRC on ROM content is always an option.
Or even better there are exactly 10 needless bytes in ROM at #E435 to hold the string 'ATMOSTRAT!' :twisted:

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest