The Steven Seagal build!

A place to discuss current and future developments for STeem

Moderators: Mug UK, Steem Authors, Moderator Team

User avatar
Steven Seagal
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2018
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

The Steven Seagal build!

Postby Steven Seagal » Thu Sep 01, 2011 6:36 pm

Steem Engine version 3.3 beta, by Anthony & Russell Hayward
The "Steven Seagal" build.
Note that it's based on the FEB2011 source, with certainly added features
since V.3.2.
Added features on this base:
- Option to mute the damn keyboard click.
- STF/STE option (tentative, but makes Hyperforce work).
- Use Hatari video timers (on by default): it's tentative at best for the moment.
- Toggle hard disks on/off shortcut.
- Yellow drive led replaced with a green led for reading, red for writing (problem: you
don't always see it because there's some reading action too; in fact it doesn't
work that well!).
- Hard disk action signalled by the familiar yellow led.
- MSA Converter context menu in disk manager checks if Msa.exe is in Steem's
folder and if yes, uses it instead of prompting the player (WIN32).
- Deactivated auto-update.
- Use F11 to trace in the Boiler debugger.

(Edit: see below for files, new version)
Last edited by Steven Seagal on Sun Sep 04, 2011 11:11 am, edited 1 time in total.
In the CIA we learned that ST ruled
Steem SSE: http://sourceforge.net/projects/steemsse

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

Re: The Steven Seagal build!

Postby Dal » Thu Sep 01, 2011 8:08 pm

Nice work. So how is this going to work moving forward? Are you starting your own fork from 3.2 or will you be updating the svn repository with your new code?
Mega"SST" 12, MegaSTE, STE: Desktopper case, IDE interface, UltraSatan (8GB + 512Mb) + HXC floppy emulator. Plus some STE's/STFM's

User avatar
Steven Seagal
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2018
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: The Steven Seagal build!

Postby Steven Seagal » Thu Sep 01, 2011 8:27 pm

I think it will depend on whether the (tentative!) Hatari integration is deemed OK or not. Ethically & technically! The other 'mods' are quite simple.
In the CIA we learned that ST ruled
Steem SSE: http://sourceforge.net/projects/steemsse

User avatar
Zorro 2
Administrator
Administrator
Posts: 2205
Joined: Tue May 21, 2002 12:44 pm
Location: Saint Cloud (France)
Contact:

Re: The Steven Seagal build!

Postby Zorro 2 » Thu Sep 01, 2011 9:00 pm

I'll test it, thanks !
Member of NoExtra Team

User avatar
Steven Seagal
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2018
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: The Steven Seagal build!

Postby Steven Seagal » Sun Sep 04, 2011 11:24 am

Yo, already a new version.
Changes:
- 'Hatari Video Timings' replaced with 'Original Video Timings'
(so as not to give Hatari a bad name - it was like a bad joke for some programs).
- Fix: that option was always set on at start.
- Punish Your Machine intro was broken.
- Compiled with BCC5.5 (should change nothing).

Edit: for files, see below or visit

http://ataristeven.host898.net/Steem.htm
Last edited by Steven Seagal on Wed Sep 28, 2011 6:03 pm, edited 1 time in total.
In the CIA we learned that ST ruled
Steem SSE: http://sourceforge.net/projects/steemsse

User avatar
Zorro 2
Administrator
Administrator
Posts: 2205
Joined: Tue May 21, 2002 12:44 pm
Location: Saint Cloud (France)
Contact:

Re: The Steven Seagal build!

Postby Zorro 2 » Sun Sep 04, 2011 1:10 pm

