@AGMS00@ruby.social
@AGMS00@ruby.social avatar

AGMS00

@AGMS00@ruby.social

Long time game (C++ at Artech Studios, Ottawa, Canada) and BeOS/Haiku OS (C++ apps, file system experiments, and some kernel fixes) programmer, now studying Ruby on Rails in preparation for job hunting. Got distracted making a less evil reputation system (in Rails, with a Ledger database), prototype under construction, essay inspired by Black Mirror about it on my web site.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

mwk, to random
@mwk@donotsta.re avatar

so I just realized I did a sizable project and never posted about it publically

last year I spent a few months on and off reverse engineering Pinball Fantasies (a 1992 video game; originally for Amiga, though I was reversing the more polished DOS port) with the intent of doing a game engine recreation, and then rewrote the logic as a Rust program

you can grab the result here: https://github.com/wanda-phi/pfr/ ; if you're interested in the internals of a 1992 DOS game written by demoscene people, I wrote down some (rather incomplete) notes here: https://github.com/wanda-phi/pfr/blob/main/TECH.md

I'd also like to thank @domi for porting this thing to browser environment with WASM, and hosting the result: https://pfr.sakamoto.pl/

enjoy!

AGMS00,
@AGMS00@ruby.social avatar

@mwk Thanks for putting your notes online. There are lots of tricks here useful for my recreational programming project, Nth Pong Wars. Also a lot of overlap with miniputt golf games!

AGMS00,
@AGMS00@ruby.social avatar

Since I’m targeting the 1982 , fixed point math is essential. I was going to use 16 bits with a 6 bit fraction, but on the Z80 that involves 6 slow shift instructions to get the integer portion. At least 68000 and 8086 have shift-n-times instructions (though no barrel shifter). So putting the fraction point at a byte boundary is desirable.

Wonder why they needed 10 fractional bits. Also 3 physics frames per video frame suggests a max ball speed. I was going to try dynamic physics.

AGMS00, to voyager
@AGMS00@ruby.social avatar

Read a few of the stories about 1’s memory problems, but people don’t say how it was organized.

If the failed chip contained whole words, then just that chunk of memory would fail. If it contained one bit of many words, all those words would be affected.

That suggests a design rule for long running spacecraft - use whole word memory devices so a failure doesn’t knock out even more memory. Same for chip design, put related bits nearby on the chip. Wonder if they have this rule…

AGMS00,
@AGMS00@ruby.social avatar

@zolyguy Just requires lots of patience. Lots.

philpem, (edited ) to random
@philpem@digipres.club avatar

I've made some pretty good progress with the Adaptor reverse engineering, but I've got this unshakable feeling that I'll need to write an emulator and single-step the 6805 ROM code to see what the heck it's doing and figure out what the flags are...

edit: if you want to take a look at the work so far, it's on github: https://github.com/philpem/NABU-Adaptor/

AGMS00,
@AGMS00@ruby.social avatar

Good job on the Readme file writing; tells the story of your work and links to several other projects and background info.

Is the hardware fixed to one cable TV channel? Is it designed to be changeable to another by using different crystals and some retuning?

AGMS00,
@AGMS00@ruby.social avatar

Thanks, looking forward to exploring this rabbit hole…

AGMS00,
@AGMS00@ruby.social avatar

Actually that’s a very well made documentary on an obscure bit of radio frequency engineering. Diagrams and a good script made it seem easy for novices like me.

AGMS00,
@AGMS00@ruby.social avatar
cstross, to random
@cstross@wandering.shop avatar

Plotting the curve of increasing home broadband speeds I've had since I first got cable in 1998, I expect this to be the speed of my home hook-up some time around 2040. I wonder what I could use it for …?
https://social.edu.nl/@SURF/112274114167483854

AGMS00,
@AGMS00@ruby.social avatar

Not yet fast enough for a teleport system. Though maybe matter data compression will make it good enough.

