Jump to content

Michael Rittweger

New Members
  • Content Count

  • Joined

  • Last visited

Community Reputation

40 Excellent

About Michael Rittweger

  • Rank
    Space Invader
  • Birthday 03/20/1966

Profile Information

  • Gender
  • Location
    Kiel, Germany

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. It is fully ok to edit the structure outside the emulation. In fact I did have used your tool already, but used it for chd creation only or so. (Not sure, actual chd might be a result from the imgtool of the MAME package.) I have to admit that I was a bit stuck to TI99Dir while jogging disk images in and out. Unf. that tool exits with a runtime error on some dsk images and I didn't see a way to use chd images yet. I still like the "Norton Commander" like two filelist view, though... But I have totally overlooked the file manipulation possibilites of your tool, I'm afraid. I just had a quick peek at it and it seems to go in the right direction. Thanks for not only the warning but the explanation, too. I just read that warning in the ReadMe of the MDM5 and now I know what it is about. Yep, I will be using the dsk and chd (DSK1 and WDS1) on the TI99/4a side only. I have absolutely no experience with the Geneve and am right now struggling enough to resemble my 80s knowledge of that 4a machine. Later on I definitely will have a look at cards I don't know yet and the Geneve is one of them, of course, too. Michael
  2. Hi, all! I wanted to start using an hdd image (chd for MAME) as kind of backup / archive collection of files I create on the disk (dsk) images. But I'm stuck on the very first step: How do I create a subdir? I can't (and don't want to even if I could) store everything into the root dir. I did see a few references to something like WDS1.SUB.DIR.FILE, but how do I create SUB at WDS1 root? Michael
  3. Hi, all! I remember a little game called (german) "Eimerkette". It was published as BASIC source in one of the home computer magazines. I might be wrong, but it could have been "Happy Computer". It was a bit like a "Go" game. You have to fill up buckets until they swallow their content to the bucktes in the neighborhood. Is there any chance to get that listing / program downloaded off of any disk floating around? Michael
  4. Two days... Two days! Yikes! I implemented a Bresenham algorithm as part of a (starting) library of bitmap subroutines in Assembler. That d**n thing drove me crazy. Either it drew 2 pixels and stopped or drew one pixel to the left where it should head right and all other sorts of effect, including overwriting part of the color table. It was a relatively simple C program (Wikipedia, last example) to be converted, really. And I read it row by row comparing with my Assembler translation, over and over. I didn't see any error. Then suddenly yesterday evening... JLE is not "jump less / equal"!!! And... Exactly this is stated in the E/A manual, too, as an extra hint! *facepalm* Using JLT and JEQ in 2 consecutive lines did the job. Michael
  5. Just an idea how to prevent any problems with "escape" characters or how you'd like to name any of those characters outside of the "normal" character set (32..95 or max. 32..127): A german TV station (WDR - Westdeutscher Rundfunk) transmitted software in the 80s by a scanline of the TV signal outside of the visible area (like "VideoText" is transmitted, too). To prevent problems with "special" characters they used a translation they called "sixeln" (derived from the number "six"). It was quite easy: Let's assume 3 bytes of data: >F3, >41, >07 This is in binary notation: XXXXooXX, oXoooooX, oooooXXX Now cut this line of 3*8 = 24 bit into 4 parts of 6 bit each: XXXXoo, XXoXoo, oooXoo, oooXXX interpret every 6 bit as a new byte of 8 bit (left padded with zero) and add 32 to each value: ooXXXXoo = >3C, +32 = >5C ooXXoXoo = >34, +32 = >54 oooooXoo = >40, +32 = >60 oooooXXX = >07, +32 = >27 Now you have a sequence of 4 Bytes instead of 3, but every byte has a value in the range of 32..92 and will not collide with any restrictions. And decoding is as easy as encoding. Just my $0.02 Michael
  6. Calls itself, yes, but an exit from recursion is not mandatory, although always makes sense. See the dictionary entry: recursion: see recursion The exit from a recursion is only needed, because resources don't allow endless recursion loops. But a fractal (Mandelbrot) graphics for example could be rendered endlessly. You just limit the recursions programmatically, because a) the display can't show smaller details than a pixel and b) the return stack would grow endlessly but not having endless RAM to store it. Thus 100 A=0 110 GOSUB 200 120 END 200 A=A+1 220 GOSUB 200 would be a legitimate recursion, although 100 A=0 110 GOSUB 200 120 END 200 A=A+1 210 IF A>50 THEN 230 220 GOSUB 200 230 RETURN makes much more sense and would not, like the first one, result in a stack overflow / out of memory error. Michael
  7. I'd like to have a peb again, to get started. ;-) I had to dump my peb roughly 2005 when I realized that the hole thing became rusty all over after 15 or so years in the basement. But as far as I can see: Nobody is selling a peb these days. Or is there any source I have overlooked? Michael
  8. Does it have a -joyport and / or does it support -cass1 / -cass2? I'll have to extend the exceptions on those one, too, if not. Michael
  9. Hi, all! Ok, I managed to get the Geneve up and running from the IDE, although I have absolutely no idea what I may type in at that prompt. But anyhow... I added the "memex" to the comboboxes. But there is no ROM file for them, isn't it? Well, the Geneve starts up, so why bother? I made something I really don't like: I coded a few (well, a few more...) exceptions to deal with the Geneve. So, if "geneve" is selected as machine the syntax is a bit different for the whole ioport thingy. I will have to change that ugly hardcoded behaviour some time. I found an unexpected behaviour (wouldn't call it a bug) with the various text fields: If you want to "clear" them, they filled up on next startup again. This was a security branch in the "load settings" routine, that prevented overwriting of values with empty ones, which resulted in default values showing up. I disabled that behaviour. I still have no idea how to implement additional options for e.g. the TIRS232 in an ergonomic way at the IDE tab page. But: I have added an extra "options" textbox on the MAME tab page where you can store those options. That'd be the place for the "-debug" or whatever. A new setup zip is online: Michael
  10. I would, if I would... ;-) I'm only using hfdc as the single controller for floppies and hard drives in my setup. The problem I meant is another one, solely created by me. ;-) The IDE collects the info the for peb slots one after another. After that it scans from 2 to 8 if the inserted card, if any, is a hdc. If yes the slot is kept as device for the following -ioport:peb:slot<x>:<ctrl>:h<y> options. The same is done for the fdc part. That's what I meant: If you put a fdc/hdc combo like the hfdc into slot 6 and another pure fdc like the tifdc into slot 8, then the hdc in slot 6 will be used, because there is no other one, but the fdc in slot8 overrides the one in slot 6. Thus it would result in -ioport:peb:slot6:hfdc:h1 generic -ioport:peb:slot8:tifdc:f1 525dd for example. There is currently no way to use the fdc of the slot 6 hfdc in this configuration. If the hfdc is in slot 8 and the tifdc in slot 6, then both fdc and hdc would be used from slot 8. Pull out the card in slot 6, it's useless in that configuration. And that's what I did. ;-) Michael
  11. Hmmm... There is no "-ioport peb" with the Geneve, too? That rises another problem... Michael
  12. Yep, you're absolutely right with that. As of now the ComboBoxes have a "hard coded" list for their lookups. Later on I would like to have them dynamically filled. So, if you place any ROM or catridge files into the appropriate folders the list would show them up autmatically. But right now I will (just) have to add the entries manually. That's a 5 minute task, indeed. On the other hand... You should be able to manually type in the machine name (or the card name for the peb) into the text field of the ComboBox and that should be saved in the settings then, too. I just tried... Hmmm... There's another (small) problem. The Geneve doesn't know about the -gromport. But de-selecting that one and the cartidge doesn't help: Some line in the code seems to put ExBasic into the cartridge option, even without an actice gromport, and that leads to an error message (at least with MAME) again. I'll check that asap. Are you using the -debug option all the time? I'd suggest to set it in the mame.ini then, until... I will add a textbox to enter additional options for the emulator. (That might help for the next paragraph, too.) What might be a bit more of a task will be the RS232 settings... I'm not quite comfortable with the way I collect the settings for the peb and their slots. I would love to see that more dynamically. Right now it is very static as you can set options for "a" (yes, not "the") f/hdc. The most important drawback as of now: You can only use _one_ controller, kind of. Specifying a fdd in slot 6 and slot 8 will only use slot 8 then. hfdc in slot 6 and tifdc in slot 8 would result in using the fdc from slot 8 and the hdc in slot 6. I'm not sure how I will add options for other cards, like the RS232, right now. I'll have to have a closer look at that tab page after some other, minor changes and extensions. Michael
  13. Seems so... I tried a while to get this d**n thing working, but to no avail. I searched for alternatives and after 3 other attempts I stumbled over "Visual Studio Installer". That one at least produced usable output. I had to change / extend the original project a bit, but then... a setup.exe and a setup.msi came out! You need both of them and so I combined 'em in a "TI xdt99 IDE.zip" file. And the zip for download is found directly from the root in the "Setup" folder. Not using .exe as file extension for the download has some other benefits, too. Although an option "remove previous versions" (internally) is checked it refuses to install over an existing version. You'd have to uninstall via Windows. But hey... Michael
  14. Argh... My first attempt with that "ClickOnce" installer and after getting your response I found: stackoverflow.com: will clickonce be ported to net core 3 as well as winforms That at least sounds as if this could be the problem. I'll have to dig even deeper, but I will have to search for an alternative installer, too, I'm afraid. Michael
  • Create New...