Better version !
The old version bugged sometimes if I only used Devpack :(
Member of NoExtra Team

ijor
Hardware Guru
Hardware Guru
Posts: 3783
Joined: Sat May 29, 2004 7:52 pm
Contact:

Re: The Steven Seagal build!

Postby ijor » Sun Sep 04, 2011 9:49 pm

Steven Seagal wrote:I think it will depend on whether the (tentative!) Hatari integration is deemed OK or not. Ethically & technically! The other 'mods' are quite simple.


My very personal opinon is that stealing small code snipetts from Hatari is not a good idea. I think it is ok to borrow concepts, or know how. But borrowing some small piece of code that you don't understand why it works better (if it does at all), is not.

There are some later video timing techniques that Nicolas integrated into Hatari, that would be useful to use in Steem. But, IMHO, the correct way would be to get the concept and the model, not the code.

Again, this is a very personal opinion.

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

Re: The Steven Seagal build!

Postby Dal » Mon Sep 05, 2011 10:10 am

If you take the same concept, know-how and model, there is a more than reasonable chance that the same or at least very similar code structure will be the result?

Maybe a bit philosophical.
Mega"SST" 12, MegaSTE, STE: Desktopper case, IDE interface, UltraSatan (8GB + 512Mb) + HXC floppy emulator. Plus some STE's/STFM's

User avatar
npomarede
Atari God
Atari God
Posts: 1290
Joined: Sat Dec 01, 2007 7:38 pm
Location: France

Re: The Steven Seagal build!

Postby npomarede » Mon Sep 05, 2011 12:28 pm

I agree with Ijor, I had a look at Steem's code and it's true some timings are shared between Hatari and Steem (which is normal as they both emulate the same STF/STE effects), but directly integrating code from one emulator into the other is not really possible.

Both emulators have their own representation of the shifter, so the only interesting fact is to know that for example low res starts displaying at cycle 56 and ends at cycle 376 (at least, Steem and Hatari are counting video cycles the same way, cycle 0 is considered as the start of each HBL, with 512 or 508 cycles per line in low res).

So, if you want to borrow timings from Hatari, just look at the comment before each case, they contain the exact description of what freq/res change should be made and when, don't bother looking at Hatari's code, it's too specific to the way Hatari renders video lines.

(as for Hatari borrowing code from Steem regarding video, I don't think that's needed, Hatari has much higher video emulation accuracy :) )

Nicolas

distantminds
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 108
Joined: Thu Sep 29, 2005 5:03 pm

Re: The Steven Seagal build!

Postby distantminds » Mon Sep 05, 2011 7:52 pm

I understand where the other guys are coming from, particularly those with a personal interest in the development of Hatari for example, BUT playing devil's advocate for a minute.. I kind of like what you're doing Mr Seagal.. its kind of hacky and reminds me more so of a kind of sceney mentality of old, people hacking stuff together they don't necessarily understand (no offence Steven!). it reminds me of the hack-builds of neochrome and various trackers back in the day..

But i can see how it could rub people up the wrong way. If you're doing it for fun then personally i say go for it. I'm just happy to see someone picking up the Steem batton, not because I have a problem with Hatari (it's fantastic), but because I love Steem Debug and even with all it's accuracy flaws, the Debugger kicks bottom.

again, just my personal opinion :)

User avatar
npomarede
Atari God
Atari God
Posts: 1290
Joined: Sat Dec 01, 2007 7:38 pm
Location: France

Re: The Steven Seagal build!

Postby npomarede » Tue Sep 06, 2011 12:17 pm

No need to play devil's advocate, I personnaly don't have any problem if someone wants to improve Steem by using Hatari's timings.
My post was just an advice to not lose too much time on Hatari's code to try to push it into Steem as it will not merge easily, but more to understand the various comments and try to add new code in Steem based on the descriptions in those comments in video.c for example.

Nicolas

User avatar
Steven Seagal
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2018
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: The Steven Seagal build!

Postby Steven Seagal » Tue Sep 06, 2011 8:53 pm

First I think this discussion was more appropriate in the other thread "Stealing Hatari code" but it's a detail.
Maybe I should clarify: I don't try to insert the full Hatari video rendering into Steem, it's far too involved, and I don't quite understand how it works (in Hatari and in Steem), and the Steem rendering has advantages too.
The idea for now is to only use the Hatari code that identifies shifter tricks and holds them in a structure, then the Steem rendering uses those hints if necessary. It may be a "Left Border Off" Steem doesn't detect in STE mode (Union Demo intro), or the bizarre "Left Border Off Next Line" (Enchanted Land), or various "Empty Lines", etc.
Concretely, I stole and adapted, from video.c:
- void Video_WriteToShifter ( Uint8 Res )
- void Video_Sync_WriteByte ( void )
- void Video_EndHBL(void)
- various accessory functions
Which all update the OverscanMode and BorderMask variables.
This isn't too hard (easier than replicating all tests the Steem way, and less buggy), and it begins to work.
No offence taken, what I do is just hacking, the emulators are written by the real experts! Truth be told, I know nothing about the ST, not even some M68K assembly.
In the CIA we learned that ST ruled
Steem SSE: http://sourceforge.net/projects/steemsse

User avatar
Nyh
Atari God
Atari God
Posts: 1496
Joined: Tue Oct 12, 2004 2:25 pm
Location: Netherlands

Re: The Steven Seagal build!

Postby Nyh » Wed Sep 07, 2011 9:19 am