Somebody wrote a few stories about tampering with matter data to corrupt Human travellers. Now if you add advertising to that…

AGMS00, to random
@AGMS00@ruby.social avatar

Nth Pong Wars...

I had a productive evening and came up with lots of ideas (game and code) for my learning to program game. It's just the usual bouncing ball and bricks (inspired by browser version https://pong-wars.koenvangilst.nl/ in Javascript), but with N balls and N players. Possibly some network play. Hope to make it portable so it can run on other computers, but if it can do , it should work almost anywhere else.

My continuing blog post about it:
https://www.agmsmith.ca/WeekendReports/20240207/NthPongWarsBlog.html

AGMS00,
@AGMS00@ruby.social avatar

Got a bit more work done on my game. This time getting a prototype of Nth Pong Wars using ncurses to work. Shows that my fixed point math is working, and I now have a testbed to write code on for the non- parts of the game (makes for easier debugging).

Blog post and source code at https://web.ncf.ca/au829/WeekendReports/20240207/NthPongWarsBlog.html

kancept, to python
@kancept@mastodon.social avatar

There was a time when I used to code graphics drivers. I used to love #assemblylanguage. Nowadays, I can't code my way out of a paper bag. Its been so many years and I'm just a #yaml jockey these days. I've been trying to learn #python, and while I get the basics, it just doesn't seem to gel in my head to make an app. I want to like Go, but I feel I gotta get something down like python to get to that (and to do some projects I want to do). The goal is to learn #vala, but man, I'm dying here!

AGMS00,
@AGMS00@ruby.social avatar

I was looking at Python, Ruby and Java. Didn’t like Java’s class implementation, and liked both Ruby and Python (class mechanism closer to Smalltalk). But Python and Ruby were too similar to learn in parallel, so I went with Ruby and the Rails web framework.

Anyway, the recent project is to write a game for the 1984 NABU computer. Coding would be a mixture of C and Z80 assembler, and there are floating point and fixed point libraries. So, dot products for collisions, or something faster?

Flash, to random
@Flash@mastodon.world avatar

World Wide Web contains fewer syllables than its intended short form - WWW, thus making the shorter version longer to say.
It really bothers me.

AGMS00,
@AGMS00@ruby.social avatar

Oddly enough I have that as a case for my word counting for voice-over actors web page. It’s quite a mouthful, so they want to be paid for it.

Try it if you wish at
https://ratingstone.agmsmith.ca/server01/wordcounter

tubetime, to random
@tubetime@mastodon.social avatar

here's a fun chip! giant 64-pin package with the die mounted on the bottom

image/jpeg

AGMS00,
@AGMS00@ruby.social avatar

12 bits suggests this could have been used to more cheaply add multiplication to a PDP-8. Though the data sheet more sensibly says it’s for digital signal processing.

jleiper, to random
@jleiper@urbanists.social avatar

I still love traveling on our LRT, but most of my commutes are by bike. Natalie sends me short videos and pictures of her commute on those mornings she goes in, and this morning's was a masterpiece. In the trench, out of the trench, the sound ascending and descending, the station announcement, the reflection of the train's interior in the window. This had it all. It's like I was there.

video/mp4

AGMS00,
@AGMS00@ruby.social avatar

I can tell from the sound track lacking horrible screeching noises that no curves were traversed.

Compare that with line 2 trains, or Via Rail leaving Tremblay station to Toronto, where its curve is inside the line 1 track curve. Heavy rail is very quiet, in comparison. Wonder what the difference is in the hardware.

Unixbigot, to random
@Unixbigot@aus.social avatar

Edge cases are funny. If you set your time machine for 2:30am on the morning that clocks go forward, the machine rightly won’t go to a destination time that does not exist. But if you aim for 2:30 on the morning that clocks go backward an hour, which time do you arrive at? There are arguments for either, and reading the code didn’t clear anything up. Took one for science and did the experiment. I never would have guessed “both”, and neither would I.

AGMS00,
@AGMS00@ruby.social avatar

