The New SPIN releases Thread

13468916

Comments

  • edited July 2006
    I`ve just tried it again and now its perfect, no border corruption at all.
    Could it be because of lots of background apps that were running at the same time, slowing down spin to the point where it doesn`t have time to redraw correctly? I still have an old 1Ghz Athlon with 266Mhz 256Mb memory.

    Find a game doesn`t work for me, just tried it. After clicking search, I get a message from my firewall that zxpin is trying to access the internet, I allow zxspin.exe accesss, and then I get an error box from spin, saying 'Cannot open URL http://www.worldofspectrum.org/infoseek.cgi?regexp=exolon&model=spectrum&loadpics=on.' I click OK and then the Search button is greyed out. The Close button doesn`t work so I click the X to close the Find a game. I`m using Opera as my default browser, although I still have Internet Explorer installed and working, I prefer Opera.

    Thanks
    WIP Tritone Demo
    No more html on dropbox. :(
  • edited July 2006
    Find a game works okay for me, but the 'close' button on the dialog doesn't! Have to hit the 'x' in the top-right corner to shut the window. :)
  • edited July 2006
    As soon as I've refined some of SPIN's hardware emulation to more accurately match a real 48k machine, I might just post some code to do some screen scrolling or perhaps some other screen effects. Wouldn't that be nice?

    All without any boring writes to display memory, obviously ;)
  • edited July 2006
    On second thoughts I won't be posting any of that code referred to in my last post. You lucky people!
  • edited July 2006
    Woody wrote:
    On second thoughts I won't be posting any of that code referred to in my last post. You lucky people!

    Erm...why not? We can do with some neat visual effects code! However, I didn't understand the part about "no writes to display memory" - how do you display the effects then? Or have I got it all hopelessly wrong? Again?
  • edited July 2006
    Actually, it would be pointless of woody to post the code just yet.

    It only runs on real 48k machines - there's only one emulator that can even come close to being able to display it. And that badly :-D

    But yes, it's hardware scrolling. No writing to the screen display at all. I know, I've seen it :-p

    D.
  • edited July 2006
    Dunny wrote:
    It only runs on real 48k machines - there's only one emulator that can even come close to being able to display it. And that badly :-D

    But yes, it's hardware scrolling. No writing to the screen display at all. I know, I've seen it :-p

    Has Woody found a way to stall ULA access to the display RAM? Only way I can think is even remotely possible...
  • edited July 2006
    Dunny wrote:
    Actually, it would be pointless of woody to post the code just yet.

    It only runs on real 48k machines - there's only one emulator that can even come close to being able to display it. And that badly :-D

    But yes, it's hardware scrolling. No writing to the screen display at all. I know, I've seen it :-p

    D.

    I want to see it tooooooooo :D

    And here is lot of people with operational 48K RRreallll Speccies D:-)
  • edited July 2006
    That could be the most interresting thing to see in years. Please post - a lot of us have real 48k speccies ;-) And I bet a lot of emulator authors are eager to improve the unimprovable ;-)))))
  • edited July 2006
    I have a feeling Woody's saving this one for April 1st.
  • edited July 2006
    And I have a feeling that my last post clearly stated what I was or was not doing with this code ;)
  • edited July 2006
    Though think of the I register in the $40-$7f range, the R register and memory refresh cycles :)
    This is only my first attempt at controlling an effect that's been known about for years!
  • edited July 2006
    I just added quite a lot of extra detail to that above post but this forum software managed to lose the lot of it. Now that just pissed me off!
  • edited July 2006
    So. At a guess.
    Basically you're using the "snow" effect, knowing how it works (basically putting the previous screen data onto the screen again), but with accurate timing to effectively "shift" the data by a multiple of 8 pixels? I say a multiple of 8, it will probably be 8.

    That's what I'd expect, anyhoo. Not exactly "hardware scrolling", but more "image displacement"?
  • edited July 2006
    Using the snow effect, yes. But then I more or less had already said that that's what I was playing with some time ago in this thread ;)

    Multiple image displacements gives a nice scrolling effect though, and it ain't (directly) being done in software. So hardware scrolling sounds much better :)

    Anyhow, A7 on the address bus during refresh cycles is still supplied by the ULA, contrary to bit 7 of R being specified in RS' snow effect doc, so this rather limits the possibility of much in the way of vertical displacement but doesn't effect it at all in the horizontal.

    This could differ on Spectrum's with CPUs from different manufacturers, and does vary with temperature after switching on, but executing a LD R,A after 14322 cycles followed by 32xNOP (and repeating every 224 cycles, adjusting R when necessary for each new scanline's low byte address) holds a rock steady display in "snow" mode. From there you can change the displacement offset (b0-b4 in R) to enact a shift for any/all scanlines.

    On this Speccy I can get an 8 pixel shift for a short amount of time until it warms up. Then it's restricted to 16 pixel resolution. This machine always has its first contended cycle at 14335, but the first display byte on the floating bus appears after 14339 cycles for the first couple of minutes or so and then shifts to (and remains at) cycle 14338. That's what I think gives the 8 pixel resolution for a short time with an extra NOP having time to execute during the display fetches IYSWIM.
  • edited July 2006
    All this smells for me on: we should do something new, extra with our emulator... Any decent idea?

    And what I see here: we will have soon temperature sensors in Speccy emulators too :D :D
  • edited July 2006
    Woody wrote:
    Using the snow effect, yes. But then I more or less had already said that that's what I was playing with some time ago in this thread
    Aah, I'd not actually read the entire thread. I kinda lost track of it after it reached about 8 pages :)
    'Tis an interesting idea tho', certainly worth playing with it.
  • edited July 2006
    A couple more bits - SPIN now saves screenshots properly... Check these out:

    http://homepage.ntlworld.com/paul.dunn4/Manic.gif
    http://homepage.ntlworld.com/paul.dunn4/WantedMonty.gif

    I'm quite chuffed with this GIF business, you know :)

    D.
  • edited July 2006
    Well, here it is - SPIN Test Release 11.

    Grab it from:

    http://homepage.ntlworld.com/paul.dunn4/SPIN_Test11.zip

    It contains all you need. Animated GIFs can be saved as screenshots if you set the appropriate options (options -> Files -> Screenshots) and choose "Preserve FLASH". If there are no flashing attributes, you'll get a single frame image. To save a GIF, specify the ".gif" extension when you save the screenshot.

    To save an animated GIF movie, use the recording menu -> Video Recording -> Configure output. Choose Animated GIF and set your options. Use "Recording -> Video Recording -> Start/Pause/Resume/Stop Recording" options to control the recording process.

    The GIFs are heavily optimised, but even so don't expect fantastic filesizes - they bloat quite easily. Adventures compress very well, Jet Set Willy does not. Also beware that framerates higher than 15fps will play back slowly in any Microsoft viewer, and that even the mighty firefox struggles with the full 50fps.

    There's also the option to "frame advance" whilst paused - pause the emulation, then right click the pause button. The buttons will be replaced with a new set - debugger, full speed and frame advance. Clicking frame advance will emulate one frame and then stop.

    I've added the option to link colour sliders in the palette options, and now there's colour values in as well, as requested by a few of you.

    Oh yes.

    There's a lot of *new* contention information gone in, along with a reasonable approximation of the ULA Snow.

    ULA Snow has been found to be very, very CPU intensive to emulate - it's nowhere near as simple as current information led us to believe. We've cracked it though, and will pass on the information to the FAQ maintainer(s). The emulation would require probably around a 1ghz CPU *at least* to maintain speed, and will require SPIN's core and renderer to be completely rewritten. If we can figure a way to do it and still maintain speed, we will - but don't hold your breath :)

    There's also a special kind of contention, which we've called "snow contention" applied during snow periods too.

    SPINs approximation is good enough for games like vectron, and looks convincing (if not 100% accurate) for games written on +2a/+3 machines and then run on 128k.

    Have fun, I'll post more about the new contention elsewhere.

    D.
  • edited July 2006
    Nice stuff, I look forward to playing with that.
    For now tho', it's posted on raww.org :)
  • edited July 2006
    Thanks to the overwhelming feedback, just one bug has been reported.

    So here's release 11a...

    http://homepage.ntlworld.com/paul.dunn4/SPIN_Test11a.zip

    Which fixes a small bug in the animated GIF code. If you want to make GIFs, you'll definitely need this updated version.

    D.
  • edited July 2006
    The lack of feedback could just be coz it's been fecking hot. At least where I live. Which means it's hard enough to post the news on raww.org, let alone try out the emulator.
    In fact the only time when I'm in an environment comfortable enough to test it is at work... and they don't really appreciate that kinda stuff there. Rest assured I'll have a play with it soon as I'm mid-debug of a few projects so I'll be testing that out. I've spotted a couple possible issues (or rather potential improvements, and also requested features) from the last test version, but I'll check out the new one before I report them.

    Alternatively, no-one cares about spin coz it doesn't emulate the DivIDE. :wink:
  • edited July 2006
    So far the emulator looks rather great. Just a few quibbles though:

    1.) How does the "Real tape mode" work compared to what other emulators support for it?

    2.) Why isn't there an option for a second joystick (given the Kempston Pro and Sinclair II interfaces supported two joysticks), and why is it impossible to configure my gamepad for it?

    3.) How would one enter the basic commands with single keystrokes?

    Aside from that, it seems to be rather well-done from what little testing I've done. I'll have to try next week as I have finals coming up.
  • edited July 2006
    So far the emulator looks rather great. Just a few quibbles though:

    1.) How does the "Real tape mode" work compared to what other emulators support for it?

    I can't speak for other emulators, but Woody has just transferred data from a real speccy to SPIN using real tape mode and a connection between the PC soundcard and the mic port on the speccy. No amplification, and no problems. Indicates that it works fine for me.
    2.) Why isn't there an option for a second joystick (given the Kempston Pro and Sinclair II interfaces supported two joysticks), and why is it impossible to configure my gamepad for it?

    You let me know what ports/bitmasks I need, and I'll see what I can do for the two joysticks. As for your gamepad, I have no idea - it works here (and on several other people's machines).
    3.) How would one enter the basic commands with single keystrokes?

    By pressing the keys :-)

    If you're in any doubt as to which keys have which command, then head to the tools menu and open the 48k Keyboard helper. If you're still lost, then try the next tab along, which will detail exactly which keys you need to press. If all else fails, type it in the 3rd tab's box and send it to the emulator.

    Have fun!

    D.
  • edited July 2006
    Thanks for the response. What I meant by the "Real Tape Mode" was regarding connecting an actual tape recorder to the soundcard's Line-IN jack and loading from a real tape.

    As far as the ports/bitmasks thing.. I'm not too familiar with the Spectrum hardware, so that's something I couldn't help you with there..
  • edited July 2006
    Thanks for the response. What I meant by the "Real Tape Mode" was regarding connecting an actual tape recorder to the soundcard's Line-IN jack and loading from a real tape.

    That's what I was talking about. The MIC on a speccy is pretty quiet, and a tape player will usually be amplified. Given that SPIN can load from a speccy connected via the MIC, a tape player should be a breeze.

    However, I'm sure you remember just how picky some loaders were. Have fun :)

    D.
  • edited July 2006
    FrankT wrote:
    Frank above is me, I`ve been without a pc for long time and forgot my previous username.
    I`ve tested the border corruption in all graphic modes, GDI, Direct Draw, Direct 3d and Openl GL, its always a grey line above the top of the screen in the border. Approx 1 udg wide. And only during Cyclone whilst a crate or person is being picked up, probably because of the repeated short beeps that sounds from the beeper. It doesn`t do this on 0.5 version or any other emulator or real speccy. Can anyone else test this to see if its just me and my pc?

    Frank, I would venture to suggest that you were replaying an RZX when the border corruption happened - in fact, I'd put money on it.

    Yes, I've just seen this bug in action, and I'm getting onto it. It's gonna be a bitch to find though.

    D.
  • edited July 2006
    Hi, been trying this for a couple of days, and it's just great!
    So great that it has become my emulator of choice :)
    Just a couple of little and not very important comments: wav files are being saved with no extension, and the green start icon turns to grey when swapping to another application, but doesn't turn to green again when swapping back to Spin. Sorry if they have been reported already, but this thread is quite long, and I'm too lazy to read it all ;)
  • edited July 2006
    After a few more bug reports (including one or two show-stoppers) I've uploaded test release 11b:

    http://homepage.ntlworld.com/paul.dunn4/SPIN_Test11b.zip

    New for this release:

    Updated z80 core courtesy of Woody, now 100% in line with kio's test prog.
    RZX handling far more stable (thanks to Uridium for pointing it out).
    Boost loading tones option in the tapes section of the options - use SPIN's output piped directly to a real speccy. Hopefully.
    Tape wobble/hiss - another tapes option to simulate a real tape deck (an increase the possibility of error R).
    RZX handler also fixed to correct a non-critical bug in the display renderer.

    And one or two other smaller "under the hood" fixes.

    IPerezG, I'll be looking at your issues later today.

    D.
  • edited July 2006
    All new features seem to be working fine for me - thumbs up! :)

    Still having issues loading some Bleepload TZXs as I mentioned before, however (Park Patrol and Peter Pack Rat were the examples I gave). Are you still looking at that one, chaps?
Sign In or Register to comment.