Jump to content
IGNORED

Compiling a new Atari OS...


reifsnyderb

Recommended Posts

9 minutes ago, _The Doctor__ said:

ah but if PBI memory cards used the PBI id for selection, you could bank whole cards of memory :) How cool would that be. Awesome stuff when it comes to be.

 

Crazy stuff for the wins.

Absolutely!  You could access practically any memory type imaginable to this day.  One card would be selected via $D1FF.  Banking could be done via $D100-$D1?? or use some 16/32/64/whatever bit banking scheme via multiple $D1xx registers.  It would work.  🙂

 

Edited by reifsnyderb
Link to comment
Share on other sites

Hello Brian

 

4 hours ago, reifsnyderb said:

Do you have any thoughts as to what keys they used in place of the F1-F4 keys? 

 

Most of the times they drilled four holes in the case and installed whatever they found/liked in those holes.

 

Sincerely

 

Mathy

 

PS a couple of people are working om new XE cases.  Some of these have room for four extra keys next to and looking like the HELP and console keys.

 

 

  • Like 1
Link to comment
Share on other sites

Hello guys

 

PHLF was never mentioned anywhere.  But now that it is...

For years people have been telling us, digitize sound on the Atari meant either compromising on quality or length, before carts like AVG make it possible to have quality and length.

It toke us years to get from "nobody needs 1MB" to "Wanna upgrade?  Choose U1MB!".

And years ago, some of us knew which two or three demos supported stereo sound.  Nowadays, lot's of games support stereo and we even have chips that'll do double stereo.

Nobody used a cartridge for SIO and almost nobody used a flash cart as a memory extension, until tmp had the right ideas and realized it.

And, last but not least, how long did we have to hear that SID was way better than Pokey.  Look (read: listen) to what our sound experts (Analmux, Sythpopaloosa, VinsCool, etc.) can do with Pokey.

 

You can never know what a feature can bring, until somebody finds out it exists and somebody (else?) starts using/showing it.  So I'd say, don't kill it before "we" can find out what to use it for.

 

Sincerely

 

Mathy

 

 

 

Link to comment
Share on other sites

52 minutes ago, Mathy said:

Hello guys

 

PHLF was never mentioned anywhere.  But now that it is...

For years people have been telling us, digitize sound on the Atari meant either compromising on quality or length, before carts like AVG make it possible to have quality and length.

It toke us years to get from "nobody needs 1MB" to "Wanna upgrade?  Choose U1MB!".

And years ago, some of us knew which two or three demos supported stereo sound.  Nowadays, lot's of games support stereo and we even have chips that'll do double stereo.

Nobody used a cartridge for SIO and almost nobody used a flash cart as a memory extension, until tmp had the right ideas and realized it.

And, last but not least, how long did we have to hear that SID was way better than Pokey.  Look (read: listen) to what our sound experts (Analmux, Sythpopaloosa, VinsCool, etc.) can do with Pokey.

 

You can never know what a feature can bring, until somebody finds out it exists and somebody (else?) starts using/showing it.  So I'd say, don't kill it before "we" can find out what to use it for.

 

Sincerely

 

Mathy

 

 

 

While I do see your point, and don't like to drop a feature, there is only 14k to work with.  Presently, I've got only 1k available.  To me, it makes sense to remove something that was never used.  Even the 850 doesn't use a type 4 poll.

 

There is a solution.  Since this is an XL OS, and there is the PBI, why not improve the ability to extend the OS through the existing PBI interface?  Make the OS more modular?  The PBI could already be used for this.  If somebody wants this feature, it can be re-added.  If properly extended, lots of OS modules could be added.  I was thinking about what it would take to have a "module" for the numeric keypad, for example.

 

Best Regards,

 

Brian

 

 

 

 

  • Like 2
Link to comment
Share on other sites

4 hours ago, Mathy said:

You can never know what a feature can bring, until somebody finds out it exists and somebody (else?) starts using/showing it.  So I'd say, don't kill it before "we" can find out what to use it for.

I don't think this is that much of a concern since a single modified OS ROM doesn't really have that kind of impact. If someone does find a use for the peripheral loading facility after this modified ROM drops support for it, it won't be the device's problem -- it'll be this OS ROM's problem. It's unlikely that this modified OS would be used anywhere near as commonly as the Atari OS, and most of the people who would use it would have a way to swap OS ROM images anyway.

 

To put it another way, there are a lot more modified OSes out there that have the C: device handler removed to free up ROM space. Those haven't killed use of cassette tape.

  • Like 3
Link to comment
Share on other sites

12 minutes ago, adam242 said:

Feature request: could you please change the default left margin to zero? Setting it to two was only marginally useful BITD, and useless and wasteful in this era.

This ^^

first thing I do since the moment I fired up my first Atari

  • Like 1
Link to comment
Share on other sites

Latest version:

 

testos.rom

 

;*        Left margin set to 0.
;*        Added OS version number to self test main menu

 

No numbers are displayed for the version number....but they are tested to work.  I figure it would be an easy way to check the revision.

 

Edit:  I forgot to mention the Fast Math is patched into this version.  I wrote a small C program to patch it in and added it to the batch file used for assembling the OS and adding the checksum.

Edited by reifsnyderb
  • Thanks 1
Link to comment
Share on other sites

On 2/13/2023 at 9:32 PM, phaeron said:

The peripheral handler loading facility allows devices to supply their own device handler in response to an automatic type 4 poll from CIO on a device it doesn't recognize. In theory, this means that you could attempt to access Q:, and the handler for the Q: device would automatically be downloaded from the device. There's an entire infrastructure for downloading relocatable code over SIO and hooking it into the OS.

 

