Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.sys.apple2.programmer > #4550 > unrolled thread
| Started by | remy gibert <remygibert63@gmail.com> |
|---|---|
| First post | 2018-05-24 08:35 -0700 |
| Last post | 2018-06-30 12:40 -0700 |
| Articles | 20 on this page of 23 — 8 participants |
Back to article view | Back to comp.sys.apple2.programmer
A2osX : Now Preemptive .....and still lacking contributors! remy gibert <remygibert63@gmail.com> - 2018-05-24 08:35 -0700
Re: A2osX : Now Preemptive .....and still lacking contributors! Jean-Michel Paris <paris.jean.michel@gmail.com> - 2018-05-24 13:29 -0700
Re: A2osX : Now Preemptive .....and still lacking contributors! remy gibert <remy.gibert@free.fr> - 2018-05-26 03:19 -0700
A2osX : Now Preemptive .....and still lacking contributors! Jonathan Roseberry <jonathan.roseberry4@gmail.com> - 2018-05-25 17:25 -0700
Re: A2osX : Now Preemptive .....and still lacking contributors! remy gibert <remy.gibert@free.fr> - 2018-05-25 23:55 -0700
Re: A2osX : Now Preemptive .....and still lacking contributors! remy gibert <remy.gibert@free.fr> - 2018-06-09 10:09 -0700
Re: A2osX : Now Preemptive .....and still lacking contributors! Jean-Michel Paris <paris.jean.michel@gmail.com> - 2018-06-10 05:45 -0700
Re: A2osX : Now Preemptive .....and still lacking contributors! Antoine Vignau <antoine.vignau@laposte.net> - 2018-06-11 21:17 -0700
Re: A2osX : Now Preemptive .....and still lacking contributors! remy gibert <remy.gibert@free.fr> - 2018-06-12 03:24 -0700
Re: A2osX : Now Preemptive .....and still lacking contributors! remy gibert <remy.gibert@free.fr> - 2018-06-29 04:30 -0700
Re: A2osX : Now Preemptive .....and still lacking contributors! Antoine Vignau <antoine.vignau@laposte.net> - 2018-06-30 05:28 -0700
Re: A2osX : Now Preemptive .....and still lacking contributors! remy gibert <remy.gibert@free.fr> - 2018-06-30 07:01 -0700
Re: A2osX : Now Preemptive .....and still lacking contributors! MG <*@guidero.us> - 2018-06-30 12:45 -0700
Re: A2osX : Now Preemptive .....and still lacking contributors! remy gibert <remy.gibert@free.fr> - 2018-06-30 23:11 -0700
Re: A2osX : Now Preemptive .....and still lacking contributors! ol.sc@web.de (Oliver Schmidt) - 2018-07-02 08:49 +0000
Re: A2osX : Now Preemptive .....and still lacking contributors! remy gibert <remy.gibert@free.fr> - 2018-07-02 06:33 -0700
Re: A2osX : Now Preemptive .....and still lacking contributors! MG <*@guidero.us> - 2018-07-02 22:30 -0700
Re: A2osX : Now Preemptive .....and still lacking contributors! remy gibert <remy.gibert@free.fr> - 2018-07-03 10:39 -0700
Re: A2osX : Now Preemptive .....and still lacking contributors! barana <barana24@hotmail.com> - 2018-07-13 22:59 -0700
Re: A2osX : Now Preemptive .....and still lacking contributors! remy gibert <remy.gibert@free.fr> - 2018-07-14 00:00 -0700
Re: A2osX : Now Preemptive .....and still lacking contributors! barana <barana24@hotmail.com> - 2018-07-14 00:50 -0700
Re: A2osX : Now Preemptive .....and still lacking contributors! remy gibert <remy.gibert@free.fr> - 2018-07-14 01:18 -0700
Re: A2osX : Now Preemptive .....and still lacking contributors! MG <*@guidero.us> - 2018-06-30 12:40 -0700
Page 1 of 2 [1] 2 Next page →
| From | remy gibert <remygibert63@gmail.com> |
|---|---|
| Date | 2018-05-24 08:35 -0700 |
| Subject | A2osX : Now Preemptive .....and still lacking contributors! |
| Message-ID | <6ce7b4f4-0141-41bc-8155-c14d787d94c0@googlegroups.com> |
All is there : https://github.com/burniouf/A2osX I need testers, coders, hardware providers, help.... If anybody want to join this project...
[toc] | [next] | [standalone]
| From | Jean-Michel Paris <paris.jean.michel@gmail.com> |
|---|---|
| Date | 2018-05-24 13:29 -0700 |
| Message-ID | <37758ab7-bd40-439b-9804-4bc2c158522d@googlegroups.com> |
| In reply to | #4550 |
Le jeudi 24 mai 2018 17:35:01 UTC+2, remy gibert a écrit : > All is there : > > https://github.com/burniouf/A2osX > > I need testers, coders, hardware providers, help.... > > If anybody want to join this project... It's a great project, you have to support him! I'm free for testing A2osX.dsk anytime on real hardware ;)
[toc] | [prev] | [next] | [standalone]
| From | remy gibert <remy.gibert@free.fr> |
|---|---|
| Date | 2018-05-26 03:19 -0700 |
| Message-ID | <cf8568d5-2f5c-469a-85e8-15ffb1ff9742@googlegroups.com> |
| In reply to | #4551 |
Le jeudi 24 mai 2018 22:29:43 UTC+2, Jean-Michel Paris a écrit : > Le jeudi 24 mai 2018 17:35:01 UTC+2, remy gibert a écrit : > > All is there : > > > > https://github.com/burniouf/A2osX > > > > I need testers, coders, hardware providers, help.... > > > > If anybody want to join this project... > > It's a great project, you have to support him! > > I'm free for testing A2osX.dsk anytime on real hardware ;) Hello JM! Please report issues at GitHub.
[toc] | [prev] | [next] | [standalone]
| From | Jonathan Roseberry <jonathan.roseberry4@gmail.com> |
|---|---|
| Date | 2018-05-25 17:25 -0700 |
| Message-ID | <2ae5c174-9204-4dd7-a9cd-88c025e688a3@googlegroups.com> |
| In reply to | #4550 |
I would love to help out! Where do we sign up?
[toc] | [prev] | [next] | [standalone]
| From | remy gibert <remy.gibert@free.fr> |
|---|---|
| Date | 2018-05-25 23:55 -0700 |
| Message-ID | <6bf7c606-2869-4314-9cdb-b94062c8374f@googlegroups.com> |
| In reply to | #4552 |
Le samedi 26 mai 2018 02:25:18 UTC+2, Jonathan Roseberry a écrit : > I would love to help out! Where do we sign up? Great! If not already done, create an account at GitHub. a good start should be reading/commenting: https://github.com/burniouf/A2osX/issues/29 PM me your skills and in which area (test,dev...etc...) you'll be glad to contribute. Thanx
[toc] | [prev] | [next] | [standalone]
| From | remy gibert <remy.gibert@free.fr> |
|---|---|
| Date | 2018-06-09 10:09 -0700 |
| Message-ID | <c6082fcc-5a86-4fde-9e3f-c7757095794f@googlegroups.com> |
| In reply to | #4550 |
Le jeudi 24 mai 2018 17:35:01 UTC+2, remy gibert a écrit : > All is there : > > https://github.com/burniouf/A2osX > > I need testers, coders, hardware providers, help.... > > If anybody want to join this project... Nobody ?
[toc] | [prev] | [next] | [standalone]
| From | Jean-Michel Paris <paris.jean.michel@gmail.com> |
|---|---|
| Date | 2018-06-10 05:45 -0700 |
| Message-ID | <84adb396-9d99-4055-8f9f-554c96d87c5c@googlegroups.com> |
| In reply to | #4550 |
Le jeudi 24 mai 2018 17:35:01 UTC+2, remy gibert a écrit : > All is there : > > https://github.com/burniouf/A2osX > > I need testers, coders, hardware providers, help.... > > If anybody want to join this project... Ok, I'll gather inputs into GitHub
[toc] | [prev] | [next] | [standalone]
| From | Antoine Vignau <antoine.vignau@laposte.net> |
|---|---|
| Date | 2018-06-11 21:17 -0700 |
| Message-ID | <e39003e4-2d02-4736-ad6d-dfc7e0bbfad2@googlegroups.com> |
| In reply to | #4587 |
Rémy, please read comp.sys.apple2, a couple of persons would like to exchange with you, av
[toc] | [prev] | [next] | [standalone]
| From | remy gibert <remy.gibert@free.fr> |
|---|---|
| Date | 2018-06-12 03:24 -0700 |
| Message-ID | <72cdd998-1989-4bcf-a7bc-8a350f535d11@googlegroups.com> |
| In reply to | #4588 |
Le mardi 12 juin 2018 06:17:46 UTC+2, Antoine Vignau a écrit : > Rémy, > please read comp.sys.apple2, a couple of persons would like to exchange with you, > av oops....did not realized you also published to comp.sys.apple... Thanx!
[toc] | [prev] | [next] | [standalone]
| From | remy gibert <remy.gibert@free.fr> |
|---|---|
| Date | 2018-06-29 04:30 -0700 |
| Message-ID | <aa7e6987-c7e3-4b2f-a758-8fc1d90fd7af@googlegroups.com> |
| In reply to | #4550 |
Le jeudi 24 mai 2018 17:35:01 UTC+2, remy gibert a écrit : > All is there : > > https://github.com/burniouf/A2osX > > I need testers, coders, hardware providers, help.... > > If anybody want to join this project... Quick Z80 Questions : I'm currently rewriting the whole A2osX kernel, and i reach the part of the code that handle Code segment management & 65c02 relocation. I want it to be extended to Z80, and i'm not an expert on this processor. - is a piece of Z80 code could be relocatable od do i need to add an opcode parser and a relocator for Z80 ? i know there is 2 main families of Z80 board achitecture : Microsoft Z80 (& clones) and PCPI applicard. - is anybody aware of developer documentation about PCPI, specially dealing about IRQ ?
[toc] | [prev] | [next] | [standalone]
| From | Antoine Vignau <antoine.vignau@laposte.net> |
|---|---|
| Date | 2018-06-30 05:28 -0700 |
| Message-ID | <5443c4c7-c99d-43d6-84fb-6d4807466968@googlegroups.com> |
| In reply to | #4623 |
Try here: http://mirrors.apple2.org.za/Apple%20II%20Documentation%20Project/Interface%20Cards/Z80%20Cards/ av
[toc] | [prev] | [next] | [standalone]
| From | remy gibert <remy.gibert@free.fr> |
|---|---|
| Date | 2018-06-30 07:01 -0700 |
| Message-ID | <c10af0d1-e6b0-48df-a0a5-c545d57703d0@googlegroups.com> |
| In reply to | #4632 |
Le samedi 30 juin 2018 14:28:58 UTC+2, Antoine Vignau a écrit : > Try here: http://mirrors.apple2.org.za/Apple%20II%20Documentation%20Project/Interface%20Cards/Z80%20Cards/ > > av Thanx Antoine! Already read the OEM manual, but i need confirmation that the Apple IRQ/NMI lines are NOT linked to Z80 IRQ/NMI....only accessing I/O C0n6 & C0n7 interrupt the Z80. For MS softcard, i need confirmation that SI-4 is OFF, Z80 is halted and 6502 is awaken in IRQ state.
[toc] | [prev] | [next] | [standalone]
| From | MG <*@guidero.us> |
|---|---|
| Date | 2018-06-30 12:45 -0700 |
| Message-ID | <e96901c6-8f9d-47a4-8045-ada55bdf04fd@googlegroups.com> |
| In reply to | #4633 |
On Saturday, June 30, 2018 at 7:01:56 AM UTC-7, remy gibert wrote: > Le samedi 30 juin 2018 14:28:58 UTC+2, Antoine Vignau a écrit : > > Try here: http://mirrors.apple2.org.za/Apple%20II%20Documentation%20Project/Interface%20Cards/Z80%20Cards/ > > > > av > > Thanx Antoine! > > Already read the OEM manual, but i need confirmation that the Apple IRQ/NMI lines are NOT linked to Z80 IRQ/NMI....only accessing I/O C0n6 & C0n7 interrupt the Z80. I believe this is correct. Additionally, as I mentioned before the C0x6 line is only functional if the CTC is installed. > For MS softcard, i need confirmation that SI-4 is OFF, Z80 is halted and 6502 is awaken in IRQ state. This is incorrect. When an IRQ occurs, the 6502 has an IRQ response pending, but the Z80 stays active until it voluntarily gives up control. It is probably for this reason that the SoftCard BIOS generally uses 6502 code to do menial things like read the keyboard, because it gives the opportunity for the 6502 to service interrupts. MG
[toc] | [prev] | [next] | [standalone]
| From | remy gibert <remy.gibert@free.fr> |
|---|---|
| Date | 2018-06-30 23:11 -0700 |
| Message-ID | <0b0f57cd-19dc-4154-ba93-fdfa1a3207f7@googlegroups.com> |
| In reply to | #4635 |
Le samedi 30 juin 2018 21:45:34 UTC+2, MG a écrit : > On Saturday, June 30, 2018 at 7:01:56 AM UTC-7, remy gibert wrote: > > Le samedi 30 juin 2018 14:28:58 UTC+2, Antoine Vignau a écrit : > > > Try here: http://mirrors.apple2.org.za/Apple%20II%20Documentation%20Project/Interface%20Cards/Z80%20Cards/ > > > > > > av > > > > Thanx Antoine! > > > > Already read the OEM manual, but i need confirmation that the Apple IRQ/NMI lines are NOT linked to Z80 IRQ/NMI....only accessing I/O C0n6 & C0n7 interrupt the Z80. > > I believe this is correct. Additionally, as I mentioned before the C0x6 line is only functional if the CTC is installed. > > > For MS softcard, i need confirmation that SI-4 is OFF, Z80 is halted and 6502 is awaken in IRQ state. > > This is incorrect. When an IRQ occurs, the 6502 has an IRQ response pending, but the Z80 stays active until it voluntarily gives up control. It is probably for this reason that the SoftCard BIOS generally uses 6502 code to do menial things like read the keyboard, because it gives the opportunity for the 6502 to service interrupts. > > MG Thank you for these usefull links & informations. The good news is that no particular Z80 IRQ handler has to be written in both cases. The bad news, if a Z80 process is running, it could not be interrupted by "Tick source", so collaborative only, not preemtive.
[toc] | [prev] | [next] | [standalone]
| From | ol.sc@web.de (Oliver Schmidt) |
|---|---|
| Date | 2018-07-02 08:49 +0000 |
| Message-ID | <phcou3$3ci$1@news.albasani.net> |
| In reply to | #4636 |
Hi, >> This is incorrect. When an IRQ occurs, the 6502 has an IRQ response pend= >ing, but the Z80 stays active until it voluntarily gives up control. It is= > probably for this reason that the SoftCard BIOS generally uses 6502 code t= >o do menial things like read the keyboard, because it gives the opportunity= > for the 6502 to service interrupts. I've done interrupt driven serial I/O from CP/M back then and I remember it in the same way (with 6502 code) - and I remember that the Microsoft documention was pretty clear and accurate regarding IRQ handling. Regards, Oliver
[toc] | [prev] | [next] | [standalone]
| From | remy gibert <remy.gibert@free.fr> |
|---|---|
| Date | 2018-07-02 06:33 -0700 |
| Message-ID | <665636c2-cf22-4478-be5f-305f5690bbe8@googlegroups.com> |
| In reply to | #4638 |
Le lundi 2 juillet 2018 10:49:08 UTC+2, Oliver Schmidt a écrit : > Hi, > > >> This is incorrect. When an IRQ occurs, the 6502 has an IRQ response pend= > >ing, but the Z80 stays active until it voluntarily gives up control. It is= > > probably for this reason that the SoftCard BIOS generally uses 6502 code t= > >o do menial things like read the keyboard, because it gives the opportunity= > > for the 6502 to service interrupts. > > I've done interrupt driven serial I/O from CP/M back then and I > remember it in the same way (with 6502 code) - and I remember that the > Microsoft documention was pretty clear and accurate regarding IRQ > handling. > > Regards, > Oliver Following Antoine link, I found this : http://mirrors.apple2.org.za/Apple%20II%20Documentation%20Project/Interface%20Cards/Z80%20Cards/Microsoft%20SoftCard/Manuals/ Microsoft SoftCard - Software and Hardware Details.pdf According Schematics, seems S1-4 switched to ON is the solution to interrupt Z80. So i need a IRQ Handler in the Z80 code that's simply switch back to 6502 to an instruction that switch bacl to Z80. As the 6502 should get also interrupted, the IRQ Handler code should be called between these 2 Lines. Z80 IRQ Handler: LD (0En00H),A <Z80-6502 IRQ Handler> RETI Z80-6502 IRQ Handler <IRQ!> sta $Cn00 (go back to Z80 RETI)
[toc] | [prev] | [next] | [standalone]
| From | MG <*@guidero.us> |
|---|---|
| Date | 2018-07-02 22:30 -0700 |
| Message-ID | <393072b2-0b6e-4cbc-91f0-dc9a836bbd7d@googlegroups.com> |
| In reply to | #4639 |
On Monday, July 2, 2018 at 6:33:03 AM UTC-7, remy gibert wrote: > So i need a IRQ Handler in the Z80 code that's simply switch back to 6502 to an instruction that switch bacl to Z80. As the 6502 should get also interrupted, the IRQ Handler code should be called between these 2 Lines. > > Z80 IRQ Handler: > > LD (0En00H),A > <Z80-6502 IRQ Handler> > RETI > > > Z80-6502 IRQ Handler > <IRQ!> > sta $Cn00 (go back to Z80 RETI) It's going to be a little more complicated than that. For the Softcard and compatibles, each processor picks up where it left off (provided there was no intervening reset) each time a write to it's ROM space happens. You can't just STA $CN00 from the IRQ handler on the 6502 side, since to manage Z80 execution you need to be in a loop like this: ZLOOP: STA $Cn00 JSR FF58 (or some other RTS, Z80 code will change this to make 6502 calls) ; check for exit condition here. JMP ZLOOP When an interrupt occurs in Z80 mode, the Z80 ISR needs to save the target address of the JSR, set the JSR to $FF58 (or some other RTS), and then STA $En00 to let the 6502 ISR service the interrupt. After that happens then do whatever work needs to be done in the Z80 ISR. You're going to find the lack of ability to set the Z80 to a known state to be particularly challenging, and in my opinion is the biggest flaw in the Softcard design. If you aren't the first program getting control of the Z80 since the last reset, you are not guaranteed you will get control at all and will likely hang or crash. Assuming you do have control of the Z80, in order to get out of the Z80 for a while and reliably get back in, you'll need to make sure you always exit from a known address after setting the exit condition, that way you know which address to poke a Z80 JP instruction to in order to regain control later. MG
[toc] | [prev] | [next] | [standalone]
| From | remy gibert <remy.gibert@free.fr> |
|---|---|
| Date | 2018-07-03 10:39 -0700 |
| Message-ID | <b8007603-6638-4774-a191-412c1a1e1608@googlegroups.com> |
| In reply to | #4640 |
Le mardi 3 juillet 2018 07:30:01 UTC+2, MG a écrit : > On Monday, July 2, 2018 at 6:33:03 AM UTC-7, remy gibert wrote: > > So i need a IRQ Handler in the Z80 code that's simply switch back to 6502 to an instruction that switch bacl to Z80. As the 6502 should get also interrupted, the IRQ Handler code should be called between these 2 Lines. > > > > Z80 IRQ Handler: > > > > LD (0En00H),A > > <Z80-6502 IRQ Handler> > > RETI > > > > > > Z80-6502 IRQ Handler > > <IRQ!> > > sta $Cn00 (go back to Z80 RETI) > > It's going to be a little more complicated than that. For the Softcard and compatibles, each processor picks up where it left off (provided there was no intervening reset) each time a write to it's ROM space happens. You can't just STA $CN00 from the IRQ handler on the 6502 side, since to manage Z80 execution you need to be in a loop like this: > > ZLOOP: STA $Cn00 > JSR FF58 (or some other RTS, Z80 code will change this to make 6502 calls) > ; check for exit condition here. > JMP ZLOOP > > When an interrupt occurs in Z80 mode, the Z80 ISR needs to save the target address of the JSR, set the JSR to $FF58 (or some other RTS), and then STA $En00 to let the 6502 ISR service the interrupt. After that happens then do whatever work needs to be done in the Z80 ISR. > > You're going to find the lack of ability to set the Z80 to a known state to be particularly challenging, and in my opinion is the biggest flaw in the Softcard design. If you aren't the first program getting control of the Z80 since the last reset, you are not guaranteed you will get control at all and will likely hang or crash. > > Assuming you do have control of the Z80, in order to get out of the Z80 for a while and reliably get back in, you'll need to make sure you always exit from a known address after setting the exit condition, that way you know which address to poke a Z80 JP instruction to in order to regain control later. > > MG Yes, i agree! i'm quite sure it will end up with more than 2 lines of Z80 code ;-) Thanx for your inputs, it make things more clear, now. My main problem for now is how to insert these Z80 lines inside kernel setup routines. The assembler i use does not knowthis CPU, and the A2osX embedded cross assembler which is able to assemble anything is not yet completed. Also, to have the complete picture of the Z80 world, i must find out how to handle PCPI type cards and i need to know if there is any 3rd type of Z80 card i should consider. Thanx all for your inputs! Rémy
[toc] | [prev] | [next] | [standalone]
| From | barana <barana24@hotmail.com> |
|---|---|
| Date | 2018-07-13 22:59 -0700 |
| Message-ID | <5cf1dda3-830d-4fb4-bbd4-73caa87e6b8b@googlegroups.com> |
| In reply to | #4644 |
Will your os run existing 8 bit binaries?
[toc] | [prev] | [next] | [standalone]
| From | remy gibert <remy.gibert@free.fr> |
|---|---|
| Date | 2018-07-14 00:00 -0700 |
| Message-ID | <b3ae1910-fcae-4bf4-8d55-02cb0a342fec@googlegroups.com> |
| In reply to | #4648 |
Le samedi 14 juillet 2018 07:59:37 UTC+2, barana a écrit : > Will your os run existing 8 bit binaries? Do you mean another ".SYSTEM" File ? A2osX installs its own "quit code" to switch to another .SYSTEM file, then come back to KERNEL....but for now, The Kernel is not able yet to quit gracefully every processes and uninstall itself from memory. This is designed for, but required code is still missing.....
[toc] | [prev] | [next] | [standalone]
Page 1 of 2 [1] 2 Next page →
Back to top | Article view | comp.sys.apple2.programmer
csiph-web