(hide navigation)
  • Swedish content
Fund my projects
Patreon
Steady
Forum
Register
Log in
Latest comments
Syndication
RSS feed
Feedback

Forum comments in chronological order

Disclaimer: I am not responsible for what people (other than myself) write in the forums. Please report any abuse, such as insults, slander, spam and illegal material, and I will take appropriate actions. Don't feed the trolls.

Jag tar inget ansvar för det som skrivs i forumet, förutom mina egna inlägg. Vänligen rapportera alla inlägg som bryter mot reglerna, så ska jag se vad jag kan göra. Som regelbrott räknas till exempel förolämpningar, förtal, spam och olagligt material. Mata inte trålarna.

Sep 2013

Zeugma

Anonymous
Mon 2-Sep-2013 02:49
First bug report: no support for Z-machine versions 1, 2 or 3. Yeah this is a bug report not a feature request, 'cause as of now you can't actually play Zork, which is some kind of criminal shortcoming!

The TTY demystified

Anonymous
Fri 6-Sep-2013 12:10
really great post ! Thanks a lot for the general understanding of the how, instead of the usual "to do this, do that" ! And I'll stop here because having three exclamation mark in one sentence is a clear sign of mental disorder, but thanks again.

Craft

gazliddon
Gaz Liddon
Fri 6-Sep-2013 13:26
Hiya :D

Big thank you this, I'm now taking faltering steps playing with microcontrollers and digital electronics because of the great write up you posted here :D

I have a question, not sure if you read this and answer them but:

What are you using timer B for? In boot.s It -looks- like it would act like a reset and looks like if enabled it'll trigger every 72 * 8 cycles (just over a lines worth). I'm new to this so couldn't figure our exactly what you're doing :D Were you using it as a watchdog during dev?

Ones again many thanks for making a project so inspirational to me :D

VIC Timing Chart

Anonymous
Sun 8-Sep-2013 04:38
I find it humorous that filename of this victiming, though I'm not sure who is the victim being acted upon by this newly conjured verb--me or the c64.

Brainfuck

Anonymous
Fri 13-Sep-2013 16:32
The first line is easy, well the first two and a half actually; after that it gets more interesting. :)

What I'd love to do is use this as a benchmark program; only problem is it doesn't take very long to run...

"real 0m0.049s"

That's for your example script.

Any chance of a larger array ?
Dynamic would be sooooo wonderful but 26x26 should give me enough space to draw a nice pattern.

Zeugma

Anonymous
Sat 14-Sep-2013 00:25
"Sweet, a C64 terp! I'll try _Spider and Web_."

It didn't exactly go to plan. I get "That's not a verb I recognise." in response to anything. Except "oops" and "o", oddly enough. (Screenshot: http://sphere.chronosempire.org.uk/~HEx/shots/zeugma-fail.png)

Several hours of debugging later, I still have no idea what's wrong with your code but I am now very confused.

What is "dictordered" for? The spec (§13.5) requires the dictionary to be ordered. (No mention is made of whether this is required for user dictionaries; I assume so.)

In particular the code between "nowrap5" and "noneg" eludes me. It seems to set dictordered to zero iff the MSB of the number of dictionary entries is set. (This number is fetched correctly by the preceding code.) This seems an utterly bizarre thing to do, and the code if this is true is even more bizarre (invert the number of dictionary entries?!). The only possible thing I can think of is that for some reason you were manually inverting dictionary tables in games and testing (and reverting) that at runtime to determine whether to use a binary search, perhaps for debugging the search code (but then why modify the game rather than the code?).

Also, why does mulloop iterate 8 times? Surely finishing the loop early (suggested code below) would save several iterations in the common case where the dictionary entry size is small (guaranteed to be 9 bytes for Inform games, for example). I can't imagine you would begrudge four extra bytes for this.

mulloop
lsr temp3+2
bcs yesadd
bne noadd
bcc aftermul
yesadd
lda temp3
[...]
noadd
asl temp3
rol temp3+1
dex
bne mulloop
aftermul
ldx #0
[...]

(Gah, how do you format code fragments using this thing?)