I just specify the time zone along with the 02:30 and that ambiguity goes away. Eastern Time here, so 02:30 EDT is different from 02:30 EST, by an hour of course.

My big worry is how to express that in seconds since the start of time (presumably the Big Bang). So if the estimate of when the Big Bang happened is wrong, I have to adjust all my absolute time clocks. And then there’s the stretching of time from relativity theory due to acceleration and gravity. Makes 02:30 look easy!

AGMS00,
@AGMS00@ruby.social avatar

Arg! Just looked it up. Flashbacks to fixing the mail library code for BeOS (which includes date parsing) so it wouldn’t crash when receiving malformed e-mails. Side effect of adding spam detection - lots of malformed e-mails to test with.

Flash, to random
@Flash@mastodon.world avatar

Ever wonder? How do Amish girls know if its a romantic candle-lit dinner or just a regular dinner?

AGMS00,
@AGMS00@ruby.social avatar

Fancy candle holder is in use.

philpem, (edited ) to random
@philpem@digipres.club avatar

A little casual reverse engineering. I'm taking the chips off one by one and transcribing the tracks underneath onto the PCB scan.
It's a little like how @tubetime does it, but doesn't leave me with a pile of assorted chips...

AGMS00,
@AGMS00@ruby.social avatar

@philpem Will you be doing the cable TV modem box too?

AGMS00,
@AGMS00@ruby.social avatar

@philpem Oops, didn’t look closely enough at the photo to realize it was the smaller board in the cable TV demodulator (good point about it not being a full modem).

If you have the capabilities, would you also be able to dump the ROM there? Somebody is trying to recreate the TV signal to drive the adapter box, perhaps overly ambitiously at https://forums.nabu.ca/viewtopic.php?t=210

AGMS00,
@AGMS00@ruby.social avatar

@philpem Does that somewhere later get accumulated into 8 bits of data feeding directly into the hardware 8x1024 FIFO queue? I assume they have the queue in hardware to keep up with the speed (6 megabits = 600,000 bytes per second).

AGMS00,
@AGMS00@ruby.social avatar

@philpem Quite an ingenious way of randomizing the data - a hardware version of that long chain of shifted bytes with taps at co-prime places to feed back into the start of the shifter. I only knew of that algorithm as a software technique.

So, why did they scramble it? Encryption? Avoiding runs of unchanging bits?

NanoRaptor, to random
@NanoRaptor@bitbang.social avatar

You travel a thousand years into the future to find people there know of you by name, you are a legend known by almost all.

What would be the basis for your fame?

AGMS00,
@AGMS00@ruby.social avatar

@NanoRaptor Inventing , an algorithmic ethical system that only robots find easy to use. They still keep Humans around because they’re worth a few points.

AGMS00, (edited ) to random
@AGMS00@ruby.social avatar

Spent an afternoon working on my ethics for robots advertisement, rather than doing NABU programming. Used DreamStudio as a base for the graphics. Hope it gets accepted by the new Interocitor sci-fi magazine.

https://web.ncf.ca/au829/WeekendReports/20240302/StoryPointsAd.html

mcr314, to random
@mcr314@todon.nl avatar

What's the positive integer that comes before zero?

AGMS00,
@AGMS00@ruby.social avatar

Alex, what is a synonym for an empty set?

  • All
  • Subscribed
  • Moderated
  • Favorites
  • provamag3
  • kavyap
  • DreamBathrooms
  • InstantRegret
  • magazineikmin
  • thenastyranch
  • ngwrru68w68
  • Youngstown
  • everett
  • slotface
  • rosin
  • ethstaker
  • Durango
  • GTA5RPClips
  • megavids
  • cubers
  • modclub
  • mdbf
  • khanakhh
  • vwfavf
  • osvaldo12
  • cisconetworking
  • tester
  • Leos
  • tacticalgear
  • anitta
  • normalnudes
  • JUstTest
  • All magazines