Click Here
home features news forums classifieds faqs links search
6071 members 
Amiga Q&A /  Free for All /  Emulation /  Gaming / (Latest Posts)
Login

Nickname

Password

Lost Password?

Don't have an account yet?
Register now!

Support Amigaworld.net
Your support is needed and is appreciated as Amigaworld.net is primarily dependent upon the support of its users.
Donate

Menu
Main sections
» Home
» Features
» News
» Forums
» Classifieds
» Links
» Downloads
Extras
» OS4 Zone
» IRC Network
» AmigaWorld Radio
» Newsfeed
» Top Members
» Amiga Dealers
Information
» About Us
» FAQs
» Advertise
» Polls
» Terms of Service
» Search

IRC Channel
Server: irc.amigaworld.net
Ports: 1024,5555, 6665-6669
SSL port: 6697
Channel: #Amigaworld
Channel Policy and Guidelines

Who's Online
21 crawler(s) on-line.
 116 guest(s) on-line.
 2 member(s) on-line.


 Kronos,  Karlos

You are an anonymous user.
Register Now!
 Karlos:  1 min ago
 Kronos:  2 mins ago
 pixie:  29 mins ago
 MEGA_RJ_MICAL:  58 mins ago
 Templario:  1 hr 2 mins ago
 ppcamiga1:  1 hr 11 mins ago
 agami:  1 hr 15 mins ago
 Rob:  1 hr 18 mins ago
 broadblues:  1 hr 34 mins ago
 NutsAboutAmiga:  1 hr 52 mins ago

/  Forum Index
   /  AROS Software
      /  Proposed Bounties.
Register To Post

PosterThread
terminills 
Proposed Bounties.
Posted on 21-Dec-2024 14:46:06
#1 ]
AROS Core Developer
Joined: 8-Mar-2003
Posts: 1493
From: Unknown

Here's a list of bounties I plan on adjusting and then submitting.

First EMU68 Bounty. (This one is set in stone as it was written with the help of mschulz).

Porting Emu68 to EFI
Overview
This bounty focuses solely on adapting Emu68 to function as an EFI binary executable, laying the foundation for future work to enable AmigaOS/AROS 68K to boot natively on ARM hardware. Since EFI handles hardware abstraction via its protocols, the scope of this bounty is limited to making Emu68 compliant with the EFI standard and ensuring basic ACPI table parsing for future use.

Objectives
1. Adapt Emu68 to function as a compliant EFI binary executable.
2. Implement basic support for:
ACPI Table Parsing: Convert Little Endian ACPI data to Big Endian for compatibility with 68K environments.
3. Lay the groundwork for AmigaOS and AROS integration in subsequent phases.



Last edited by terminills on 21-Dec-2024 at 05:38 PM.

_________________
Support AROS sponsor a developer.

"AROS is prolly illegal ~ Evert Carton" intentionally quoted out of context for dramatic effect

 Status: Offline
Profile     Report this post  
terminills 
Re: Proposed Bounties.
Posted on 21-Dec-2024 14:46:40
#2 ]
AROS Core Developer
Joined: 8-Mar-2003
Posts: 1493
From: Unknown

AROS Bounties






Bounty 1: Develop a GOP-Based Graphics
HIDD Driver



Overview (Technical):
Implement framebuffer
graphics support for EFI systems using the
EFI_GRAPHICS_OUTPUT_PROTOCOL (GOP). This driver
enables AROS to render graphics through the GOP’s static
framebuffer, providing essential display functionality.



Key Objectives (Technical):







  • Pre-Boot Phase:






    • Automatically select the best
      available resolution using GOP before boot services terminate.



    • Optional: Allow users to select a
      resolution via the Early Startup Control menu.





  • Runtime Phase:






    • Develop a HIDD driver to use the
      static framebuffer provided by GOP for rendering after
      ExitBootServices.



    • Ensure compatibility with AROS’s
      graphics subsystem.





  • Fallback and
    Compatibility:







    • Use the VESA ROM driver as a
      reference for structure.



    • Provide fallback options for systems without GOP support.







Capabilities (Practical):







  • Enables AROS to display graphics
    on modern UEFI-based systems using GOP.



  • Similar to what VESA driver provides on PCs



  • Provides automatic resolution
    selection or the option for manual configuration during boot.



  • Offers basic graphics functionality for systems lacking
    legacy BIOS modes.









Bounty 2: Transition EFI Input Support to
AROS Input.device



Overview (Technical):
Enable seamless input
device functionality by transitioning from EFI input protocols during
the pre-boot phase to AROS's input.device
during runtime.



