Suggested: // change the hash of BIPs to your genesis hash (see the genesis section)

is your genesis hash
// do it for main, testnet and regnet.
consensus.BIP16Exception = uint256S("0x???");
consensus.BIP34Hash = uint256S("0x???");
=> you are doing an altcoin so all the BIP should start at Genesis or very early (see my last answer). So, take the hash from your blockchain and yes it should be the same as the assert.// fix the checkpoint data with your genesis hash, do it for main,testnet and regnet
checkpointData = {{{0, uint256S("0x???")},}};
=> go in your blockchain and add checkpointData = {{{blocknumber, uint256S("hash")},}}; as checkpoint so that if someone change the the blockchain on purpose, the wallets will reject the change. Do it periodically so that you solidify your blockchain against attackers. Add many checkpoints as your blockchain grows, at block 1000, 10000, 50000, 100000, etc...===========
Suggested: IsNullDummyEnabled has the same problem, do the same to that function.
Question: Cant find it?!! Is it in validation.cpp on the latest bitcoin version?
=> this I do not understand.===========
Suggested: Find this “return state.DoS(100, false, REJECT_INVALID, "bad-cb-height", false, "block height mismatch in coinbase");” and comment it.
Question: Cant find it?!! Is it in validation.cpp on the latest bitcoin version?
What I do find is this...
return state.Invalid(BlockValidationResult::BLOCK_CONSENSUS, "bad-cb-height", "block height mismatch in coinbase");
=> the genesis block will shoot this error, so you need to comment it in order to have your wallet to mine, or you will not mine.
Also all similar errors due to SEGWITH security tests needs to be commented, at least for the first blocks. SEGWITH needs to check the block before, and there is none for the first blocks... it is impossible to start mining without commenting these.
then you can reinstall all the BIP tests that were blocking the mining, let say at block 1000 for example and change chainparams.cpp accordingly.===========