Jump to content
IGNORED

Compiling a new Atari OS...


reifsnyderb

Recommended Posts

take a look at all the smart phones and tablets with screen burn in. They haven't overcome it yet. Mr. Atari's MyBios and MyIDE OS are a great resource if you wanna get a real life, compatibility and Key Combo Usage case study. I'd hoped he'd be in on this conversation a bit.

Edited by _The Doctor__
  • Like 1
Link to comment
Share on other sites

15 minutes ago, _The Doctor__ said:

take a look at all the smart phones and tablets with screen burn in. They haven't overcome it yet. Mr. Atari's MyBios and MyIDE OS are a great resource if you wanna get a real life, compatibility and Key Combo Usage case study. I'd hoped he'd be in on this conversation a bit.

Ok.  The attract mode stays in.  I wasn't aware of screen burn with smart phones.  But, I don't use them much. 

 

That would be great if Mr. Atari would join in.    🙂

 

Link to comment
Share on other sites

I think the cold start is now working correctly and has been enabled.  I figured a version number of 4.99 is sort of appropriate.  So, I put it in provisionally.

 

Here's the latest ROM file:  testos.rom

 

Looking for feedback.   🙂

 

Here's where it's at now:

 

;*        Revision 4.99 (600XL/800XL/65XE/130XE/800XE/1200XL)
;*        Added the following fixes and changes from Revision 3 (600XL/800XL/1450XLD) through
;*                Revision 3, Version 4  (600XL/800XL/1450XLD)
;*          Fix TXEB table for XE banking.
;*            Added IDCPU back to First 8k ROM Identification and Check
;*            Fix initial address for RAM sizing to $4000 (16k).
;*            Fix initial address for equivalence cartridge checksum to $BF00.
;*            Correct mishandling of NAK.
;*            Initialize PDVS to zero.
;*            Accept device number 0 (like revision B did)
;*        Added the following changes from Revision 4, Version 0 (600XL/800XL/1450XLD)
;*            Removed Peripheral Handler Loading Facility.
;*            Add support for SIO fast mode (38,400 baud).
;*        Processing of Control F1 through Control F4 no longer affects PORTB.
;*        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.
;*        Left margin set to 0.
;*        Added OS version number to self test main menu
;*        Re-added F1-F4 keys to the keyboard self test.
;*        Shift-Help toggles international character set.
;*        Control-Help sets left screen margin to 0.
;*        Shift-Control-Delete cold starts the computer.
;*        BASIC loaded only when Option key held down
;*      Brian E. Reifsnyder    02/15/2023

Edited by reifsnyderb
  • Like 3
Link to comment
Share on other sites

6 minutes ago, adam242 said:

Okay, hardware newbie question here... what model EEPROM would I need to burn this on to try on real hardware?

You'll need a 16k EPROM.  I am using an M27C128.  For some reason, EPROM's are usually sized in kilo bits.  So, a 16 kilobyte EPROM, with 8 bit bytes, will be 128 kilo bits.  It is possible to use higher capacity EPROMs but then you end up soldering jumpers to the pins.

  • Thanks 1
Link to comment
Share on other sites

23 minutes ago, adam242 said:

And would it be possible to flash this into one of the AtariMax APE 32-in-1 OS slots?

Possibly.  You'd have to figure out the offset for the OS slot and the chip would have to be able to be erased.  So, assuming you don't have an image of the chip, I'd put the chip in a burner and read it.  Then, save it to a file.  You could then calculate the offset for the OS and overwrite an existing OS.  Xgpro allows you to do this in it's buffer.  If not, you'd need a hex editor.  Then, you can burn the image to the chip. 

  • Thanks 1
Link to comment
Share on other sites

5 hours ago, reifsnyderb said:

No, I'll leave the Atari Fuji out.   lol      🙂

(It would look nice, though.  Sort of like Slackware Linux having a penguin logo.   😁  )

You could move it to the self test memory bank, provided there's some free space. 

Link to comment
Share on other sites

5 hours ago, reifsnyderb said:

You'll need a 16k EPROM.  I am using an M27C128.  For some reason, EPROM's are usually sized in kilo bits.  So, a 16 kilobyte EPROM, with 8 bit bytes, will be 128 kilo bits.  It is possible to use higher capacity EPROMs but then you end up soldering jumpers to the pins.

