Jump to content
IGNORED

Compiling a new Atari OS...


reifsnyderb

Recommended Posts

I decided to finish up OS 6.1 today. 

 

Summary of changes from OS3 are:

 

Fix MAXDEV, problems resulting from CRASS65 version,
  initial address for RAM sizing, "Boot Error" message,
  initial address for cartridge equivalence checksum,
  mishandling of SIO NAK, and initializing of CHKSUM.
     R. K. Nordin    03/27/84    
Merged from Revision 3, Version 2 (600XL/800XL/1450XLD)                                                                        
  Dedicate PDVI ($D1FF) to external parallel device IRQ status
  Dedicate IPDVI ($D1CF) to internal parallel device IRQ status                                                                        
  Using PDIMSK ($0249) for external parallel device IRQ selection mask
  Using IPDIMK ($0254) for internal parallel device IRQ selection mask                                                            
  After masking (PDVI, PDIMSK) & (IPDVI, IPDIMK), OR the result
    together, prior to processing parallel device IRQ                                                    
On cold start, initialize PDVI = 0, to avoid potential
  checksum error.
    Y. T. JANG, V. WU    02/22/84
Merged from Revision 3, Version 3  (600XL/800XL/1450XLD)
  Dedicate the 11 bytes at ACMVAR ($3ED-$3F7) for use as
    a RESET routine area.  On warmstart, the OS will JSR
    to ACMVAR immediately after initializing hardware.
      MIKE BARALL        06/08/84
Merged from Revision 3, Version 4  (600XL/800XL/1450XLD)
  Make CIO accept device number 0 (like Rev B did).
    MIKE BARALL        06/21/84
Merged from Revision 4, Version 0 (600XL/800XL/1450XLD)
  In PBK, change DEC BRKKEY to STA BRKKEY.
    Mike Barall 07/24/84            
Changes by Brian E. Reifsnyder
  Shift-Control-Delete cold starts the computer.            
  Control-Help sets left screen margin to 0.
  Processing of Control F1 through Control F4 no longer affects PORTB.
  Left margin set to 0.
  Reduced KRPDEL from 48 to 20 for NTSC and from 40 to 20 for PAL.
  Reduced KEYREP from 6 to 4 for NTSC and from 5 to 4 for PAL.
  Cleaned up and reorganized KIR.
  Re-added F1-F4 keys to the keyboard self test.
  Re-wrote the majority of the self test to conserve space.                
