#garfield Logs

Jan 06 2022

#garfield Calendar

03:02 AM rue_mohr: cant sleep
03:11 AM rue_mohr: the rain is about 3 inches deep now, comming down/stacking up fast
04:56 AM Tom_L: snowing here too
05:36 AM rue_bed: power just went out
05:36 AM rue_bed: gnight
05:45 AM rue_bed: .... power is back...
05:45 AM rue_bed: huh
04:40 PM rue_mohr: polprog, that one is blowing up...
04:47 PM polprog: which one
04:56 PM rue_mohr: the captcha one
05:11 PM polprog: haha ye, i made one too a bit of time ago
05:12 PM polprog: i cant find it but i made one that said "select all squars with busses" and there was a PC motherboard in the picture
05:14 PM rue_mohr: :)
05:44 PM rue_mohr: wow, I dont know if I'v ever had like 21 retweets before
05:45 PM rue_mohr: 2162
05:45 PM rue_mohr: 10! wow
06:02 PM polprog: hmm, i got MS-DOS 6.22 and turbo C 3.0
06:02 PM polprog: any exe i run crashes qemu and hangs the real machine
06:02 PM polprog: ideas?
06:03 PM rue_mohr: odd
06:03 PM rue_mohr: does it start with MZ ?
06:03 PM polprog: good q
06:04 PM polprog: let me check, do i have a hex editor here...
06:04 PM rue_mohr: you could also run it in DEBUG
06:04 PM polprog: yeah
06:04 PM rue_mohr: tho I'm no debug expert
06:04 PM polprog: starts with MZ
06:04 PM polprog: i thought you might have used it back in the day ;)
06:06 PM polprog: i need something which will give me access to io ports
06:06 PM rue_mohr: I stepped a bit of stuff
06:06 PM rue_mohr: looooong ago
06:06 PM polprog: i can either write a kernel module or test the first ideas in dos
06:06 PM rue_mohr: want a real exe to try?
06:06 PM rue_mohr: or I guess you have other stuff
06:07 PM polprog: the dos works fine
06:07 PM rue_mohr: did you try int main(void){ return 0; }
06:07 PM rue_mohr: ?
06:07 PM polprog: i cannot start the compiler at all
06:07 PM rue_mohr: remember you need #include <conio.h>
06:07 PM rue_mohr: oh
06:07 PM rue_mohr: bc ?
06:08 PM rue_mohr: the ide?
06:08 PM polprog: yeah
06:12 PM rue_mohr: can you run qbasic?
06:12 PM rue_mohr: edit is a shell of qbasic
06:16 PM polprog: the DOS works, its a known imae, just any exe from turbo c crashes the pc
06:16 PM polprog: or rahter hangs
06:16 PM polprog: anyway, im downloading a diff copy
06:18 PM polprog: hmm, same thing
06:23 PM Tom_L: what you gonna do with turbo C?
06:23 PM Tom_L: i had a couple of those borland programs
06:23 PM Tom_L: C and maybe pascal?
06:24 PM rue_mohr: mmm turbo pascall
06:24 PM rue_mohr: the assembler it generated was amazingly clean
06:24 PM rue_mohr: polprog, I have a copy too
06:24 PM rue_mohr: I could pack the directory if you want
06:25 PM Tom_L: maybe if borland had an os they'd be the dominant os today
06:25 PM polprog: Tom_L: i want to do some chipset programming and i need full access to io ports
06:25 PM polprog: rue_mohr: hmm, that would be great!
06:25 PM polprog: im trying openwatcom now.. they have a github and a 2022 build o_O
06:25 PM Tom_L: dos is your friend then
06:28 PM rue_mohr: :) I did a fully parametric openscad thing! :)
06:29 PM polprog: watcom is too large, wtf
06:37 PM rue_mohr: ?
06:40 PM polprog: 127mb exe on github
06:40 PM rue_mohr: what?
06:40 PM polprog: hmm, i might have to use linux here
06:40 PM rue_mohr: ok, how about I pack my version into a zip
06:40 PM rue_mohr: do you have pkunzip on it?
06:40 PM polprog: https://github.com/open-watcom/open-watcom-v2/releases
06:40 PM polprog: i have pkunzip
06:40 PM rue_mohr: shall I?
06:41 PM rue_mohr: 13M unzipped
06:42 PM rue_mohr: waaaiit, something is wrong...
06:42 PM rue_mohr: 23M unzipped
06:43 PM polprog: im ready
06:43 PM rue_mohr: ... how do I use zip on linux again?
06:43 PM rue_mohr: ..
06:44 PM polprog: zip -u foo.zip <files>
06:44 PM rue_mohr: will that recurse properly and include the directories in the archive?
06:44 PM polprog: i think?
06:46 PM rue_mohr: got it
06:46 PM rue_mohr: 855k zipped
06:46 PM polprog: good
06:47 PM polprog: if it doesnt work, i give up, goto sleep and do it as a linux kernel module tomorrow
06:47 PM rue_mohr: http://ruemohr.org/~ircjunk/not_public_dont_open/bc.zip
06:48 PM * Tom_L doesn't dare go to that directory
06:48 PM rue_mohr: heh
06:48 PM polprog: that structure looks different, it's bc not tc
06:48 PM polprog: lets C
06:49 PM * Tom_L bets he still has it on a floppy somewhere
06:49 PM rue_mohr: run bc.exe
06:50 PM polprog: its copying, this CF card is dead slow
06:50 PM polprog: the thin client has an footprint for sata but i need to transplant it
06:52 PM polprog: meh. system resets
06:52 PM rue_mohr: hu?
06:52 PM rue_mohr: when you run bc?
06:52 PM polprog: just. run bc.exe, display goes dark, reboots
06:52 PM rue_mohr: wow crazy
06:52 PM rue_mohr: there is an incompatability somewhere
06:53 PM polprog: wait
06:53 PM polprog: FUCK
06:53 PM polprog: it works
06:53 PM rue_mohr: ?
06:53 PM polprog: do you know what i did
06:53 PM rue_mohr: no
06:53 PM polprog: i booted dos without my ramdrive autoexec, and probably without himem
06:53 PM polprog: it works!!!!
06:53 PM rue_mohr: yay
06:54 PM rue_mohr: does that mean the other one worked?
06:54 PM rue_mohr: did it open up my last project?
06:54 PM rue_mohr: heh
06:54 PM polprog: HIMEM
06:54 PM polprog: haha yes
06:54 PM polprog: it did :)
06:54 PM rue_mohr: wow, was it the code for the cnc machine?
06:54 PM polprog: do you know if config.sys supports comments?
06:55 PM rue_mohr: rionl maybe?
06:55 PM rue_mohr: cncit?
06:56 PM Tom_L: polprog, use 'REM'
06:56 PM Tom_L: for comments
06:56 PM Tom_L: REMember?
06:57 PM rue_mohr: I dont remember what I would have been working on last
06:57 PM rue_mohr: and that was a snapshot from I_dont_know_when
06:58 PM Tom_L: for specific config sections use [SECTION]
06:59 PM rue_mohr: polprog, keybb is a good one, it modifies the keyboard repeat rate
06:59 PM rue_mohr: its probably there
06:59 PM polprog: the project has two files, ..\..\OUT2.C and ..\..\OUTP.ASM, but they are not in the zip
06:59 PM polprog: rue_mohr: i know, i reverse engineered it already ;)
06:59 PM rue_mohr: oh
06:59 PM rue_mohr: heh
07:00 PM rue_mohr: the junk might be more interesting than the software :)
07:00 PM rue_mohr: hahah
07:02 PM Tom_L: reboot:
07:02 PM Tom_L: assume ds:rom_bios_data
07:02 PM Tom_L: mov bx,rom_bios_data
07:02 PM Tom_L: mov ds,bx
07:02 PM Tom_L: mov ax,0FFFFH
07:02 PM Tom_L: mov reset,ax
07:02 PM Tom_L: jmp BOOT
07:02 PM Tom_L: code_seg ends
07:02 PM Tom_L: end
07:02 PM polprog: ok, good, it works
07:03 PM polprog: lets see if i have a quadword aligned in/out wrappers
07:03 PM rue_mohr: made an exe?
07:03 PM polprog: yeah
07:03 PM rue_mohr: cool
07:03 PM rue_mohr: skel.c there?
07:03 PM polprog: printf("Hello, world! %d\n", sizeof(int));
07:03 PM polprog: 2
07:03 PM polprog: lets see
07:04 PM rue_mohr: I was just starting to organize my files when that snapshot was taken
07:04 PM polprog: i have a CMON.C
07:04 PM rue_mohr: no
07:06 PM Tom_L: what are you wanting to to with this?
07:06 PM polprog: i want to write a program that writes to some io registers
07:08 PM polprog: cmon.c 19.06.1997
07:09 PM polprog: printf("USE bla Com#, [Ssend file] [Rrecieve file] [Eexecute command]");
07:09 PM polprog: :D
07:10 PM Tom_L: hahaha
07:11 PM Tom_L: where's a paste site?
07:11 PM Tom_L: mine seems broke right now
07:12 PM Tom_L: https://pastebin.com/r3vvs0z9
07:12 PM Tom_L: rue_mohr, look familiar?
07:13 PM rue_mohr: no...
07:13 PM Tom_L: well it's your doing
07:14 PM rue_mohr: I see..
07:16 PM rue_mohr: oh it...
07:16 PM rue_mohr: it reads a block of memory on the machine
07:16 PM rue_mohr: like an extension rom
07:17 PM rue_mohr: do you have a date on that?
07:17 PM polprog: "undefined symbol eax" :D
07:17 PM rue_mohr: 2001?
07:17 PM rue_mohr: polprog, what?
07:17 PM rue_mohr: inline asm?
07:17 PM polprog: ok, so this compiler does not support 32 bit registers ;x who could have thought
07:18 PM Tom_L: 2008
07:18 PM rue_mohr: ... I'm sure it does
07:18 PM polprog: yeah, and you know? the syntax is not idiotic like in GCC
07:18 PM rue_mohr: there might be a 16/32 bit flag in the config
07:18 PM Tom_L: 11/13/2008
07:18 PM rue_mohr: I probably have it set to 16
07:19 PM polprog: ooh ill check that
07:19 PM rue_mohr: we used to do 32 bit 386 stuff all the time
07:19 PM Tom_L: hah chat2html.c
07:20 PM rue_mohr: heh
07:20 PM rue_mohr: I wonder if I can get tobbor up again one day
07:20 PM polprog: says instruction set 80386
07:20 PM rue_mohr: or I could just start again without all the modules
07:20 PM Tom_L: not unless you try
07:20 PM rue_mohr: time time
07:20 PM rue_mohr: the idea of the logs was to use them for AI training
07:20 PM rue_mohr: I should get you to send me the data one day
07:21 PM Tom_L: i thought i did
07:21 PM rue_mohr: I think I pulled one update since tobbor stopped
07:21 PM rue_mohr: stupid auth junk
07:22 PM Tom_L: #include "stdio.h"
07:22 PM Tom_L: char word[80];
07:22 PM Tom_L: static double number = 1;
07:22 PM Tom_L: int length;
07:22 PM Tom_L: main()
07:22 PM Tom_L: {
07:22 PM Tom_L: printf("Enter word: ");
07:22 PM Tom_L: gets(word);
07:22 PM Tom_L: length = strlen(word);
07:22 PM Tom_L: permute(0);
07:22 PM Tom_L: printf("\nNumber of solutions: ");
07:22 PM Tom_L: printf("%.0f ",number);
07:22 PM Tom_L: }
07:22 PM Tom_L: permute(startperm)
07:22 PM Tom_L: int startperm;
07:22 PM Tom_L: {
07:22 PM Tom_L: int j;
07:22 PM Tom_L: static int count = 0;
07:22 PM Tom_L: if ( length-startperm < 2)
07:22 PM Tom_L: return;
07:22 PM Tom_L: for(j=startperm; j<length-1; j++)
07:23 PM Tom_L: {
07:23 PM Tom_L: permute(startperm+1);
07:23 PM Tom_L: rotate(startperm);
07:23 PM Tom_L: printf("%s ",word);
07:23 PM Tom_L: number++;
07:23 PM Tom_L: count = count + length + 1;
07:23 PM Tom_L: if(count > 78)
07:23 PM Tom_L: {
07:23 PM Tom_L: printf("\n");
07:23 PM Tom_L: count = 0;
07:23 PM Tom_L: }
07:23 PM Tom_L: if( (count + length + 1) > 78)
07:23 PM Tom_L: {
07:23 PM Tom_L: printf("\n");
07:23 PM Tom_L: count = 0;
07:23 PM Tom_L: }
07:23 PM Tom_L: }
07:23 PM Tom_L: permute(startperm+1);
07:23 PM Tom_L: rotate(startperm);
07:23 PM Tom_L: }
07:23 PM Tom_L: rotate(startrot)
07:23 PM Tom_L: int startrot;
07:23 PM Tom_L: {
07:23 PM Tom_L: int j;
07:23 PM Tom_L: char ch;
07:23 PM Tom_L: ch = word[startrot];
07:23 PM Tom_L: for (j=startrot; j<length -1; j++)
07:23 PM Tom_L: word[j] = word[j + 1];
07:24 PM Tom_L: word[length -1] = ch;
07:24 PM Tom_L: }
07:24 PM Tom_L: anagram
07:25 PM rue_mohr: looks like it, ok
08:12 PM rue_mohr: polprog, one or more of the asm files there must use eax
08:13 PM rue_mohr: maybe it needs to be EAX ?
08:15 PM polprog: Hmm
08:16 PM rue_mohr: you CAN also include an asm or object file in the project
08:20 PM polprog: Nope, not that
08:20 PM polprog: The assembler just gives up
08:20 PM polprog: I would have to switch to 32 bit mode too
08:20 PM polprog: Ill just use the kernel module for that :)
08:20 PM polprog: But im glad i got bc working, damn it is a nice IDE
08:51 PM rue_mohr: oh
08:51 PM rue_mohr: maybe use used to load the value in EX and shift it right 16 places
08:52 PM rue_mohr: oh, maybe we used djgpp
09:55 PM rue_mohr: here tom
09:57 PM rue_mohr: http://ruemohr.org/~ircjunk/tempimage/google-captvbn.png
09:57 PM rue_mohr: twitter loves it, you might get a laugh too :)
09:57 PM Tom_L: haha
09:57 PM rue_mohr: :)
10:02 PM rue_mohr: wow, almost 300 likes and 63 retweets, it liked that one..
10:25 PM aandrew: rue_mohr: lol
10:25 PM rue_mohr: hah you dont check up on twitter often enough
10:26 PM rue_mohr: its got like 300 likes and more than 60 retweets, which is CRAZY for a post from me
10:32 PM aandrew: well it is really good
10:39 PM rue_mohr: :)
10:40 PM rue_mohr: I dont know how many times that task has been part of a project for me
10:40 PM rue_mohr: strange values, going thru bins of pcbs trying to find one
10:41 PM rue_mohr: if I do something like that again, I'll make sure to put it in japaneese too!