One thing I miss in STeem is that STeem cannot switch from highres to low and back. I normally do all programming in highres and simply switch to low by writing to the ST-Shift-Mode-Register ($FF8260). STeem does not support this technique. Is this simple to fix?

Hans Wessels

ijor
Hardware Guru
Hardware Guru
Posts: 3783
Joined: Sat May 29, 2004 7:52 pm
Contact:

Re: The Steven Seagal build!

Postby ijor » Wed Sep 07, 2011 3:12 pm

Dal wrote:If you take the same concept, know-how and model, there is a more than reasonable chance that the same or at least very similar code structure will be the result?


Not really. It might happen in some simple and small cases, but not here. This is a rather complex and big emulation, there are many ways to implement the same logic.

Consider this. If a given concept and model would always lead to the same (or very similar) implementation, then most accurate emulators for the same hardware would have very similar code. And this is certainly not true.

Furthermore, you would have a copyright "problem". Either every clone could be considered infringing (because it would have very similar code). Or either the copyright concept wouldn't make sense at all (because similar code wouldn't be infringing, just a natural consequence).

Steven Seagal wrote:First I think this discussion was more appropriate in the other thread "Stealing Hatari code" but it's a detail.
Maybe I should clarify: I don't try to insert the full Hatari video rendering into Steem, it's far too involved, and I don't quite understand how it works (in Hatari and in Steem)... No offence taken, what I do is just hacking, the emulators are written by the real experts! Truth be told, I know nothing about the ST, not even some M68K assembly.


Steven, nobody here is being critic or condemning your work. You asked, and we answered :) My answer (and I guess Nicolas' one as well) is about what we think it would be better for Steem, in the long term.

As long as this is "just hacking" then it is ok. Every hacking here is just fine. But hacking is one thing, and continue with Steem development is another. It is not an issue about the morality of "stealing code". I just think that "stealing code" is not the best way to enhance Steem.

Btw, it is not really about SHIFTER. Shifter has very little to do with video timing. It is mostly about GLUE. SHIFTER timing is involved in such things as "Spectrum 512" effects, 4-bit scrolling, and (so called) stabilization. The rest is mostly GLUE in the first place, and a bit of MMU.

User avatar
Retrogamer_ST
Atari God
Atari God
Posts: 1067
Joined: Fri Sep 02, 2011 4:50 pm
Location: Sweden
Contact:

Re: The Steven Seagal build!

Postby Retrogamer_ST » Thu Sep 08, 2011 7:00 am

STEVEN SEAGAL - Thanks for improving (i my opinion) the best Atari ST emulator. Would it be possible to fix so Steem uses Windows 7 DirectX overlays? It makes the whole screen much softer by using some antialising effects to get a more tv like and glossy display. I worked fine in XP but not in Windows 7. It works when i use the SainT emulator, unfortanly SainT isn't even close to the performance of STeem.

Another real good feature would be a movie capture button. ;)

russ
Atari maniac
Atari maniac
Posts: 81
Joined: Sat Jan 22, 2005 3:52 am
Location: Lk Wales Florida

Re: The Steven Seagal build!

Postby russ » Sat Sep 10, 2011 8:33 pm

Always in need of improvment-source code released-improve on it -ENJOY-GREAT JOB Steven-can't wait to try it-Did uncle bill steal a little?????
russ

User avatar
Steem Authors
Steem Developer
Steem Developer
Posts: 540
Joined: Tue Apr 30, 2002 10:34 pm
Location: UK
Contact:

Re: The Steven Seagal build!

Postby Steem Authors » Thu Sep 15, 2011 9:08 pm

Great to see someone having fun with Steem's code :) Even if it is morally questionable.

Both are GPL projects and the source code is available for both. Strictly speaking, you need to make the source code available for your downloadable build.

I don't see any reason to be precious about Steem's code or Hatari's code from the point of view of mixing them up, as long as the combined source is available. Taking an OSS perspective, the sensible thing is for them to be combined into the best possible emulator. However it's hard to shake the "ownership" mentality even in OSS world!

We Steem developers were not really experts... we took a reverse engineering approach to figure out the bizarre behaviour of shifter/GLUE based on documented border-opening techniques and existing games / demos. The result as you can see is a collection of hacks. I'm sure Hatari took a better approach which is more successful in many ways.

Ant (Steem)

User avatar
Steven Seagal
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2018
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: The Steven Seagal build!

Postby Steven Seagal » Wed Sep 28, 2011 6:29 pm

Here is a new version.

[EDIT: outdated, please visit the site for official versions]

The source is available, along with the binaries (and more!), on my new ST site:

http://ataristeven.host898.net/Steem.htm

What's changed?

Image

