{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":714464845,"defaultBranch":"master","name":"vms-halls-of-zk","ownerLogin":"jhamby","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2023-11-04T23:23:04.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/8674840?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1699225427.0","currentOid":""},"activityList":{"items":[{"before":"c9a8cc1de60ada02c9bd1ba70e57ba2f5b071179","after":"b39299ddb8fa3657877d5677ae3ad3269a20021c","ref":"refs/heads/jhamby/modernize","pushedAt":"2023-11-09T19:11:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jhamby","name":"Jake Hamby","path":"/jhamby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8674840?s=80&v=4"},"commit":{"message":"Update to use OS-provided system routine bindings.\n\nModify the rest of the game to use OS-provided system routine bindings\ninstead of local ones. Hopefully I didn't break anything.","shortMessageHtmlLink":"Update to use OS-provided system routine bindings."}},{"before":"89bb45573f76a1db0f03704b559009e35d9aeb1c","after":"c9a8cc1de60ada02c9bd1ba70e57ba2f5b071179","ref":"refs/heads/jhamby/modernize","pushedAt":"2023-11-09T04:23:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jhamby","name":"Jake Hamby","path":"/jhamby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8674840?s=80&v=4"},"commit":{"message":"Replace obsolete smg$ function with documented one.\n\nChange calls of obsolete smg$put_with_scroll to use smg$put_line\ninstead. Also deleted a workaround for VMS V4.0/4.1 SMG bugs.\nIf you want to run very old VAX/VMS, you can upgrade to V4.7.","shortMessageHtmlLink":"Replace obsolete smg$ function with documented one."}},{"before":"552f2395a4927af00c620debaa76bd96e515ed9f","after":"89bb45573f76a1db0f03704b559009e35d9aeb1c","ref":"refs/heads/jhamby/modernize","pushedAt":"2023-11-09T04:12:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jhamby","name":"Jake Hamby","path":"/jhamby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8674840?s=80&v=4"},"commit":{"message":"Changes to remove Bliss/MACRO varargs hack.\n\nIn order to remove the Bliss/MACRO varargs hack that passed the VAX ap register\ndirectly from the Pascal callers to the Pascal message printing functions, we\nhave to copy the $faol arguments into a small temp array to process them.\nTaking the Address() of the arguments directly gives random results where\n$faol prints the message string with random values or nothing for the params.\n\nIt was also necessary to copy the message string into a varying array of char\nbefore passing it to $faol, because passing its Address() also doesn't work.\n\nUpdated ifcrtl_screen.pas to use system Pascal bindings instead of its own.\nI'm going to update the rest of the game, but this file needed the most work.","shortMessageHtmlLink":"Changes to remove Bliss/MACRO varargs hack."}},{"before":"957330adc197a52e23686e2b7d7bec9174074508","after":"4d9fae6d9c6521fc1ae0b068936384cce2849a4a","ref":"refs/heads/master","pushedAt":"2023-11-06T01:44:35.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jhamby","name":"Jake Hamby","path":"/jhamby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8674840?s=80&v=4"},"commit":{"message":"Merge pull request #1 from jhamby/jhamby/modernize\n\nUse Pascal RANDOM and not MTH$RANDOM.","shortMessageHtmlLink":"Merge pull request #1 from jhamby/jhamby/modernize"}},{"before":"957330adc197a52e23686e2b7d7bec9174074508","after":"552f2395a4927af00c620debaa76bd96e515ed9f","ref":"refs/heads/jhamby/modernize","pushedAt":"2023-11-06T01:43:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jhamby","name":"Jake Hamby","path":"/jhamby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8674840?s=80&v=4"},"commit":{"message":"Use Pascal RANDOM and not MTH$RANDOM.\n\nThe no-longer-documented MTH$RANDOM returns its result in VAX FP format.\nThe game gives array index exceptions because it's expecting IEEE values\n(on non-VAX).\n\nChanged to use Pascal's RANDOM function, which returns the same range.","shortMessageHtmlLink":"Use Pascal RANDOM and not MTH$RANDOM."}},{"before":null,"after":"957330adc197a52e23686e2b7d7bec9174074508","ref":"refs/heads/jhamby/modernize","pushedAt":"2023-11-05T23:03:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jhamby","name":"Jake Hamby","path":"/jhamby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8674840?s=80&v=4"},"commit":{"message":"Fix crash on game save/restore (uninitialized var).\n\nInitialize the card_ptr field in the context record so that the game\ncan save its state without getting an ACCVIO in write_context_record.","shortMessageHtmlLink":"Fix crash on game save/restore (uninitialized var)."}},{"before":"29db0bcd864d03c698de3b0a043c93dcad2d99f0","after":"957330adc197a52e23686e2b7d7bec9174074508","ref":"refs/heads/master","pushedAt":"2023-11-05T21:07:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jhamby","name":"Jake Hamby","path":"/jhamby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8674840?s=80&v=4"},"commit":{"message":"Fix crash on game save/restore (uninitialized var).\n\nInitialize the card_ptr field in the context record so that the game\ncan save its state without getting an ACCVIO in write_context_record.","shortMessageHtmlLink":"Fix crash on game save/restore (uninitialized var)."}},{"before":"f8ca92d73f787ab345e6e22dc3d89b4d236f881a","after":"29db0bcd864d03c698de3b0a043c93dcad2d99f0","ref":"refs/heads/master","pushedAt":"2023-11-05T19:25:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jhamby","name":"Jake Hamby","path":"/jhamby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8674840?s=80&v=4"},"commit":{"message":"Reduce MAX_ARGS count to the max args used.\n\nFor the arg pointer wrappers now in ifc/ifcrtl_macro.mar, we need to\ncopy up to 9 args for ifc$message (read_start_record in zk/zkinit.pas),\nand up to 7 args for ifc$message_indent (zk$print_ast in zk/zkast.pas).\n\nSave a few clock cycles and memory copies by reducing MAX_ARG from 10.","shortMessageHtmlLink":"Reduce MAX_ARGS count to the max args used."}},{"before":"959292ca78d73bbb55865517a52f8ca6aca13829","after":"f8ca92d73f787ab345e6e22dc3d89b4d236f881a","ref":"refs/heads/master","pushedAt":"2023-11-05T17:37:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jhamby","name":"Jake Hamby","path":"/jhamby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8674840?s=80&v=4"},"commit":{"message":"Workaround for Pascal x86 [truncate] code gen bug.\n\nThe VSI Pascal compiler on x86 is generating bad code when default params\nare used. This was causing some game messages not to print because of\nembedded blank lines (a pair of 0 params in the ifc$message call) causing\nput_scroll_dx to be called with no arguments, which was stopping the\nrest of the message from being printed.\n\nI reproduced the bad behavior with a standalone Pascal test program that\nchecks the presence of its parameters and prints them if present. It\nbehaves correctly when compiled with \"/NoOpt\" but crashes with the\ndefault optimization level. I've reported this issue on the VSI Forum.\n\nAs a workaround, commented out the \"[truncate]\" modifier on all three\nparameters, and passed default params in the one location where it was\nbeing called with no arguments (the case that was failing). This fixes\nthe game text.","shortMessageHtmlLink":"Workaround for Pascal x86 [truncate] code gen bug."}},{"before":"d22be1d7e56c2970c80a3e33c01c6e6f24d45a03","after":"959292ca78d73bbb55865517a52f8ca6aca13829","ref":"refs/heads/master","pushedAt":"2023-11-05T17:27:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jhamby","name":"Jake Hamby","path":"/jhamby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8674840?s=80&v=4"},"commit":{"message":"Revert change to $message parameters.\n\nMy workaround to get messages printing by removing pairs of 0, 0 params\nwasn't correct. The code is supposed to print a blank line when it sees those.\nThe reason it's failing on x86 is due to a VSI Pascal compiler bug with\ndefault parameters causing bad behavior at the default optimization level.\n\nI'm going to try to work around the bug by modifying function put_scroll_dx\nto not use \"[truncate]\".","shortMessageHtmlLink":"Revert change to $message parameters."}},{"before":"c44400ab0b07bc285d690b3a3e23edb86315f40b","after":"d22be1d7e56c2970c80a3e33c01c6e6f24d45a03","ref":"refs/heads/master","pushedAt":"2023-11-05T06:24:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jhamby","name":"Jake Hamby","path":"/jhamby","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8674840?s=80&v=4"},"commit":{"message":"Fixes to build and play on VMS x86 without BLISS.\n\nAdd a MACRO-32 version of the variable-argument-list wrapper that was\noriginally written in MACRO-32 and then converted to BLISS, presumably\nfor portability. Unfortunately, the x86 version of the BLISS compiler\nisn't ready yet, and it's just as efficient to have MACRO-32 generate\nthe argument list from the register params, especially since there can\nbe so many of them (up to 9 for ifc$message or 7 for ifc$message_indent).\n\nBesides this change, there was a bug in reading objects, like the sign\nin the first room, or the ASCII table in the second room, because the\ncall to ifc$message() had some extra \"0, 0\" parameters for some reason.\nThis caused it to print \"The sign reads:\" but then nothing after that.\n\nWith these diffs, the game should now build and play on OpenVMS V9.2-1.","shortMessageHtmlLink":"Fixes to build and play on VMS x86 without BLISS."}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADq5owcgA","startCursor":null,"endCursor":null}},"title":"Activity ยท jhamby/vms-halls-of-zk"}