+9640News Posted August 28, 2021 Share Posted August 28, 2021 3 hours ago, InsaneMultitasker said: With many thanks to @9640News , I have been able to track down the GenCFG / CorComp controller card problem. The CorComp floppy controller's DSR EPROM has two banks controlled by CRU bit 11 (base >1100). When the Geneve OS performs its initial powerup, it uses the CRU bit to distinguish between a TI card (one ROM bank) or CorComp card (two ROM banks). Unfortunately for us, the OS does not restore the CRU bit to its default state rendering the DSR ROM header as no longer visible. This error explains why GenCFG cannot identify the CorComp card during its first pass; it might also be a contributor to rompage issues experienced with the CorComp card. The reason the card is detected the second time is because during the first pass, the ramdisk detection routine is triggered (when the DSR header can't be found) and CRU 11 is reset (to zero), making the DSR visible for the next pass. Alas, the ramdisk detection routine also flips other CRU bits rendering the current drive unusable until a reset is performed OR until another drive is accessed. As best I can tell, this segment of code is where the offense is committed and where we need to properly reset the ROM bank during the OS powerup. File: DSRPASS-S NOTMYR MOV @H9FF0,@CTLBAS MOVB @H00+>2000,@CTLTYP SBO 11 ;set to page ROM bank 1 CB @>C000,@HAA+>2000 JEQ PWREX it's a ti card (use 40 track, step setting=2) ** ; The fix: add "SBZ 11" here! ------- I don't want to add this 'fix' to GenCFG so for now, I'll create a 8-12 byte program to reset bit 11. Once the OS is updated, the reset program will be unnecessary. Tim, I added the SBZ 11 immediately after the JEQ PWREX routine to my code for when we release the next update. 4 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted August 28, 2021 Author Share Posted August 28, 2021 23 minutes ago, 9640News said: I added the SBZ 11 immediately after the JEQ PWREX routine to my code for when we release the next update. Perfect. FYI, I checked the boot EPROM and it has the same detection routine but unlike the OS, the SBZ 11 is present. 3 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted August 29, 2021 Author Share Posted August 29, 2021 The GPL speed issue that @mizapf identified in 2019 (or earlier?) has been resolved. The routine was incorrectly bypassing a portion of the pagemap code. I also noticed that GPL was not disabling wait states upon return to the OS, so if you selected and used speed 1, MDOS would run perceptibly slower. Wait states are now disabled within the exit routine. 5 1 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted August 29, 2021 Author Share Posted August 29, 2021 On 8/22/2021 at 9:44 PM, globeron said: MDOS 7.30 GPL and MYGPL use lowercase characters. Parsec does not display the full character. Press tire....to begin. Also GPL shows 2x meteroites on the right top corner when crashing, but MYGPL and GPL650 do not. Furthermore Ships, LIFT, Top, arrow are displayed in blue colour. Gpl650 shows White. The meteorite problem is somehow caused by the 80 column menu. As part of my troubleshooting, I confirmed that PARSEC does not require the BASIC GROMS. My best guess is a v9938 video register, since PARSEC does set all eight 9918 registers when it starts the gameplay. I don't have time to look into the solution right now, so the best course of action is to use the MYGPL files or your GPL 6.50 files if you wish to play the game. As for the text: the TI's small capital letters are 5 pixels high. The true lowercase letters include descenders which increases the height to 6 pixels; PARSEC only displays the bottom 5 pixels of each character so the top pixel is never displayed. The blue color is correct; I do not know why GPL650 shows white as I cannot reproduce that on my system. 3 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted September 3, 2021 Author Share Posted September 3, 2021 Does the 9938 support the ability to query the current register settings for video mode, pattern table, color table, etc? Within native OS mode, so long as one uses the XOPs to set video mode, it is relatively simple to restore the environment (at least when default addressing is used) when switching between modes. In /4A emulation mode (TIMODE) the programmer sets the video registers directly. What I want to do is enable a keypress to activate a routine (for example, a debug routine) that changes the video mode temporarily then restores it to whatever the host program was using. I cannot see a way to do this in /4A mode and would like to be sure I'm not forgetting and/or missing something simple. 2 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted September 5, 2021 Author Share Posted September 5, 2021 Noting a few items for reference: GenCFG is nearing a maintenance release. Speech and floppy controller detection seem to be working. This afternoon I discovered and fixed the RamHD format code so that it consistently clears the FDIR sector >40; failure to do so can inhibit the OS from writing to the root directory. Some enhancements to the floppy partition selections and a partition table copy/restore option depend on item #2. With challenges globeron has experienced recently, I have been doing some further testing of the ramdisk sector IO. The partition and sector boundaries defined by the software appear to be in sync. This afternoon I am running a few Advanced BASIC (Geneve BASIC) programs to check the sector IO routines at the file level and to look for ways to detect hardware failure-induced IO problems. When copying from a hard drive device to a floppy device, the /update/ timestamp is not always preserved. The batch file processor (HCLIS/HBATCHS) is not ignoring the ">" redirection within a REMark statement (and possibly other commands) resulting in a DF 0 or DV80 file creation. (thanks @globeron for noticing and bringing to our attention) 4 Quote Link to comment Share on other sites More sharing options...
globeron Posted September 5, 2021 Share Posted September 5, 2021 Item 1 above i also experienced. Thank you for looking in these items. 2 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted September 12, 2021 Author Share Posted September 12, 2021 While doing some Geneve OS testing I ran across an old unfinished project and its source code. I updated the program to support both compressed and packed files, command-line driven file and output, and reduced its footprint from 54K down to 4K by using OS memory management. The file 'catalog' display doesn't pause so I might try to add a 'more/continuous' option before I release this into the wild. Tested lightly with SCSI, MFM, TIPI, and Ramdisk devices. 7 Quote Link to comment Share on other sites More sharing options...
+TheBF Posted September 13, 2021 Share Posted September 13, 2021 Just curious. Is most of the Geneve code written in Assembler? 1 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted September 13, 2021 Author Share Posted September 13, 2021 53 minutes ago, TheBF said: Just curious. Is most of the Geneve code written in Assembler? The Operating System is written in assembler. Many programs are also written in assembler and although not as prevalent, C is and can be used as well. 1 1 Quote Link to comment Share on other sites More sharing options...
+dhe Posted October 28, 2021 Share Posted October 28, 2021 Any timeline yet on when the source goes in to github and a new HD Image with compile-able MDOS disk will be made available for mame? Quote Link to comment Share on other sites More sharing options...
+9640News Posted October 28, 2021 Share Posted October 28, 2021 Just now, dhe said: Any timeline yet on when the source goes in to github and a new HD Image with compile-able MDOS disk will be made available for mame? Timeline, not yet. I know @InsaneMultitasker is cleaning up some code/comments and has some other priorities he is addressing first. If you have something you want to do with MDOS programming, let us know and we can work something out. Beery Quote Link to comment Share on other sites More sharing options...
+dhe Posted October 28, 2021 Share Posted October 28, 2021 I have the current MDOS and I have it on a working geneve. To be honest, I've forgotten a lot of the command - and how they work, so would like to use it as a trainer. Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted October 30, 2021 Author Share Posted October 30, 2021 Today I (again) noticed that Directory Manager reads all hard drive directories twice : first, to pull the list of directories and files and secondly, to pull the volume name information from the root. I removed the second read operation and discovered the reason for this extra read: the Geneve DSR returns the current subdirectory name as the volume name. I thought this was strange so I used ROMPAGE to check the SCSI and HFDC DSRs via XB: both operate in the same manner as the Geneve DSR. I was expecting the DSRs to return the drive volume name at all times, since the subdirectory is already known. For diskettes with subdirectories, the root volume name is always returned in record 0 of the catalog. Seems to me the volume name should be returned, not the current subdirectory... 5 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted October 31, 2021 Author Share Posted October 31, 2021 Adding a link to TASM 3.41 for future reference and inclusion with some upcoming C source packages. TIC v1.63 is more forgiving with memory allocation to the point Directory Manager won't compile with TIC v1.67, however, the former won't compile "#asm" directives. @9640News did the source to TIC ever become available? Release notes for TIC 1.67: in-line assembly support, bug fixes, and memory allocation changes This is version 1.67 of TIC, the Full-C compiler for the 9640 Geneve. As with previous versions, you will need additional files, some from LGMA Products, some from Clint Pulley, to use this package. I have not included the user manual in this archive, to keep the archive size small. The user manual was included in previous versions and it has not changed substantially. Now, for the recent changes to tic 1.66 and tic 1.67: 1. TIC now supports inline assembly! This non-standard ANSI function has been included by popular request. You can now use the preprocessor functions: #asm . . assembly statements . #endasm in your code, similar to what you could do in c99. For example: int i; main() { int j; #asm LI R5,1234 MOV R5,@I #endasm j = 1234; printf("i %d, j %d\n",i,j); } would display: 1234 1234 2. A bug was fixed in the divide processing. This bug was introduced in 1.66, and was corrected in 1.67. Thanks to Clint Pulley for the bug reports. 3. The +S option was fixed, by removing on the Geneve the "." option in the file naming convention. This was really here for the MSDOS version. During the file name scan, the dot on such commands as: TIC +SDSK5. TEST_C was confusing the compiler to the point where it was creating a file of: DSK5.S Fixed now. 4. The remaining C routines were converted to assembly within TIC for speed. 5. The preprocessor was fixed for the #ifdef and #ifndef statements. These previously were bombing on certain types of statements, e.g.: #ifdef GENEVE while ( *s != 0 && *s != '_' ) #else . . this would generate a syntax error. Has been fixed. 6. Memory allocation - has been grossly modified. Memory is now allocated in 8k pages, to match the Geneve mapper. Memory is now only allocated as needed, previously TIC would grab about 140k of memory whether it needed it or not. Now, TIC grabs at least 16k for smallest compiles, but could allocate up to 184k if needed. Note it is possible to still run out of memory. This version reduces table space available to several allocation routines by a small amount. OK. I hope this version is more successful than 1.64. Sorry for the wait... al beard lgma products 7/15/93 2 Quote Link to comment Share on other sites More sharing options...
+9640News Posted November 1, 2021 Share Posted November 1, 2021 4 hours ago, InsaneMultitasker said: Adding a link to TASM 3.41 for future reference and inclusion with some upcoming C source packages. TIC v1.63 is more forgiving with memory allocation to the point Directory Manager won't compile with TIC v1.67, however, the former won't compile "#asm" directives. @9640News did the source to TIC ever become available? Release notes for TIC 1.67: in-line assembly support, bug fixes, and memory allocation changes Reveal hidden contents This is version 1.67 of TIC, the Full-C compiler for the 9640 Geneve. As with previous versions, you will need additional files, some from LGMA Products, some from Clint Pulley, to use this package. I have not included the user manual in this archive, to keep the archive size small. The user manual was included in previous versions and it has not changed substantially. Now, for the recent changes to tic 1.66 and tic 1.67: 1. TIC now supports inline assembly! This non-standard ANSI function has been included by popular request. You can now use the preprocessor functions: #asm . . assembly statements . #endasm in your code, similar to what you could do in c99. For example: int i; main() { int j; #asm LI R5,1234 MOV R5,@I #endasm j = 1234; printf("i %d, j %d\n",i,j); } would display: 1234 1234 2. A bug was fixed in the divide processing. This bug was introduced in 1.66, and was corrected in 1.67. Thanks to Clint Pulley for the bug reports. 3. The +S option was fixed, by removing on the Geneve the "." option in the file naming convention. This was really here for the MSDOS version. During the file name scan, the dot on such commands as: TIC +SDSK5. TEST_C was confusing the compiler to the point where it was creating a file of: DSK5.S Fixed now. 4. The remaining C routines were converted to assembly within TIC for speed. 5. The preprocessor was fixed for the #ifdef and #ifndef statements. These previously were bombing on certain types of statements, e.g.: #ifdef GENEVE while ( *s != 0 && *s != '_' ) #else . . this would generate a syntax error. Has been fixed. 6. Memory allocation - has been grossly modified. Memory is now allocated in 8k pages, to match the Geneve mapper. Memory is now only allocated as needed, previously TIC would grab about 140k of memory whether it needed it or not. Now, TIC grabs at least 16k for smallest compiles, but could allocate up to 184k if needed. Note it is possible to still run out of memory. This version reduces table space available to several allocation routines by a small amount. OK. I hope this version is more successful than 1.64. Sorry for the wait... al beard lgma products 7/15/93 Ask and ye shall receive. I checked my email history, and going back to 2/19/2004, I have this from Clint Hello Beery, I'm attaching a file, GenSrc.zip, which contains all the source code that I extracted from my Geneve before I shut it down about two years ago. I still have the Geneve but the hard drive was getting touchy back then so I doubt if it would still spin up. The zip file contains 6 directories and each directory contains several files in TI D/V80 format. As I recall, the directories are: bthu - a Breakout-type game which I originally wrote on my Mini-Memory cartridge c99m - c99/MDOS compiler and library source with documentation c99t - (I think) the main support library for the 99/4A version of c99. I'm not sure so I included it anyway. dm - the directory manager misc - the d and du utilities qde - my Quick 'n Dirty Editor Since the files are in D/V80 format I could only look at them with a hex editor. I expect that you have the tools necessary to read the files. PLease let me know how you manage. As I mentioned on the phone, all of my software for the TI-99/4A and Geneve is now freeware, as I announced on January 10, 2000 when I released the Y2K compliant versions of dm and d on ftp.cciw.ca in pub/u001/9640 . The program files are still available on that server if you don't have them. I just found the paper with the information you gave me when you called some time ago. Now that I have high speed access at home I'll have a look at ftp.whtech.com. Take care, Clint clint.pulley@sympatico.ca Beery Miller wrote: > It was good to talk with you this evening. > > When you get the time, I would appreciate anything you can send my way > regarding your C compiler and/or other utilities (directory manager, etc). > > I've been trying the last couple of months to put together "the good > things" that were for the Geneve including programming utilities and > source code and putting it out there on an emulated hard drive image > for anyone to work with, etc. > > I just finished writing the "manual" for the video XOP description, > approximately 75 pages of text that added to Paul Charlton's GenASM > package. > > Anyways, hope all is well. > > Beery Miller > GenSrc.zip 7 2 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted November 1, 2021 Author Share Posted November 1, 2021 49 minutes ago, 9640News said: I checked my email history, and going back to 2/19/2004, I have this from Clint Looks like a good chunk of source, I'll pull it into the folders I have been compiling (no pun intended) for future distribution. I think Al (LGMA) wrote TIC along with TASM? 1 1 Quote Link to comment Share on other sites More sharing options...
+9640News Posted November 1, 2021 Share Posted November 1, 2021 10 hours ago, InsaneMultitasker said: Looks like a good chunk of source, I'll pull it into the folders I have been compiling (no pun intended) for future distribution. I think Al (LGMA) wrote TIC along with TASM? At this point in time, I am not 100% sure. Beery Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted November 2, 2021 Share Posted November 2, 2021 11 hours ago, 9640News said: At this point in time, I am not 100% sure. Beery Al wrote TIC and TASM. Here is a link to his TIC source repository on GITHUB. He put all of his remaining code up there, so if it isn't here, it doesn't exist anymore. . . 4 Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted November 2, 2021 Share Posted November 2, 2021 4 hours ago, Ksarul said: Al wrote TIC and TASM. Here is a link to his TIC source repository on GITHUB. He put all of his remaining code up there, so if it isn't here, it doesn't exist anymore. . . Thank you (and Al) for providing. I will add it to the development resources thread. Also will be looking into the TIC source code, most interesting. 1 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted November 2, 2021 Author Share Posted November 2, 2021 4 hours ago, Ksarul said: Al wrote TIC and TASM. Here is a link to his TIC source repository on GITHUB. He put all of his remaining code up there, so if it isn't here, it doesn't exist anymore. . . Thank you, there is quite a wealth of information in the repository. Alas, the TIC folder is missing files, almost as if the upload to the repository halted after the letter 'D'. 1 Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted November 2, 2021 Share Posted November 2, 2021 (edited) 22 hours ago, InsaneMultitasker said: Thank you, there is quite a wealth of information in the repository. Alas, the TIC folder is missing files, almost as if the upload to the repository halted after the letter 'D'. Maybe @alanbeard can enlighten us. ? He is often on the Zoom call, so we could ask him when he is there next if he does not see this nudge. Sorry, I was mixing @alanbeard up with someone else, I think. We’ll just have to wait for him here, I guess. ...lee Edited November 3, 2021 by Lee Stewart Correction 2 Quote Link to comment Share on other sites More sharing options...
+dhe Posted November 5, 2021 Share Posted November 5, 2021 How many folks on here are using a scsi2sd drive on their geneve? I'm working up to it and trying to create a howto to try to make it easier for others. Quote Link to comment Share on other sites More sharing options...
+mizapf Posted November 5, 2021 Share Posted November 5, 2021 Here, me. 1 Quote Link to comment Share on other sites More sharing options...
+9640News Posted November 5, 2021 Share Posted November 5, 2021 22 minutes ago, dhe said: How many folks on here are using a scsi2sd drive on their geneve? I'm working up to it and trying to create a howto to try to make it easier for others. I've got one. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.