About

I am the author of an emulator for the Camputers Lynx 48K and 96K microcomputers. These were released the UK during the home computer boom, 1983. My emulator is called “Jynx” and is free, and 100% open source. In my WordPress blog I’ll talk about the emulator, and other things to do with the Lynx!

WHERE DO I GET THE SOFTWARE?  CLICK THE DOWNLOAD LINK ABOVE, OR CLICK HERE

Jonathan Markland

14 thoughts on “About

  1. Sam

    Hello Jonathan, I really love your emulator for the Camputers Lynx – the micro we had when I was a small child. I remember playing the Level 9 txt adventures Snowball and Colossal Caverns, as well as Numerons and typing in Star Rover etc. Almost in tears seeing it all again after all these years. I tried P.A.L.E a while back but it was too unstable, but Jynx seems to work flawlessly. Amazing work, thanks ever so much.

    I translated the French Numerons 48K version into English, as it is mainly a basic program with plain text strings, there is a little ambiguity in the game over sequence I’m not sure I have it right – you can get lost in a loop of selecting yes or no to play again x)

    I’d really like to try some Z80 code on the Lynx though, just having trouble finding a firmware guide for the ROM routines, memory maps and so on, could you possibly point me at some if any actually exist?

    Like

    Reply
    1. jynxemulator Post author

      Hi Sam,

      Glad to hear you like the emulator!

      For information take a look at http://www.camputerslynx.info/ in particular the Newsletters section.

      The Lynx User 1 and 2 magazines have most of the information I used to create the emulator, but NILUG and LUG are useful too.

      For a Z80 instruction set reference take a look at http://clrhome.org/table/ They also have an an on-line Z80 assembler at http://clrhome.org/asm/

      The Lynx is a strange machine. You cannot directly access the screen, because it is not in the main address space. When you switch it in, you could not write to the memory without synchronising with the CRT electron beam, otherwise it caused snow on screen.
      You can write your own machine code to write to the screen, but you cannot read the screen – you have to call a ROM routine to do that.

      Jynx doesn’t simulate the “snow” either!

      You can find information about the screen in an article called “Fast Work” in the Lynx User magazines.

      The ports are described in Lynx User mag too. I think keyboard and the loudspeaker D->A converter would be of interest.

      Don’t forget to check out Pete Todd on Youtube – https://www.youtube.com/channel/UCCa2b8ThIwUCbyQDOewNu2A
      Or Frank’s web site – http://www.elborg.dk/
      Also, the guys at Hyperspin have do emulator front-ends, which now includes Jynx – http://www.hyperspin-fe.com/forum/showthread.php?34233-camputers-lynx-emulator

      All the best,

      Jonathan.

      Like

      Reply
  2. Perry

    Hi Jonathan

    I own a Lynx 48k and its safely packed in my loft. I remember spending a good chunk of my college grant on it back in 1983!

    Back in the day I wrote a game for it called Super Air Raid that was based on the sample Air Raid game that was supplied with the Lynx. I have it on cassette tape and I would dearly love to get in running again and saved for posterity. I have read about *.tap files but I can’t seem to find a straight forward guide to creating one from the original tape. Have you ever done this? If you have a guide would be most appreciated.

    One day I’ll actually get round to firing up the beast and see if it still works. Would love to show my kids how it was back then.

    Cheers

    Perry

    Like

    Reply
    1. jynxemulator Post author

      Hi Perry.

      Dad bought the 48K Lynx when I was 8. It was the first computer I had.

      I think the best first step would be to record it into your PC as a WAV file. Windows has Sound Recorder, of course, but the free Audacity program is much better.

      Pete Todd has imported programs from tape with his PALE emulator, I believe that has a feature that might work. You can then save out the TAP file from PALE.

      I didn’t have any tapes of my own to load in, so that issue never arose when I wrote Jynx.

      Thanks

      Jonathan.

      Like

      Reply
      1. Perry Dyball

        Its taken me a while (like 2.5 years!) since I wrote to you but “Super Air Raid” is reborn! https://twitter.com/perrydyball/status/866056956145958912

        After 34 years we are back in the air!

        Unfortunately my real Lynx 48k is dead although I am going to try to get it repaired, but after a long day, I have finally managed to get my tape to record in Audacity and with some judicious settings and manual editing I have managed to get the tape converted to a TAP file via the Paletape utility that is integrated in PALE 8.5. For whatever reason I could not get the game to load in PALE but it does load in Jynx.

        I’m going to blog the process of getting my Lynx back up and how this tape conversion process worked as I think it would help people. Now I have done it once I am sure I can get all my other tapes converted too.

        If you would like to put the TAP up on your blog let me know and I’m sure I can make it available.

        Like

      2. jynxemulator Post author

        Hi Perry. Thanks for the messages, I don’t often stop by here so my apologies for not responding a bit sooner!

        I am pleased to hear you’ve got the game working, yes I’ll certainly do a blog entry and link to the TAP.

        As regards ROADER- I have decided that I need to revisit the implementation for hardware interrupt handling. I think that this may be the missing piece of this jigsaw puzzle. I am not aware of any Lynx software that really used it to be honest, but I think it could be the answer.

        Unfortunately, I mislaid the ROADER.TAP file that I put together for the blog, so I’ll need to re-build it, but that’s not a problem.

        All the best

        Jonathan.

        Like

  3. Martin Judd

    Jonathan,

    Thanks for your dedication in producing such a realistic and highly polished simulator for the Lynx! I came across Pale about a year ago and was pleased to be reunited with a couple of games that I wrote (Lynx Invaders, which I see gets a mention on your blog; and Panik). As a student I had signed a contract with Camputers to market these games just before they went bust. That was the end of my career as a games programmer . . .

    Anyway, I thought I’d contact you because I’d really like to get Panik working in Jynx with sound. I saw a picture of Digger Man here, but I believe my version (which was based on seeing the game on a BBC Micro if I remember correctly) is much better (not that I’m biased).

    I eventually figured out how to get Panik running in Pale but can’t manage to do the same in Jynx. The issue is that it was saved as 3 separate recordings on tape, for reasons I’ve long forgotten. The original process was that a simple BASIC program loaded first, which then MLOADed two more blocks of code before jumping into the machine code. In Pale I can load both of these blocks into memory first, then load the basic program (with its MLOAD lines deleted) and it runs. However, this doesn’t seem to work in Jynx – it’s as if when you load another block the memory or the whole emulator is reset, so you lose the previous load. Every attempt gives a syntax error at the point of jumping into the machine code. An alternative approach I tried was to see if Pale could export a memory dump that could be loaded in Jynx and then saved as a single TAP file. I wondered if the ‘Save LSF’ functionion Pale might save something that could be loaded as a .lynxsnapshot in Jynx but it seems not.

    If you can offer any help, I’d be grateful. As well as being able to play the game myself, I’d like to make it accessible to other former Lynx users for old times sake . . .

    Best regards

    Martin Judd

    Like

    Reply
    1. jynxemulator Post author

      Hi Martin,

      Thanks for taking the time to write, and please accept my apologies at not checking e-mail more frequently!

      When I developed Jynx, I realised I had to use Pete’s TAP format, rather than do my own. But I did allow myself some artistic licence…

      To support simulating cassettes with multiple files, you simply concatenate multiple TAP files in the order required, using any software tool that will do that without data loss. Then save the result file with the extension TAP, and Jynx’s reader will see all three files. It *should* just work, (famous last words!). Personally I was using the HxD editor, and copy and paste on Windows to do this.

      If you have serious difficulty, you can send me the files individually, and I’ll investigate. It’s been six months, but I recall fixing some very broken non-standard TAPs by fiddling the header, or the tail bytes of the file.

      The memory dumps are not compatible. Mine are a text format, for starters!

      Panik sounds really good, looking forward to seeing it.

      Jonathan.

      Like

      Reply
  4. Mike

    Hi Jonathan,

    Thanks for your blog and emulator. I rescued my own Lynx 48k from my parents loft recently, and it has rekindled my interest in all things Lynx. I have tried PALE, both on the PC and Raspberry PI, with Pete and Russell’s assistance (I assume you know them ;-), and so I am interested in trying yours (which works well on Win8 64bit BTW, in as far as I’ve tried).

    Long term, I’d like to be able to transfer code between my real Lynx, and an emulator (via serial, etc.), so I can do some coding in an emulator, but it’s all a matter of time. and effort. 🙂 I’ve not had much luck with wav/tap conversions (or a serial link to the Lynx) so far. But it’s all good fun.

    Anyway, I just wanted to thank you for all your efforts.

    Kind regards,

    Mike.

    (ps. if you need a camputers/lynx logo, I made some SVG’s – just drop me a line. Cheers.)

    Like

    Reply
    1. jynxemulator Post author

      Hi Mike

      Thanks for getting in touch, and I’m glad you like the emulator!

      Pete’s a great guy, I’ve had some e-mail chats with him. Be sure to check out his Youtube Lynx videos (retrogubbins). He’s more of a hardware man than me, and has actually built some working Lynxes. I haven’t been in conversation with Russell yet!

      My Lynx went to landfill years ago, and I have none of the tapes. So the only resources I’ve got are what’s on-line.

      As regards reading real tapes – PALE is the only immediate choice you have to try to get the files in. I have no real tapes, so I am not offering this feature, at least not yet! The (real) Lynx is sensitive to the playback speed of the cassette. I had a cassette recorder that played back ever so slightly slower than standard, and it couldn’t find anything, but could re-load what it saved. I have heard that phase is also important: The Lynx reads the tape with a voltage comparator, and measures the length of time the signal is *above* the half-way line. The signal below the half-way line is not suitable for sampling. Apparently some cassette recorders play back with *inverse* phase, so you have re-load your own savings, but not load anyone else’s stuff. Also, I don’t believe the Lynx calibrates, you have to use the TAPE command manually.

      I expect if you record the Jynx tape sounds, a real Lynx would not load these. I bet they would be off-pitch.

      If I can be cheeky about this – Should any new games come out of your loft (!), you could record the tapes into your PC as a WAV file (it would be large, but heck), and then I could see about getting the data out.

      The online resources are missing Quacman and Snowball 9, both of which I had.

      Thanks

      Jonathan.

      Liked by 2 people

      Reply
      1. shock__

        I can confirm recorded Jynx tape sounds work on real hardware. Managed to feed something I did in Jynx back to a real Lynx using my smartphone 😉
        I’ve recently programmed a small demo/intro that will be released at some point in the future, mostly thanks to Jynx’ great “type from text file” feature. Only feature lacking would be setting the turbo mode via a F-Key 😉 Also first time I’ve programmed more than 10 lines, since I’m more of a hardware guy.

        Like

      2. jynxemulator Post author

        Hi Shock

        It’s very interesting to see they do work. Unfortunately, I don’t have any Lynx hardware to test.
        I’ll put that Turbo feature on the To Do list!
        When you get that demo finished: If you let me know, I would like to link to it.

        Thanks

        Jonathan.

        Like

  5. Pernod

    Hi Jonathan, I’m trying to put together a collection of all known good software dumps for use with MAME. The main resources that I know of are TOSEC and Frank’s site. Whilst these collections do contain the majority of software there are some obvious omissions. I’ve seen in some of your past screenshots that you may have ZEN, YNXVADERS, and SIEGE ATTACK as TAP files. Are these available anywhere and do you have anything else that’s not easily found?

    Like

    Reply
    1. jynxemulator Post author

      Everything I found was by googling, but bear in mind the terminology people use is weird: “Camputers Lynx ROMS” is a good way of finding TAP files. I have thought about just stuffing everything I have in a downloadable ZIP in my dropbox, but I’ve been careful to skirt around getting a takedown notice for anything thus far…! I’ll see what I can find for you.

      Liked by 1 person

      Reply

Leave a comment