Some documentation really would be nice. At this rate of reverse engineering I'll never get a BBC Micro port done :(

Also a github project maybe?

Vim code

Anonymous
Sat 14-Sep-2013 03:33
Oh god, you just ruined my favorite editor. Well done!

Beagleboard stable USB EHCI hack

Anonymous
Sat 14-Sep-2013 11:26
Question - do you think this hack would also work for the Beagleboard xM rev. C? [...] Going to try this tomorrow

Please, tell us. Did it work?

I think hardware hacking are useless to XM at all (we tried that before)

My workplace got a dozen of beagleboard XM (same batch, same version)
some of them are 'quite normally',which can survive during our test.
test by copy 10GB+ data via the eth interface to the usb pendrive mount on USB of beagleboard-XM
some of them will be dumb after 100MB~2GB data copy

I guess the problem may be was the defect of the chip(EHCI?)

Test environment was totally same
same SDcard, same OS, same pendrive, same data, same network, same command.

Zeugma

lft
Linus Åkesson
Sun 15-Sep-2013 15:30
"Sweet, a C64 terp! I'll try _Spider and Web_."

It didn't exactly go to plan. I get "That's not a verb I recognise." in response to anything. Except "oops" and "o", oddly enough. (Screenshot: http://sphere.chronosempire.org.uk/~HEx/shots/zeugma-fail.png)

Thanks for the bug report! This is now fixed in v1.1.

Several hours of debugging later, I still have no idea what's wrong with your code but I am now very confused.

What is "dictordered" for? The spec (§13.5) requires the dictionary to be ordered. (No mention is made of whether this is required for user dictionaries; I assume so.)

The same code is used for the tokenise opcode, which does allow unsorted dictionaries, indicated by a negated number of entries.

Also, why does mulloop iterate 8 times? Surely finishing the loop early (suggested code below) would save several iterations in the common case where the dictionary entry size is small (guaranteed to be 9 bytes for Inform games, for example). I can't imagine you would begrudge four extra bytes for this.

Yep, I didn't bother to optimise this multiplication as it doesn't happen very often. The regular mul opcode is optimised.

(Gah, how do you format code fragments using this thing?)

I might have to add support for that. Thanks for persevering.

Some documentation really would be nice. At this rate of reverse engineering I'll never get a BBC Micro port done :(

Also a github project maybe?

I'll think about it. Thanks for showing an interest!

The TTY demystified

Anonymous
Sun 15-Sep-2013 20:58
Excellent post on TTY!! Thank you -- Aananth C N

Autosokoban

Anonymous
Mon 16-Sep-2013 16:32
level 13, 770569946 impossible?

Zeugma

Anonymous
Thu 19-Sep-2013 08:33
I've tryed but something goes wrong.
I load the file renamed (.REU) into the REU and then I load the Zeugma.prg but it doesn't work. What do I do wrong?

Bieno.
Anonymous
Fri 20-Sep-2013 17:09
Same here. Seems that with my 1541U-II, it's not merely a question of renaming a .z8-file to .reu. What am I doing wrong?

REU is enabled, set to 512KB, loading a REU-file (ie. spiral.z8.reu), and then loading and running zeugmav1.1.prg results in 'Z-machine version (anything between 0 and 255) not supported.'
Anonymous
Sat 21-Sep-2013 15:00
Seems that with 1541U-II, you need to set your REU size to 16M (as you would for GEOS to have it use 512KB).

For some reason, Spiral gives me all sorts of messages and I get to press [more] a couple of times inbetween those errors.

Autosokoban

Anonymous
Fri 27-Sep-2013 00:12
Totally amazing. You should port it to Android/iPhone. Don't know how much memory you need, but newer devices have a lot available. Alternatively, publish the source ;)

However for the life of me I can't solve
http://www.linusakesson.net/games/autosokoban/?v=1&seed=722222541&level=6

Bug, or am I just not doing it right?
I've done it in about a minute. It's not impossible. Start by pushing higher the one that's above you at the start position, and then one point higher the one below you.

I'm interested in the generation algorithm too. :)

Zeugma

Anonymous
Fri 27-Sep-2013 13:03
Bug report on CSDb. Please check it!