Key Objectives (Technical):







  • Use EFI_SIMPLE_TEXT_INPUT_PROTOCOL
    for keyboard input and EFI_SIMPLE_POINTER_PROTOCOL
    for mouse input during the pre-boot phase.



  • Ensure a smooth transition to AROS’s input.device
    post-boot.





Capabilities (Practical):







  • Ensures full keyboard and mouse
    functionality during boot and runtime.



  • Enables a smooth transition from pre-boot input handling to
    AROS’s native input system.









Bounty 3: Expand and Refine EFI ACPI
Table Handling



Overview (Technical):
Enhance AROS’s ability
to parse and utilize EFI-provided ACPI tables for hardware
abstraction and initialization.



Key Features (Technical):







  • Parse and convert ACPI tables into
    a format usable by AROS.



  • Validate ACPI-driven hardware discovery and initialization.





Capabilities (Practical):







  • Allows AROS to detect and utilize
    hardware like storage devices, network cards, and USB ports.



  • Improves hardware compatibility with modern systems by
    leveraging ACPI.









Bounty 4: Implement EFI Storage Access
for Kernel Loading



Overview (Technical):
Enable AROS to load its
kernel and boot files from EFI-compliant storage devices. This
focuses on integrating EFI storage protocols to support kernel
loading in both GRUB-based and direct EFI boot scenarios.



Key Features (Technical):







  • Add support for
    EFI_BLOCK_IO_PROTOCOL and
    EFI_SIMPLE_FILE_SYSTEM_PROTOCOL.



  • Validate kernel and file loading
    from block-oriented devices.



  • Ensure compatibility with GRUB.





Capabilities (Practical):







  • Enables AROS to boot directly from
    modern storage devices like SSDs or USB drives.



  • Supports both UEFI-native and GRUB-based boot setups.









Bounty 5: Enhance AROS Bootloader for EFI
Systems



Overview (Technical):
Focus on broader
enhancements to the AROS bootloader, leveraging EFI system features
for advanced boot scenarios.



Key Features (Technical):







  • Integrate EFI system table and
    memory map handling.



  • Add support for
    EFI_DEVICE_PATH_PROTOCOL for locating
    devices.



  • Leverage GOP for display initialization during boot.





Capabilities (Practical):







  • Improves bootloader performance
    and compatibility on EFI-based systems.



  • Provides better hardware support during boot, enhancing the
    user experience.









Bounty 6: AROS Pre-Boot Networking with
UEFI



Overview (Technical):
Enable pre-boot
networking capabilities using EFI_SIMPLE_NETWORK_PROTOCOL,
supporting PXE boot and network-based kernel loading.



Key Features (Technical):







  • Add support for
    EFI_SIMPLE_NETWORK_PROTOCOL in the AROS
    bootloader.



  • Enable PXE boot functionality.



  • Add tools for diagnosing network connectivity during
    pre-boot.





Capabilities (Practical):







  • Enables network booting, allowing
    AROS to be loaded directly over a network.



  • Adds pre-boot networking diagnostics for troubleshooting and
    improved reliability.









Bounty 7: Cross-Architecture EFI
Compatibility



Overview (Technical):
Extend AROS’s EFI
implementation to support multiple architectures, such as ARM and
MC68K.



Key Features (Technical):







  • Adapt EFI protocols for
    cross-platform compatibility.



  • Validate EFI functionality on ARM, MC68K, and x86 platforms.





Capabilities (Practical):







  • Broadens AROS’s compatibility
    with modern hardware architectures, including ARM and retro-inspired
    68K systems.



  • Ensures AROS can run on diverse hardware platforms.









Bounty 8: Implement Secure Boot
Compatibility



Overview (Technical):
Adapt AROS to work with
EFI Secure Boot to ensure compatibility with modern security
standards.



Key Features (Technical):







  • Add support for authenticated boot
    processes using signed kernels.



  • Validate Secure Boot workflow on EFI platforms.





Capabilities (Practical):







  • Enables AROS to boot securely on
    systems with Secure Boot enabled.



  • Ensures compatibility with security requirements on modern
    PCs.









Bounty 9: Develop a Modular EFI
Management Framework



Overview (Technical):
Create a centralized
framework within AROS to manage EFI interactions and diagnostics.



Key Features (Technical):







  • Provide tools for accessing EFI
    protocols (storage, graphics, input, networking).



  • Implement diagnostics for troubleshooting EFI-related issues.





Capabilities (Practical):







  • Simplifies managing EFI features
    on AROS systems.



  • Provides tools for diagnosing EFI hardware and improving
    system stability.