- Two new options in the Display page: 'Original video timings' and 'Large
borders'. If you check the first and uncheck the second, the video rendering
should be exactly as in Steem 3.2. If you do the opposite (default), you
choose the more experimental video rendering that allows to run some tricky
programs but could break other programs.
One important source of those 'alternative' video timings is the Hatari
emulator, but only some parts of the Hatari system were included, so don't
expect that everything that works in Hatari will also work in Steem.

Image

- STF/STE option in the Machine page. This allows some programs to run without
patch.

- The red light for floppy writing now works, with Pasti too.

Programs that work better now:

- Demo Death of the Left Border (STEEM EXCLUSIVE!, large borders)
- Game Enchanted Land (no patch).
- Game Hyper Force (STF).
- Game Live & Let Die (no patch, STF).
- Game Nightdawn (no patch, STF).
- Demo Best Part of the Creation(Punish Your Machine) (large borders). Please check this one as it was a bitch to do!
- Demo SoWatt (no patch).
- Demo Union Demo.
- And certainly countless others!
Last edited by Steven Seagal on Sun Oct 07, 2012 9:35 am, edited 1 time in total.
In the CIA we learned that ST ruled
Steem SSE: http://sourceforge.net/projects/steemsse

User avatar
npomarede
Atari God
Atari God
Posts: 1290
Joined: Sat Dec 01, 2007 7:38 pm
Location: France

Re: The Steven Seagal build!

Postby npomarede » Wed Sep 28, 2011 6:43 pm

Hello
by the way, did you try the Greetings Part in No Cooper by 1984 ? It's similar to Best Part Of The Creation (med res overscan), except it uses different timings, so it's quite possible it doesn't work with your patch.

Nicolas

User avatar
Steven Seagal
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2018
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: The Steven Seagal build!

Postby Steven Seagal » Wed Sep 28, 2011 8:01 pm

You mean this? Not sure it's correct. Just before that, we seem to have correct text but then this huge 1984 comes in the way...

Image

I must admit, I haven't tried this demo yet. Had to look in my files...
In the CIA we learned that ST ruled
Steem SSE: http://sourceforge.net/projects/steemsse

User avatar
npomarede
Atari God
Atari God
Posts: 1290
Joined: Sat Dec 01, 2007 7:38 pm
Location: France

Re: The Steven Seagal build!

Postby npomarede » Wed Sep 28, 2011 8:18 pm

Yes, it's this part. Compare this with the result in Hatari or a real ST, I let you find what's the cause of the difference :)

Nicolas

User avatar
Steven Seagal
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2018
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: The Steven Seagal build!

Postby Steven Seagal » Wed Sep 28, 2011 9:02 pm

"Is this a challenge?"

Image


Note that the strange artefacts are due to online software, just like the previous pic. But this one is like on Hatari.
The why and how are all spelled out in the Hatari source, so I have no merit at all, I did nothing, discovered nothing, I'm just translating parts of Hatari to Steem.
And I think there's still some imperfection (a line part in the left border)... It's for the next version!

Edit: your borders are larger, but I stop at 800, for the fullscreen mode.

Edit2: I realise now that there are alignment problems too, it's not right.

Edit3: I could "fix" that using horrible hacks, but I found something else. I'll open a new thread in the demo section for this one.
In the CIA we learned that ST ruled
Steem SSE: http://sourceforge.net/projects/steemsse

User avatar
Steven Seagal
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2018
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: The Steven Seagal build!

Postby Steven Seagal » Sat Oct 08, 2011 9:16 pm

Normal version:

Steem 3.3B.zip
(517.75 KiB) Not downloaded yet


Boiler version:

Steem 3.3B_boiler.zip
(681.06 KiB) Not downloaded yet


Nobody even downloaded it? If you don't care, just tell so, and I keep it for myself, I want to bother nobody.
In the CIA we learned that ST ruled
Steem SSE: http://sourceforge.net/projects/steemsse

Hippy Dave
Atari Super Hero
Atari Super Hero
Posts: 515
Joined: Sat Jan 10, 2009 5:40 am

Re: The Steven Seagal build!

Postby Hippy Dave » Sun Oct 09, 2011 1:46 am

Steven Seagal wrote:
Normal version:

Steem 3.3B.zip
(517.75 KiB) Not downloaded yet


Boiler version:

Steem 3.3B_boiler.zip
(681.06 KiB) Not downloaded yet


Nobody even downloaded it? If you don't care, just tell so, and I keep it for myself, I want to bother nobody.


Don't stop. I'm interested but haven't gotten around to saying much.
I was thinking of GPLv3-ising some of the files, and adding LMC1992
tone control.