No soldering is necessary for a single OS in a larger EPROM as I have found that a 27C256 or 27C512 can be used by loading the 16KB OS ROM data to the last 16KB EPROM data bank, 4000-7FFF or C000-FFFF respectively, as the unused address lines at pins 1 & 27 are held high within the Atari thus permanently selecting the last 16KB bank. This makes it easier as you can use any of the three suitable 28 pin EPROMs 128K, 256K and 512K.

 

image.png.0095991739ed8a53e12109a1da9abaa0.png

  • Like 1
Link to comment
Share on other sites

5 hours ago, DjayBee said:

You could move it to the self test memory bank, provided there's some free space. 

There's no free space.  Interestingly enough, some of the self test tables are located outside of the self test memory bank.  (i.e.  The table with the keyboard characters on it.)  To save space, it's almost worth simplifying the self test code. 

 

Edit to add:  Removing the keyboard automatic "test" code would save a few bytes.  I am not sure how many.  That always seemed useless.  I don't see the point of the audio-visual screen.  It could be combined with another screen as we know the video works when we can see something.  🙂

 

Edited by reifsnyderb
Link to comment
Share on other sites

35 minutes ago, Stephen said:

I always thought the entire self test was useless.  I'd have rather seen the space used for an ML monitor, or mini DOS.

That's what I did on my OS used in my portable. I reclaimed the space for the self tests, the international character set, plus a bunch of other areas in the XEGS OS ROM, to hold my BIOS menu system, the compactflash support, etc. A big part of the self test area is banked, so you need to keep that in mind. I used the cartridge space in the XEGS ROM (normally holds missile command) for my monitor/debugger. There was too much code to shoehorn into the normal ROM memory map.

  • Like 2
Link to comment
Share on other sites

I disabled the feature for automatically performing all tests and move some of the self test tables into the banking region.  There is now 894+ usable bytes available in the OS region. 

 

I think some sort of self test is helpful.  But this thing is a hog.  The space used just for the audio/visual section is nuts.  Why do I need to see notes on the screen?  I have a screen, so it's obvious that works.  Having the sound test would be good, though.  Maybe all 3 screens could be combined into 1?  The space saved would be nice and there just might be around 460 bytes left, in the self test bank for @Mathy 's Atari Fuji code.    :-D

 

 

  • Like 4
Link to comment
Share on other sites

Hello Brian

 

13 hours ago, reifsnyderb said:

I thought it was interesting that, in some OS versions, "BOOT ERROR" is changed to "Boot Error".  I don't get the reason for that one.

 

I once changed "READY" in Turbo-BASIC XL to "Ready".  It tells me is I'm using Turbo-BASIC XL ("Ready") or plain old Atari BASIC ("READY").

 

Sincerely

 

Mathy

 

  • Like 3
Link to comment
Share on other sites

4 minutes ago, w1k said:

i flash this ROM on real HW and do some tests:
btw i cant boot to basic.. only to SELF TEST

 

Hello,

 

I can't get the video to run yet for some reason.  What hardware are you running on?  Did you try holding down the Option key to boot into BASIC?

 

Thanks!

 

Brian

Link to comment
Share on other sites

11 minutes ago, reifsnyderb said:

Hello,

 

I can't get the video to run yet for some reason.  What hardware are you running on?  Did you try holding down the Option key to boot into BASIC?

 

Thanks!

 

Brian

uh oh, my bad.. i forgot
stock 800xe with u1mb

Link to comment
Share on other sites

4 hours ago, Stephen said:

I always thought the entire self test was useless.  I'd have rather seen the space used for an ML monitor, or mini DOS.

It pretty much is. Os++ squeezes a command line driven Dos interface there, not using any RAM and not requiring a MEM.SAV. Does all you need - directory, lock, unlock, rename, load, save, copy, format, initialize...

  • Like 1
Link to comment
Share on other sites

52 minutes ago, w1k said:

i flash this ROM on real HW and do some tests:
btw i cant boot to basic.. only to SELF TEST

 

Ok.  My computer was the problem with the video.  I just watched it on a phone.  (Go figure.)

 

Anyhow, did you get a chance to try it with the Option key held down?  Maybe I should leave the Option key alone?

Link to comment
Share on other sites

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...