Last edited by terminills on 21-Dec-2024 at 06:43 PM.
Last edited by terminills on 21-Dec-2024 at 06:09 PM.
Last edited by terminills on 21-Dec-2024 at 05:58 PM.
Last edited by terminills on 21-Dec-2024 at 05:33 PM.
Last edited by terminills on 21-Dec-2024 at 05:19 PM.
Last edited by terminills on 21-Dec-2024 at 05:13 PM.
Last edited by terminills on 21-Dec-2024 at 04:56 PM.
Last edited by terminills on 21-Dec-2024 at 04:55 PM.
Last edited by terminills on 21-Dec-2024 at 04:52 PM.
Last edited by terminills on 21-Dec-2024 at 04:40 PM.
Last edited by terminills on 21-Dec-2024 at 04:35 PM.
Last edited by terminills on 21-Dec-2024 at 04:18 PM.
Last edited by terminills on 21-Dec-2024 at 04:15 PM.

_________________
Support AROS sponsor a developer.

"AROS is prolly illegal ~ Evert Carton" intentionally quoted out of context for dramatic effect

 Status: Offline
Profile     Report this post  
terminills 
Re: Proposed Bounties.
Posted on 21-Dec-2024 14:48:09
#3 ]
AROS Core Developer
Joined: 8-Mar-2003
Posts: 1493
From: Unknown

@terminills

This isn't AROS specific but rather AmigaOS but I didn't want to separate it from the rest.


AmigaOS Boot Implementation for EFI-Based "MC68K" Machine

Overview:

This bounty focuses on the development of a secondary 68K bootloader to enable AmigaOS 68K to boot on an EFI-based "MC68K" machine. The bootloader will be designed to initialize hardware via EFI, emulate missing hardware components like CIA chips and display, and then transition control to the AmigaOS kernel. The bootloader will utilize the Emu68 platform to provide hardware abstraction and initialization.

Key Objectives:

ACPI Table Handling:

Parse and utilize Big Endian ACPI tables (converted in Bounty 1) to extract hardware information such as USB, PCI, networking, and storage.
Provide hardware details to the AmigaOS environment through accessible memory structures or standard tables.
Ensure efficient integration with EFI protocols for seamless hardware initialization.
Development of a Secondary Boot Program:

Create a standalone 68K bootloader program that:
Loads the AmigaOS ROM from an EFI-compliant storage device using EFI_BLOCK_IO_PROTOCOL and EFI_SIMPLE_FILE_SYSTEM_PROTOCOL via Emu68.
Initializes basic system state, including memory mapping, hardware detection, and CIA chip emulation.
Uses EFI-provided input protocols (keyboard/mouse) for interaction during boot, if required.
Transitions control to the loaded AmigaOS kernel.
ROM Loading and Initialization:

Implement a ROM loading mechanism to:
Locate and load the AmigaOS ROM file from storage.
Set up a compatible memory environment for AmigaOS execution.
Use EFI-provided framebuffer graphics (via GOP) to display basic output during boot.
Initialize key hardware interfaces such as storage, input, and display for AmigaOS compatibility.
Emulation of Missing Hardware:

CIA Chip Emulation:

Emulate the missing CIA chips within the bootloader. The CIA chips are responsible for essential hardware interactions like keyboard input, timers, and other system-level I/O tasks. This emulation must mimic the behavior of the original CIA chips to ensure compatibility with AmigaOS.
Display Support:

Emulate display support for AmigaOS, either by:
Using the GOP framebuffer for basic display output.
Optionally simulating Amiga-native graphics modes (PAL/NTSC) by:
Emulating graphics.library functionality in the bootloader to present the framebuffer as a native mode.
Creating a minimal P96 GOP driver for direct rendering.
AmigaOS Transition:

Finalize hardware initialization and transfer control to the AmigaOS kernel, ensuring that:
The kernel has access to hardware details provided by EFI protocols.
A pre-initialized environment for storage, input, and graphics is set up.
Document the handoff mechanism for compatibility with AmigaOS expectations.
Compatibility Testing:

Test the bootloader and overall environment using real Amiga applications, particularly Deluxe Music 2.0, to verify hardware compatibility and proper operation.
Identify and resolve any issues related to hardware initialization or emulation (e.g., CIA chip behavior, input handling, display modes).

Deliverables:

68K Bootloader Program:

A secondary bootloader program running under Emu68 capable of:
Loading and initializing the AmigaOS ROM.
Performing essential hardware initialization, including CIA chip emulation and display emulation.
Transitioning control to the AmigaOS kernel.
Graphics Output:

GOP-based framebuffer graphics support during boot.
Optional support for simulated Amiga-native modes via graphics.library emulation or a P96 GOP driver.
Hardware Abstraction:

Initialization of storage, input, and graphics hardware using EFI protocols.
Accessible tables or structures for AmigaOS to use initialized hardware.
Emulation of CIA Chips and Display:

Emulation of CIA chip functionality in the bootloader.
Display emulation through GOP framebuffer or simulated Amiga-native modes.
Testing and Compatibility:

Verification of the bootloader functionality using Deluxe Music 2.0 and other critical Amiga applications to ensure compatibility and correct operation.
Resolution of any issues identified during testing.
Documentation:

Detailed documentation covering:
Bootloader functionality and setup.
ROM loading and hardware initialization processes.
Mechanism for CIA chip emulation and display emulation.
Transitioning control to the AmigaOS kernel.
Compatibility considerations and testing procedures.

Last edited by terminills on 22-Dec-2024 at 01:15 AM.
Last edited by terminills on 21-Dec-2024 at 05:49 PM.

_________________
Support AROS sponsor a developer.

"AROS is prolly illegal ~ Evert Carton" intentionally quoted out of context for dramatic effect

 Status: Offline
Profile     Report this post  
OlafS25 
Re: Proposed Bounties.
Posted on 21-Dec-2024 16:27:47
#4 ]
Elite Member
Joined: 12-May-2010
Posts: 6449
From: Unknown

@terminills

Aros 68k or AmigaOS running on ARM-Hardware with only emu68 as layer would give unbeatable cheap and powerful hardware. Nice new toys

 Status: Offline
Profile     Report this post  
pixie 
Re: Proposed Bounties.
Posted on 21-Dec-2024 20:03:48
#5 ]
Elite Member
Joined: 10-Mar-2003
Posts: 3385
From: Figueira da Foz - Portugal

@OlafS25

Would be really something else! A second renaissance

_________________
Indigo 3D Lounge, my second home.
The Illusion of Choice | Am*ga

 Status: Offline
Profile     Report this post  
terminills 
Re: Proposed Bounties.
Posted on 22-Dec-2024 0:09:37
#6 ]
AROS Core Developer
Joined: 8-Mar-2003
Posts: 1493
From: Unknown

@pixie



I have this.

but I'm looking into upgrading to this.

_________________
Support AROS sponsor a developer.

"AROS is prolly illegal ~ Evert Carton" intentionally quoted out of context for dramatic effect

 Status: Offline
Profile     Report this post  
Hammer 
Re: Proposed Bounties.
Posted on 22-Dec-2024 0:54:47
#7 ]
Elite Member
Joined: 9-Mar-2003
Posts: 6044
From: Australia

@terminills

The DraCo method requires CIA chips and extra ROM to patch KickStart 3.1 ROM.

UEFI Emu68 would need to patch KickStart 3.x ROM for missing CIA and display.

I use Deluxe Music 2.0 as one of the test apps against the so-called Amiga wannabes.

Last edited by Hammer on 22-Dec-2024 at 01:01 AM.
Last edited by Hammer on 22-Dec-2024 at 12:55 AM.

_________________
Amiga 1200 (rev 1D1, KS 3.2, PiStorm32/RPi CM4/Emu68)
Amiga 500 (rev 6A, ECS, KS 3.2, PiStorm/RPi 4B/Emu68)
Ryzen 9 7950X, DDR5-6000 64 GB RAM, GeForce RTX 4080 16 GB

 Status: Offline
Profile     Report this post  
terminills 
Re: Proposed Bounties.
Posted on 22-Dec-2024 1:17:18
#8 ]
AROS Core Developer
Joined: 8-Mar-2003
Posts: 1493
From: Unknown

@Hammer

EMU68 isn't going to be expanded for that purpose. That's the purpose of a secondary bootloader. I will however adjust the AmigaOS bounty accordingly. AROS however has no need for CIA emulation or to patch the Kickstart ROM. That's the point of separating the bounties as much as possible.

Last edited by terminills on 22-Dec-2024 at 01:17 AM.

_________________
Support AROS sponsor a developer.

"AROS is prolly illegal ~ Evert Carton" intentionally quoted out of context for dramatic effect

 Status: Offline
Profile     Report this post  
agami 
Re: Proposed Bounties.
Posted on 22-Dec-2024 10:22:40
#9 ]
Super Member
Joined: 30-Jun-2008
Posts: 1855
From: Melbourne, Australia

@terminills

Love the list.

Are you planning to run the AROS bounties sequentially or in parallel?

_________________
All the way, with 68k

 Status: Offline
Profile     Report this post  

[ home ][ about us ][ privacy ] [ forums ][ classifieds ] [ links ][ news archive ] [ link to us ][ user account ]
Copyright (C) 2000 - 2019 Amigaworld.net.
Amigaworld.net was originally founded by David Doyle