EdwardianDuck
Members-
Posts
67 -
Joined
-
Last visited
Content Type
Profiles
Forums
Blogs
Gallery
Events
Store
Community Map
Everything posted by EdwardianDuck
-
Logiker's Vintage Computing Christmas Challenge 2022
EdwardianDuck replied to carlsson's topic in Atari 8-Bit Computers
I'm certainly no whiz kid, but I'm down to 75 bytes in assembly (not centered) (or 74 bytes if one doesn't care about Atari DOS making a mess of the lines below the star on exit). I consider that I've employed some pretty sketchy / dirty programming even to get down this far and I'm finding it interesting that I'm having to use different optimisation tricks on the Atari to what I used on the BBC micro. Some of the tricks I used here would actually increase the size of the BBC micro version. -
You appear to be able to download the prebuilt HTML here https://github.com/cc65/doc and an online version is here https://cc65.github.io/, if that helps. I haven't checked either are up to date. Jeremy
-
Just a quick update. The link in the top post no longer works. After a number of years prevarication I decided to let the domain & hosting go and didn't renew it. The game is of course still available from this thread. As before, please post here for hints. I'm also interested to learn if anyone completes the game and any comments / issues found. If someone actually completes it, I could move if from beta status and call it a formal release. Jeremy
-
Thank you for trying it. The game isn't super easy, but not (IMHO) super hard either. Most of the puzzles are a bit more involved that "you find a key in room 1 which unlocks a locked door in room 2". It also tries to be reasonably fair to the player. Score isn't that helpful as the game isn't of the "treasure hunt" style and I didn't think it needed a score at all. It was added after a player completed the game, but wasn't 100% sure he'd "won". If you use the SCORE command you'll see what I mean. To set the scene, make sure you <rot13> RKNZVAR ZR YBBX VA ZVEEBE ERNQ YRGGRE </rot13> The first one hints at the major puzzles to solve, the other two hint at the premise. Jeremy
-
Just a thought. While I'm not expecting a lot of feedback for Skirrid (based on my experience over at StarDot), if an administrator thinks this should be split out into a separate thread, please go ahead. Basically whatever is normal policy for the forum. Jeremy
-
For convenience, I've attached the ATR here. If anyone wants hints, I'd suggest posting here and encoding the question using ROT13 to trivially hide spoilers (for example, https://rot13.com/) and I'll reply in the same manner. Or send me a PM, but I might not see that as quickly. Any constructive feedback would be welcome. Jeremy DuckMe-Beta-16.atr
-
My guess is that the web server used for my shared web space doesn't have a viable content disposition for .XEX and the browser is guessing (incorrectly) what to do with it. I may or may not be able to change this, so I've added the attachments here for convenience. Jeremy Skirrid.pdf SKApp.xex Skirrid.atr
-
I had a go at writing a text adventure using Inform6/PunyInform (http://duckology.co.uk/code/06/index.html) and have packaged it up for the Atari. Originally I wrote this in 6502 assembly for the BBC Master 128 before deciding to port to PunyInform and extend it a bit. Technically still a beta, but it is playable. See the link on the page to StarDot for some history/discussion. It's not a huge game, my non-optimal walkthrough is ~330 moves. And, yes, the premise is a bit silly. Jeremy
- 33 replies
-
- 13
-
-
-
I did finally release Skirrid (http://duckology.co.uk/code/04/index.html) for what it's worth. The AI isn't great IMHO, but it was a fun project to program. Jeremy
-
It's been a while, but here is an updated version. While porting this to the BBC Micro some problems were found in relation to how harder puzzles were being solved (e.g. BIGED.SUD on the disk). As a result of this there was a bit of a major rewrite, but as a result. It's a bit faster. It can solve harder puzzles more consistently. I found a list of ~26,000 really hard puzzles and it (well, the BBC version, but it's the same algorithm) managed to arrive at a valid solution for all of them. The first 10 of these are on the disk as EL*.SUD. That took a few days... There's a splash of colour. It can also import a puzzle from a text file (see TEXT01.TXT on the disk for the format) in a format which seems fairly common online. Jeremy Sudoku-20191221.atr
-
Anybody have a good flood fill code snippet?
EdwardianDuck replied to tschak909's topic in Atari 5200 / 8-bit Programming
Just a thought, but would changing these to short help? static unsigned char xStack[512]; static unsigned char yStack[512]; unsigned char stackentry = 1; i.e. static unsigned short xStack[512]; static unsigned short yStack[512]; unsigned short stackentry = 1; Because otherwise I think x will get truncated to 8 bits. It might not be necessary to change yStack though. Jeremy -
Converting MADS assembly to CC65 assembly
EdwardianDuck replied to 8bit-Dude's topic in Atari 8-Bit Computers
Alternatively, CA65 supports macros, so you could identify which MADS pseudo macros are used and write CA65 macros for what you need. If it turns out you only need MVA, MWA, INW etc., these are simply enough to write yourself, although using traditional macros you'll lose the optimisations MADS can make (OPT R+). For example. MVA #0 A MVA #0 B becomes LDA #0 STA A STA B whereas a traditional macro won't track this and you'll get LDA #0 STA A LDA #0 STA B Another area to consider is that CA65 is single pass only, so references to labels defined later on the source code (forward references?) won't get optimised to branches where the destination is close enough. Compare and contrast JNE in MADS and the equivalent in the longbranch "macpack" in CA65. Also .proc in CA65 doesn't implement the parameter passing features of MADS. Jeremy -
From a brief play (~30 minutes), my first impression is that this is a great game and, more importantly for me, one I can actually play! I'm not a great arcade game player and historically have stuck to text adventures, but the puzzle solving aspect works for me, especially as it seems one is not time limited in solving the levels (at least in story mode, easy). I might even be able to get a reasonable way through the levels. Also I'm playing it on a MiST (just load the .CAR file). As far as I can tell it works perfectly and sounds great through a half-decent Sony stereo. Thank you Jeremy
-
If (and only if) I can make what I laughingly describe as the "AI" play a strong enough game then I plan to release an implementation of the obscure late '70s - early '80s board game Skirrid. The program is basically complete but is too easy to beat at this stage, even on the hardest level. Some notes in PDF form are attached which include some screenshots. Jeremy Skirrid - Atari Edition.pdf
-
Atari 8-bit games in C ( CC65 ) ?
EdwardianDuck replied to Blues76's topic in Atari 5200 / 8-bit Programming
There are some structured programming macros for 6502 at http://wilsonminesco.com/StructureMacros/ which look promising, but I suspect your experience will vary by assembler. For example, I tried to modify the SELECT ... CASE ... ENDCASE to work with MADS a couple of weekends ago, but was unable to get them to work. I think it was something to do with MADS being n-pass rather than 2-pass but I have not had time to investigate further. Jeremy -
I suspect what I have used are known algorithms (the chance of me having invented something new is very, very small), but I didn't start from a book or other existing resource. That is to say, I worked out my simplistic strategy for solving the puzzles from first principles. Essentially the program tries to solve the puzzles as an inexperienced human solver would, looking for cells with single candidate values and values that can only be placed in one position. The program repeats these steps until it gets stuck, then it makes a guess and implements the same basic processes in a recursive manner. With the exception of the one additional check introduced in v0.4, this is all it does. I'm aware from solving puzzles manually that there are other algorithms that could be added, but so far I have only used what is (relatively) easy for me to program in 6502. Hopefully this helps. Jeremy
-
I've more or less given up on getting this to work, given foft's suggestion that the MiST core's disk emulation is relatively poor. While it seemed that having config.sys on a disk image was having some effect, in the sense that the boot up messages were different, once I added ECHO statements it became clear that this was not being read / processed / or something. However, for completeness I tried the following: I modified the default config.sys on the CAR: device to add /A to SIO.SYS. I tried each of the drive speed settings offered in the MiST OSD. In each case a DIR command returned error 138 for the mounted disk image. So I've convinced myself that it isn't going to work. I'll use something else. Jeremy
-
I finally got round to a little experimentation. I created disk images (I tried 90Kb and 180Kb sizes) and formatted using SDX on an emulator. I then created a minimal CONFIG.SYS as below. DEVICE SPARTA OSRAM DEVICE SIO /A On booting the MiST without the disk image mounted, I get a message about R-Time 8 not being present. This is what I expect when SDX is using the default CONFIG.SYS on the CAR: device. On booting the MiST with the disk image mounted, I don't get the R-Time 8 message. This makes me think that SDX is reading CONFIG.SYS from the disk image. Unfortunately I still get error 138 - Device timeout when I try any operation on the disk image (DIR for example). I also tried /C instead of /A for the SIO driver, which made no difference. Changing the speed setting in the MiST OSD for the drive emulation made no difference either. Jeremy
-
Remapping via mist.ini sort of works, in the sense that the arrow keys drive the cursor round the screen in BASIC, but then of course the OSD doesn't work, which makes sense now that I think about it. In the end I remapped the arrows on the numeric keypad to F1-F4 and that's working, at least well enough for me. I may try mapping the "lazy T" arrow keys to F1-F4 AND the keys on the numeric keypad to the arrow keys as I'd still rather have the "lazy T" arrow keys in control when the Atari is active, but that's an exercise for the weekend. Below are the mappings I used in case this is of general interest. Jeremy [mist] key_remap=5E,3D key_remap=5C,3C key_remap=60,3A key_remap=5A,3B
-
Interestingly, it seems like the core reads F1-F4 as the cursor keys (or at least it does when running the program I was trying), so I'll try mapping the keyboard's arrow keys to F1-F4 and see what happens. Thank you Jeremy
-
I have a question about keyboard mapping. Is it possible to map the "lazy T" arrow keys on the physical USB keyboard to Control + +*=- to generate the normal Atari cursor move keystrokes? I noticed in the manual that the arrow keys are shown on the list of available keys, but these (as far as I can tell so far, being a MiST neophyte) are only used by the OSD. Jeremy
-
My MiST arrived on Tuesday so I was able to briefly try this. As noted previously by Panther, the MaxFlash version boots, but trying to access a disk image mounted in drive 1 just gives Error 138 - Device Timeout. I get the same problem when trying to (re)format the disk or just get a directory listing. Booting Atari DOS from the same disk (it has DOS 2.5 on it) worked as expected. I don't really have any idea if the fact that the MaxFlash version boots on the MiST equates to "is suitable for running on it". I imagine that the SDX images which are not ~128Kb in size will be entirely unsuitable for the MiST. Jeremy
-
65816 support is something I'd be interested in, if it would fit on a MiST. Jeremy
-
I was reading up on the MiST over lunch and was wondering if this remarkable device can run Spartados/X when the atari800 core is loaded? I've been unable to find anything online to confirm or deny this. Has anybody tried this? If it does work, can a partition (disk image) of a few Mb be mounted and used (read/write)? I don't own a MiST so I can't try it myself, or at least not yet. I'm asking because this might influence whether I order one or not. Jeremy
-
InverseATASCII - Atari 8 Bit Productivity Podcast
EdwardianDuck replied to Ripdubski's topic in Atari 8-Bit Computers
If it helps, I pulled down the raw RSS file and looked at the latest entry. Basically there's no MP3 file referenced for the latest episode, which might well be the problem. Most recent MP3 reference in the file is the previous episode (Heartware), according to grep -i "mp3" file.rss. Jeremy