Added a built-in CX85 numeric keypad handler for joystick port 2.  
  Shift-Control-3 (#) to toggle on/off.
Atari BASIC version now displayed on self test screen.
Self test now displays which bit(s) failed the memory test.
Video type displayed on self test screen.
Patched with Fast Math F+ floating point package.

Moved Self-test, Part 3, into self-test bank.
ROM Checksum now only checked during self test.
Move power-up validation byte PUPBT1 to $026A
Reduced SIO command retries (CRETRY/CRETRI) to 4 to reduce boot time
Removed LNBUG compiler directives.
Removed RANSYS compiler directives.
Removed ACMI compiler directives.
Patched with Highspeed SIO patch V 1.33 (2023 version).
  SHIFT-CONTROL-S Clears SIO speed table/enables highspeed SIO
  SHIFT-CONTROL-N Disables highspeed SIO
  SHIFT-CONTROL-H Enables highspeed SIO
Locations of SIO and KIR are now fixed so as to work properly with Highspeed SIO patch.
Clear self test screen RAM prior to use.
Boot with SELECT key down to disable Highspeed SIO.

 

 

The two changes from OS 6.1 Alpha are:

  Clear self test screen RAM prior to use.
  Boot with SELECT key down to disable Highspeed SIO.

 

I decided to add the ability to boot and disable the HIghspeed SIO so as to ensure compatibility with software that will not run off of floppy disks with HIghspeed SIO.  (Flight Simulator II is one of these programs.)

 

Atari_OS_61_source.zip

OS61_ROM.zip

 

This has been tested on real hardware.   🙂

 

 

 

 

Edited by reifsnyderb
  • Like 8
  • Thanks 2
Link to comment
Share on other sites

select key being held down conflicts w/ MIO setup... chicken or the egg, who gets there first?

shift control h could just be a toggle for high speed on / off

bypass on boot could just be holding shift or control during boot maybe, if not used by sdx or something else.

Edited by _The Doctor__
Link to comment
Share on other sites

3 minutes ago, _The Doctor__ said:

select key being held down conflicts w/ MIO setup... chicken or the egg, who gets there first?

I was afraid there would be a conflict with something.  But if the MIO detects the select key is held down, and enters setup, will it be a problem to enter the setup with the high speed SIO disabled?  Normal, low speed SIO will work.

Edited by reifsnyderb
Link to comment
Share on other sites

You will be in MIO setup every time you want to boot without hsio.. select at reset or power on takes you into MIO setup.

option is typically for cartridge control

start for cassette

and so on

I though I did a run down of all the keys in use previously for all devices and carts etc.

Edited by _The Doctor__
Link to comment
Share on other sites

1 minute ago, _The Doctor__ said:

You will be in MIO setup every time you want to boot without hsio

Good point.  I didn't think that answer through very well, did I?   😞    Are there many MIOs in the wild?

Edited by reifsnyderb
Link to comment
Share on other sites

a crap ton, it was a major legacy device and had a remake issued not that many years ago as well ... Ken Jones MIO/ICD MIO remade

it's got representation in altirra as well so you can have an idea what it's up to.

MIO and Black Box were THE pbi devices to have bitd

Edited by _The Doctor__
Link to comment
Share on other sites

8 minutes ago, _The Doctor__ said:

You will be in MIO setup every time you want to boot without hsio.. select at reset or power on takes you into MIO setup.

option is typically for cartridge control

start for cassette

and so on

I though I did a run down of all the keys in use previously for all devices and carts etc.

Do you have a list available?

Link to comment
Share on other sites

might even probably be in one of your threads? with others chiming in.

I wouldn't know where the last list made would be anymore

but it's been done a few times as different devices and os's have come along, like MyBIOS etc.

some creative ways were made to allow more than on thing to use a key based on time held as well

quick did one held did another. and of course the multiple keys held like your doing for some.

MIO reacts to select not matter what I think, I can double check...

And I remembered correctly it responds to select no matter the combination

Edited by _The Doctor__
Link to comment
Share on other sites

6 minutes ago, _The Doctor__ said:

might even probably be in one of your threads? with others chiming in.

I wouldn't know where the last list made would be anymore

but it's been done a few times as different devices and os's have come along, like MyBIOS etc.

some creative ways were made to allow more than on thing to use a key based on time held as well

quick did one held did another. and of course the multiple keys held like your doing for some.

MIO reacts to select not matter what I think, I can double check...

I am not sure what keys are left. 

 

Option -- BASIC

Select -- MIO & Disable High Speed SIO on OS 6.1

Start -- Cassette boot

Shift -- XEP-80 to boot in 40 column mode.

 

There really needs to be some sort of system like a BIOS config.....

  • Like 1
Link to comment
Share on other sites

3 hours ago, Mathy said:

Hello Brian

 

If the OS can detect the presence of the MIO, you could for instance display a short message asking the user what (s)he wants, "no high speed" or "MIO set up".

 

Sincerely

 

Mathy

 

 

I don't have enough space to add too much more.  Right now, there is roughly 400 bytes left.  I am thinking it can be used for that Atari wozmon port, once the source code is available.  It's either that or a printer spooler.  I think that in 1985 an OS-based printer spooler would have been awesome on the XL's. 

 

 

 

 

Edited by reifsnyderb
Link to comment
Share on other sites

7 hours ago, reifsnyderb said:

I am not sure what keys are left. 

 

Option -- BASIC

Select -- MIO & Disable High Speed SIO on OS 6.1

Start -- Cassette boot

Shift -- XEP-80 to boot in 40 column mode.

 

There really needs to be some sort of system like a BIOS config.....

The Help key is also used to call up config screen for U1MB

Is there no way to detect when two of option keys are pressed at the same time during startup? Or any other keyboard keys like control?

 

 

Edited by scorpio_ny
Link to comment
Share on other sites

11 minutes ago, scorpio_ny said:

The Help key is also used to call up config screen for U1MB

Is there no way to detect when two of option keys are pressed at the same time during startup? Or any other keyboard keys like control?

 

 

In the OS, it's possible to see if more than one key is pressed at once.  However, the big question would be how is everything else handling the key presses.

i.e.  If MIO is checking to see if Select is pressed, how is MIO checking the other keys?

 

Ideally, another key should be checked....

 

 

 

 

Link to comment
Share on other sites

1 hour ago, scorpio_ny said:

The Help key is also used to call up config screen for U1MB

Is there no way to detect when two of option keys are pressed at the same time during startup? Or any other keyboard keys like control?

 

the Help key is also used by the Supra/KP HD Interface to use disk 2 as disk 1 if held down at boot time.

 

Ken

 

Link to comment
Share on other sites

54 minutes ago, reifsnyderb said:

In the OS, it's possible to see if more than one key is pressed at once.  However, the big question would be how is everything else handling the key presses.

i.e.  If MIO is checking to see if Select is pressed, how is MIO checking the other keys?

 

Ideally, another key should be checked....

MIO just tests the console keys, no others.

 

Ken

 

Link to comment
Share on other sites

4 hours ago, kheller2 said:

Use Control or space bar or atari/inverse video for high speed?  Or follow your own pattern, with N

That's an option.  I'll have to do something to ensure that if the N key is held down, at boot, that the character buffer isn't loaded with the "N" later on.

Link to comment
Share on other sites

On 8/8/2023 at 4:35 AM, scorpio_ny said:

The Help key is also used to call up config screen for U1MB

There's an option in the setup menu to use START instead for that function. The other U1MB hotkeys (used in conjunction with RESET, and all activated or deactivated via the setup menu) are:

  • SHIFT (re-read HDD partition table)
  • SELECT (coldstart the OS)

There are some addiitonal hotkeys commonly used at cold power-up or while the boot logo is displayed:

  • 1-4 (switch to config profile 1-4, in the forthcoming update)
  • X (suppress SpartaDOS X)
  • D (bring up boot drive menu)
Edited by flashjazzcat
  • Like 3
Link to comment
Share on other sites

  • 2 weeks later...
On 8/7/2023 at 8:09 PM, reifsnyderb said:

This has been tested on real hardware.   🙂

I got round to odering a eeprom programmer and 16K roms so I could try out your new Atari ROM.  I'll add more finding, if any, when I have a bit more time, but for now I found a minor (non)issue.

This is using a 130XE with 41256's in the second bank(2 banks of 8 chips), but still running as 128KB.  RAM test skips some blocks once it reaches the second row, photos included, pic OS61a shows the last block before it jumps to OS61b.

 

One more thing I noticed was the READY prompt was right up against the left hand border, not indented.

 

I'm really liking how everything is one screen.  Thanks for your time an effort in doing this.

 

Phil

 

OS61b.jpg

OS61a.jpg

  • Like 2
Link to comment
Share on other sites

1 hour ago, deffroe said:

I got round to odering a eeprom programmer and 16K roms so I could try out your new Atari ROM.  I'll add more finding, if any, when I have a bit more time, but for now I found a minor (non)issue.

This is using a 130XE with 41256's in the second bank(2 banks of 8 chips), but still running as 128KB.  RAM test skips some blocks once it reaches the second row, photos included, pic OS61a shows the last block before it jumps to OS61b.

 

One more thing I noticed was the READY prompt was right up against the left hand border, not indented.

 

I'm really liking how everything is one screen.  Thanks for your time an effort in doing this.

 

Phil

 

OS61b.jpg

OS61a.jpg

Hello!

 

It's good to hear you like the OS!  The Ready prompt being to the far left is by design as you will have a little more space on the screen.  Some people requested this as they told me they usually move the prompt to the far left as one of the first things they do.  The RAM Self Test speed-up is due to the fast section not being RAM at the time of the test.  Instead that's the location that is banked in by the self test.  Atari hid this by inserting delays so it wasn't apparent.  They also put delays in the ROM test, as well, even though the ROM test is just a quick checksum test.

 

Thanks!

 

Brian

 

  • Like 4
Link to comment
Share on other sites

  • 2 months later...

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...