In practice, this requires both a device that responds to type 4 polls and software that supports handling the notification from CIO that a handler needs to be downloaded. AFAIK there are zero instances of either in the wild. I had to write custom versions of both to test a reimplementation of the peripheral handler loader. If you were to remove the peripheral handler facility, you would have difficulty finding anyone who noticed, and if you were to keep it, to actually exercise it.

 

The one gotcha is that there is a small utility routine associated with the handler loader that needs to be kept. The vector is $E486 (PENTV) and it is used to install new CIO handlers in HATABS, even without the handler loader.

 

Curious then what method did the 850 and 1030 use?

Link to comment
Share on other sites

850 uses both type 0 and type 1. The former is simulated disk boot if no disk drive is present, the latter is triggered by AUTORUN.SYS if DOS 2 boots. I forget whether the 1030 supports type 1.

 

Type 3/4 are XL/XE only so the 850 and 1030 couldn't have relied on them.

 

  • Like 1
Link to comment
Share on other sites

Changes from last dev version:

 

F1-F4 Function keys are now added back to the keyboard self test.

Left margin now set to 0.

Control-Help sets screen margin to 0.  (Good when existing from DOS.)

Shift-Control-Delete cold starts the computer.

Broke BASIC loading when Option key down after Shift-Control-Delete cold start.  Temporarily disabled.

 

Edit:  I just installed this on my 600XL and found a bug.  Pressing the Return key shows the Reset indicator.   lol

 

testos.rom

 

1050392843_Keyboardselftest.thumb.png.95711a39a23e130b27857b56d788ffb4.png

 

;*        Revision X (600XL/800XL/65XE/130XE)
;*        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.
;*        TO-DO   Fix BASIC loaded when Option key held down--fails on cold start, above.    DISABLED    FIX THIS
;*      Brian E. Reifsnyder    02/15/2023

 

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

14 minutes ago, invisible kid said:

I like the shift-ctrl-delete cold start(especially for xegs). Is that rock-solid at all times? Apart from lockups / keyboard lockups. I only ask because I vaguely remember instances where it wouldn't work, but I could easily be thinking of something else. Good job!

The shift-ctrl-del should be good.  I got the idea from @HiassofT's high speed SIO patch as he had it in his.  All I did was add that keycode to the keyboard IRQ routine (KIR) and have it call the cold start routine at PCS.  This is the first time I am doing anything with 6502 assembly, so it's a learning process.  I figured it sounded like a good idea and, after reading through the code, it looks like it's correct.  I confirmed it actually does a cold start on real hardware and like it as an option to power cycling the computer.

 

Also, for anyone who wants to try it, here's a copy of the OS ROM with self test return key issue fixed:  testos.rom

 

 

  • Like 1
Link to comment
Share on other sites

Hello guys

 

For those who don't know what F1-F4 does:

 

 1200XL Function key effects, redefinable:
     [F1] Cursor up          [SHIFT]+[F1] Cursor to upper-left corner (home)
     [F2] Cursor down        [SHIFT]+[F2] Cursor to lower-left corner
     [F3] Cursor left        [SHIFT]+[F3] Cursor to start of physical line
     [F4] Cursor right       [SHIFT]+[F4] Cursor to end of physical line

  1200XL Function key effects, non-redefinable:
     [CONTROL]+[F1] Keyboard enable/disable (console keys unaffected)
     [CONTROL]+[F2] Screen DMA (ANTIC) enable/disable
     [CONTROL]+[F3] Key click sound enable/disable
     [CONTROL]+[F4] Domestic/International character set toggle

(Info taken from AtariMania)

 

Shift+Control+Fx doesn't seem to do anything.

 

And Control+F4 could cause trouble if the international characters is removed and the code that handles Control+F4 isn't changed.

 

Sincerely

 

Mathy

 

 

  • Like 3
Link to comment
Share on other sites

To add to what @Mathy posted...

 

This page shows that Shift+Control+Fx don't have return values:  https://www.atariarchives.org/c3ba/page004.php

 

Mapping the Atari shows that Shift Fx does as follows:

  Shift-F1        Home cursor to upper left.

  Shift-F2        Cursor to lower left corner

  Shift-F3        Cursor to start of physical line

  Shift-F4        Cursor to right end of physical line.

 

Best Regards,

 

Brian

 

 

  • Like 3
Link to comment
Share on other sites

1 hour ago, reifsnyderb said:

Does anyone have any opinions about removing the Attract Mode?  With modern monitors, it isn't really needed.

But I like attract mode.  It's attractive.   Perhaps only remove things when you need room for something?  Like the FUJI logo from the 1200XL! :) 

Link to comment
Share on other sites

Hello Brian

 

23 minutes ago, reifsnyderb said:

lol  I was thinking about adding the FUJI logo back in....if it's small enough.   🙂

 

Why?  You (want to) throw out useful stuff and put something in that is "nice to look at-only" in?

 

Sincerely

 

Mathy

 

PS IIRC, when production of CRTs stopped in favor of flat screens, people were concerned about the burn in of on-screen logos.

Link to comment
Share on other sites

22 minutes ago, Mathy said:

Hello Brian

 

 

Why?  You (want to) throw out useful stuff and put something in that is "nice to look at-only" in?

 

Sincerely

 

Mathy

 

PS IIRC, when production of CRTs stopped in favor of flat screens, people were concerned about the burn in of on-screen logos.

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

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

 

I'll leave the attract mode in....if it's still an issue.  I haven't heard of there being a problem with screen burn in's for some time, though.

 

 

Edited by reifsnyderb
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...