English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 18 November 2015, 15:27   #1
iliak
Registered User

 
Join Date: Jan 2008
Location: somewhere
Posts: 39
Custom kickstart

Hi,

Does anyone ever tried to make a custom kickstart to replace orignal Amiga's ROM to use within WinUAE ? Any source code, toolchain, linker options ?

Thanks !
iliak is offline  
Old 18 November 2015, 19:38   #2
pandy71
Registered User
 
Join Date: Jun 2010
Location: PL
Posts: 1,690
Search EAB for "remus" "kickstart"

for example http://www.mfilos.com/2010/12/guide-...kickstart.html
pandy71 is offline  
Old 18 November 2015, 21:29   #3
iliak
Registered User

 
Join Date: Jan 2008
Location: somewhere
Posts: 39
Hi pandy71

I'm sorry, I misspoke. I'm looking for how to build from source code (asm & C) a custom kickstart rom to use within WinUAE, not to use standard rom with patches.
iliak is offline  
Old 18 November 2015, 23:28   #4
clebin
Registered User
clebin's Avatar
 
Join Date: Apr 2012
Location: Cardiff
Posts: 333
Quote:
Originally Posted by iliak View Post
Hi pandy71

I'm sorry, I misspoke. I'm looking for how to build from source code (asm & C) a custom kickstart rom to use within WinUAE, not to use standard rom with patches.
There are open-source AROS replacement ROMs which are included with WinUAE now. You can get the latest source-code and binaries from the AROS nightly builds page http://aros.sourceforge.net/nightly1.php.
clebin is offline  
Old 19 November 2015, 00:42   #5
Leffmann
 
Join Date: Jul 2008
Location: Sweden
Posts: 2,265
Quote:
Originally Posted by iliak View Post
Hi,

Does anyone ever tried to make a custom kickstart to replace orignal Amiga's ROM to use within WinUAE ? Any source code, toolchain, linker options ?

Thanks !
Yeah I've done this, it's pretty straight forward. I use vbcc and a simple Python script for building everything. I can write up a working example or just explain how it works if you'd like.
Leffmann is offline  
Old 20 November 2015, 23:25   #6
pandy71
Registered User
 
Join Date: Jun 2010
Location: PL
Posts: 1,690
Quote:
Originally Posted by iliak View Post
Hi pandy71

I'm sorry, I misspoke. I'm looking for how to build from source code (asm & C) a custom kickstart rom to use within WinUAE, not to use standard rom with patches.
Well... GIGO...
pandy71 is offline  
Old 21 November 2015, 02:17   #7
Vot
Registered User

 
Join Date: Aug 2012
Location: Australia
Posts: 648
Quote:
Originally Posted by Leffmann View Post
Yeah I've done this, it's pretty straight forward. I use vbcc and a simple Python script for building everything. I can write up a working example or just explain how it works if you'd like.

I would like to see your working example
Vot is offline  
Old 21 November 2015, 20:53   #8
iliak
Registered User

 
Join Date: Jan 2008
Location: somewhere
Posts: 39
Quote:
Originally Posted by Leffmann View Post
Yeah I've done this, it's pretty straight forward. I use vbcc and a simple Python script for building everything. I can write up a working example or just explain how it works if you'd like.
Yes, please !
iliak is offline  
Old 21 November 2015, 21:03   #9
HanSolo
Registered User

 
Join Date: Aug 2014
Location: Gdynia/Poland
Posts: 162
What exactly do you plan ? Rewrite entire kickstart to be fully optimized and patched/bugfixed ?
HanSolo is offline  
Old 21 November 2015, 21:14   #10
iliak
Registered User

 
Join Date: Jan 2008
Location: somewhere
Posts: 39
Hi HanSolo,

My plan is to make a custom ROM for the Amiga (as a hobby).
iliak is offline  
Old 21 November 2015, 21:17   #11
iliak
Registered User

 
Join Date: Jan 2008
Location: somewhere
Posts: 39
btw, for the toolchain => http://www.pouet.net/prod.php?which=65625
iliak is offline  
Old 21 November 2015, 22:49   #12
Leffmann
 
Join Date: Jul 2008
Location: Sweden
Posts: 2,265
Here's a simple example that builds a ROM that does some basic initialization of the hardware and flashes the screen a bit.

You will need vbcc, Python 3, and GNU Make or something compatible.
Attached Files
File Type: zip romdev.zip (2.1 KB, 94 views)

Last edited by Leffmann; 21 November 2015 at 22:54.
Leffmann is offline  
Old 21 November 2015, 22:52   #13
iliak
Registered User

 
Join Date: Jan 2008
Location: somewhere
Posts: 39
I'll have a look. Thanks !
iliak is offline  
Old 21 November 2015, 23:44   #14
iliak
Registered User

 
Join Date: Jan 2008
Location: somewhere
Posts: 39
Quote:
Originally Posted by Leffmann View Post
Here's a simple example that builds a ROM that does some basic initialization of the hardware and flashes the screen a bit.

You will need vbcc, Python 3, and GNU Make or something compatible.
Some minor problems in the make file (spaces instead of tabs). I'm using the toolchain from https://github.com/kusma/amiga-dev and everything runs fine.

A little question. What is the purpose of your python script ? I guess it's related to this problem. Can you explain a little more please the array autovec values ?
iliak is offline  
Old 22 November 2015, 00:48   #15
Leffmann
 
Join Date: Jul 2008
Location: Sweden
Posts: 2,265
The script is only used for adding the vector table and padding the ROM to 256KB size. The numbers are the little-endian 16-bit words 24 through 31, which are the correct vector numbers for the spurious interrupt and the level 1 through 7 interrupts.
Leffmann is offline  
Old 07 January 2016, 16:29   #16
xArtx
Registered User
 
Join Date: Jun 2013
Location: Australia
Posts: 679
When you guys are building your own ROMs and make the compiled asm modules larger or smaller by changing them,
which would also shift the offset of each of them, is a jump table used for each build for the C code to reference the asm code at run time?
So that in the end, the C code calls a lookup table that directs program counter to the right vector?

Whether or not this speculation is correct,
I imagine a programmer could know this by having started out with the OS, and then graduated to not using OS for games and demos.
xArtx is offline  
Old 08 January 2016, 00:46   #17
Leffmann
 
Join Date: Jul 2008
Location: Sweden
Posts: 2,265
No lookups or tables are needed at run-time. The linker resolves all external references when building the final binary, and all calls between files/modules will be direct jumps, regardless of what language they were written in.
Leffmann is offline  
Old 09 January 2016, 14:15   #18
xArtx
Registered User
 
Join Date: Jun 2013
Location: Australia
Posts: 679
Because that’s what a linker is! Doh!
xArtx is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
custom 1MB kickstart for A500+ Yulquen74 Hardware mods 1 20 July 2015 22:01
Help making Custom Kickstart rom Viserion Hardware mods 28 13 December 2014 05:43
Show off your custom kickstart! spoUP Amiga scene 24 04 June 2014 19:14
Help with custom 3.1 kickstart creation. Turran support.Other 6 09 January 2013 22:53
Custom Kickstart ROMs Jim Coders. General 27 24 December 2005 02:18

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 03:22.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.
Page generated in 0.12318 seconds with 14 queries