MG2012
Atarian
Atarian
Posts: 1
Joined: Tue May 03, 2011 5:52 pm

Re: The Steven Seagal build!

Postby MG2012 » Sun Oct 09, 2011 5:04 pm

Yop all !

Don't stop your work, i'm still looking it.

I have taken your source code directly from your web site.

I have made some minor changes (just on the debugger, files mem_browser.h/.cpp, d2.h/.cpp, and boiler.h/cpp) to have a similar approach like EasyRider.

(When you try to made disasm on memory where there's not pc relative instructions, it's a big work, and i'll try to fix that more easely, without your source, I'm still trying to drown myself in the code...)

Example :
Black Lamp at 400.w with steem debug:

Code: Select all

   bsr .l +$10ac {$0014AE}                          ; 000400: 6100 10AC
   move #$2700,sr                                   ; 000404: 46FC 2700
   movea.l #$400,a7                                 ; 000408: 2E7C 0000 0400
   move #$2300,sr                                   ; 00040E: 46FC 2300
   bsr .l +$a8 {$0004BC}                            ; 000412: 6100 00A8
   btst #$0,$74e6                                   ; 000416: 0839 0000 0000 74E6
   beq.s -10 {$000416}                              ; 00041E: 67F6
   bsr.s +26 {$00043C}                              ; 000420: 611A
   bsr .l +$5f1e {$006342}                          ; 000422: 6100 5F1E
   bsr .l +$5140 {$005568}                          ; 000426: 6100 5140
   bsr .l +$1858 {$001C84}                          ; 00042A: 6100 1858
   bsr .l +$1182 {$0015B2}                          ; 00042E: 6100 1182
   bsr .l +$1c2c {$002060}                          ; 000432: 6100 1C2C
   bsr .l +$1e6c {$0022A4}                          ; 000436: 6100 1E6C
   bra.s -38 {$000416}                              ; 00043A: 60DA
   move.b $74ce,d0                                  ; 00043C: 1039 0000 74CE
   cmp.b $74d5,d0                                   ; 000442: B039 0000 74D5
   bne.s +8 {$000452}                               ; 000448: 6608
   move.b d0,$74d5                                  ; 00044A: 13C0 0000 74D5
   rts                                              ; 000450: 4E75

With your version and the fix :

Code: Select all

L000400:   bsr.w    L0014AE                                            ; 000400: 6100 10AC                 | a...       |
L000404:   move     #$2700,sr ; (9984)                                 ; 000404: 46FC 2700                 | F.'.       |
L000408:   movea.l  #$400,a7 ; (1024)                                  ; 000408: 2E7C 0000 0400            | .|....     |
L00040E:   move     #$2300,sr ; (8960)                                 ; 00040E: 46FC 2300                 | F.#.       |
L000412:   bsr.w    L0004BC                                            ; 000412: 6100 00A8                 | a...       |
L000416:   btst     #0,L0074E6                                         ; 000416: 0839 0000 0000 74E6       | .9....t.   |
L00041E:   beq.s    L000416                                            ; 00041E: 67F6                      | g.         |
L000420:   bsr.s    L00043C                                            ; 000420: 611A                      | a.         |
L000422:   bsr.w    L006342                                            ; 000422: 6100 5F1E                 | a._.       |
L000426:   bsr.w    L005568                                            ; 000426: 6100 5140                 | a.Q@       |
L00042A:   bsr.w    L001C84                                            ; 00042A: 6100 1858                 | a..X       |
L00042E:   bsr.w    L0015B2                                            ; 00042E: 6100 1182                 | a...       |
L000432:   bsr.w    L002060                                            ; 000432: 6100 1C2C                 | a..,       |
L000436:   bsr.w    L0022A4                                            ; 000436: 6100 1E6C                 | a..l       |
L00043A:   bra.s    L000416                                            ; 00043A: 60DA                      | `.         |
L00043C:   move.b   L0074CE,d0                                         ; 00043C: 1039 0000 74CE            | .9..t.     |
L000442:   cmp.b    L0074D5,d0                                         ; 000442: B039 0000 74D5            | .9..t.     |
L000448:   bne.s    L000452                                            ; 000448: 6608                      | f.         |
L00044A:   move.b   d0,L0074D5                                         ; 00044A: 13C0 0000 74D5            | ....t.     |
L000450:   rts                                                         ; 000450: 4E75                      | Nu         |

etc etc...

Thancks !


Social Media

     

Return to “Development”

Who is online

Users browsing this forum: No registered users and 2 guests